Branch Prediction Competition

Click here for an 8MB tar file that contains the infrastructure for the branch prediction competition. Browse the contents of the infrastructure here.

This software is in a state of change, so check frequently for updates.

Contest Rules

Here are some rules: Your predictor will be evaluated on a set of traces that have not been distributed. That is, you will design your predictor with the distributed traces on this web site, but a different set will be used to rank the traces and determine the winner. This is to avoid having your algorithm be tuned too precisely to a given set of traces so that it will be a more general branch predictor.

What to Turn In

Turn in your code as a file named src.tar.gz that unpacks into the src directory. That is, you should compress your src directory with "tar -cvzf src.tar.gz src" and turn in the resulting file. Turn it in through Canvas by the due date announced. Your code will be evaluated with this script that will be in the cbp2-infrastructure-v3 directory. Try this script out on linux.cse.tamu.edu to see if it works. If it doesn't work with that script on that machine, then it won't work when we grade it. (We may use different traces than the ones provided in the infrastructure.)

Your code must be well-commented. It must compile cleanly under Linux with g++ version 4.8.5. It must run without errors. It is recommended that you consult with the professor or TA to make sure your code will work well before the deadline. Late projects will not be accepted for any reason.

Your writeup will be graded according to the following standards: : it must be a conference-quality paper describing how your predictor works in your own words, with references to the relevant literature (at least 3 citations). Turn in your writeup as a PDF file through Canvas.

The Winner

The student or group with the most accurate predictor will receive a "valuable prize" to be determined later. The winner will be announced in class.