Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dynamic Branch Prediction #11

Open
strahinjapraska opened this issue Jan 19, 2024 · 4 comments
Open

Dynamic Branch Prediction #11

strahinjapraska opened this issue Jan 19, 2024 · 4 comments
Assignees

Comments

@strahinjapraska
Copy link

strahinjapraska commented Jan 19, 2024

1. Tim
Strahinja Praška RA 245/2021

2. Asistent
Aleksandra Kaplar

3. Definicija problema
Branch prediction - tehnika koja se koristi za predviđanje toka izvršavanja kondiconalnih instrukcija u cilju poboljšanja efikasnosti. Ona omogućava procesoru da pokuša da pogodi u kom će se pravcu grananje odvijati pre nego što se tačan uslov grananja evaluira. Ideja je da koristimo mašinsko učenje kako alternativu za dvobitne brojače za predviđanje.

4. Skup podataka
Kaggle Branch Prediction
Features:

  • PC of an Instruction - uint32_t - converted into binary (first 32 columns)
  • current state of GSHARE table size 64 - int8_t array - global history array of previous conditional moves in the form of saturation counters - normalized to [0,1] (next 64 columns)
  • current state of GA table - uint8_t array size 48 - global address array of previous instruction's PC(only lower 8 bits taken) converted to binary(next 48*8 columns)
  • Target Taken/Not Taken

5. Metodologija
Metode koje bi bile korišćene bi bio perceptron[1] kao najjednostavniji, ali i najpogodniji za potencijalne hardverske implementacije. Tu su i druge metode kao što su Feed-Forward neuronska mreža, Elmanova mreža[3] i CNN[2] bi takođe mogle biti iskorišćene i rezultati upoređeni(u kojoj meri vreme će odrediti).

6. Evaluacija
Glavni fokus evaluacije će biti na tačnosti predviđanja grane, metrika accuracy, podela na training i validation skup u odnosu 80-20, test skup ce biti SPEC2000 benchmark dataset.

Reference
[1] Zangeneh, S., Pruett, S., Lym, S., & Patt, Y. N. (2020). BranchNet: A Convolutional Neural Network to Predict Hard-To-Predict Branches
[2] Jiménez, D. A., & Lin, C. (2001). Dynamic Branch Prediction with Perceptrons
[3] Smith, A. (2004). Branch Prediction with Neural Networks: Hidden Layers and Recurrent Connections

@aleksandrakaplar
Copy link

Da li možete detaljnije da opišete skup podataka (šta sve sadrži)?

Potrebno je dodati opis eksperimentalne postavke. (podela trening/validacioni/test, krosvalidacija...)

Koje metrike ćete koristiti prilikom evaluacije?

@strahinjapraska
Copy link
Author

@aleksandrakaplar
Izmenjeno

@aleksandrakaplar
Copy link

Tema odobrena.
Ostavite link ka GitHub repozitorijumu projekta.
Srećan rad.

@strahinjapraska
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants