craymichael / CBP-16-Simulation

Branch predictor simulation, analysis, and Python compatibility for the 5th Championship Branch Prediction in 2016 (CBP-16)
15 stars 3 forks source link

unable to download file from http://hpca23.cse.tamu.edu/cbp2016 #3

Closed 245950258 closed 1 year ago

245950258 commented 1 year ago

Hi, I can not download file from http://hpca23.cse.tamu.edu/cbp2016/, the website is closed?

craymichael commented 1 year ago

Hi, thanks for pointing this out! Yes it looks like this is the case. Fortunately, it looks like I still have these files on my computer - I could not find them anywhere else online. I have gone ahead and uploaded these file to a Google Drive folder. Here is the updated procedure for acquiring the files:

  1. Download all of the files from this Google Drive link and place them in the data folder
  2. Proceed with the setup_cbp16.sh script as normal

Let me know how this goes!

245950258 commented 1 year ago

Thanks a lot, I have downloaded all files from Google Drive to my computer. To my surprise, the trace file was so huge that it took me a long time to download. On this weekend, I will try to install.

245950258 commented 1 year ago

Thanks, I have executed simnlog.py and succesfully generated .dat file. Then,. I have plot the branch prediction result as a graph. I have two questions:

  1. why .dat files occupy huge space, what content simnlog.py save?
  2. default sinpython uses a dummy predictor that always predicts taken. If I want to test tage predictor for example, I just need to use python to call c function? Both dummy_predictor.py and predictor.h have GetPrediction, UpdatePredictor, TrackOtherInst functions.
craymichael commented 1 year ago
  1. Files are large as they generate a lot of data for post hoc analysis, such as the attributes 'branchTaken', 'predDir', 'conditional', 'opType', 'branchTarget', and 'PC'. These files can be read into Python for analysis
  2. To run the C++ predictors, you can use the simnlog steps in the README. By default, this runs the TAGE predictor and logs while evaluating. The simpython script simulates a Python predictor in the same way as C++ predictors - the only difference being it is Python. One can write a custom predictor to evaluate and analyze
craymichael commented 1 year ago

I'm going to close this for now, but if you have any more questions feel free to reply!