-
Notifications
You must be signed in to change notification settings - Fork 33
[Final Project] Performance Competition (substituting final exam, due: 8th of July) #168
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
Comments
Would there be some kind of a leaderboard so that we can compare against others' performance? |
@cyron1259 good idea! we will soon prepare for a leaderboard. |
As the whole compiler will be run on the final competition, I want to fuzz each optimization pass. Also, can you provide the command line argument for the compiler that will be used in the competition? |
|
Clarification: you need to observe the |
IMPORTANT UPDATE on FINAL PROJECT
|
Can you notify a specific deadline that you finalizes the benchmark codes? |
IMPORTANT: you should use So, please use
|
IMPORTANT:
|
Hi. Could you let us know the scores of some reference compilers (for example, gcc -O0 and gcc -O1)? Currently, it is hard to know whether my implementation performs well or not by only seeing the score. Also, if one tries to challenge gcc / clang -O1, those scores can be good targets. |
@Medowhill |
Thank you! I didn't notice that. |
When will be gg grader ready? |
@hestati63 I'm trying to provide the grader by tomorrow. Sorry for delay. |
|
FYI,
|
@cmpark0126 I am currently having trouble understanding the |
The address of the label |
Should we use the la-instruction only for the Nonce-object or for all global variables? |
@christofides You need to use |
So if it loads the address, we need also add lw to actually load the value of the variable? I.e.:
Edit: Another question, can LA be used to get the address of also floating point variables? (I assume this is the case but want to make sure) |
@christofides
|
Uh oh!
There was an error while loading. Please reload this page.
In turned out that we cannot physically gather for the final exam. So I decided not to take the final exam. Instead, as the substitute task, we'll have a performance competition as the final project.
For the competition, you’ll submit your entire compiler. Predefined benchmark programs will be compiled and then executed on Hifive Unleashed (the first Linux-bootable RISC-V development board), which is sponsored by SemiFive. If any of the results are wrong, you’ll be disqualified. The geometric average of the number of CPU cycles will be compared among students’ compilers and
clang -O1
.Please do whatever you can to reduce the number of cycles, e.g., by implementing more optimizations or by improving your asmgen with a better register allocation algorithm.
If your compiler is better than
clang -O1
, you’ll get A#. If your compiler is better than those of most students, you’ll get A+. Depending on the performance of your compiler, you'll get some bonus.The text was updated successfully, but these errors were encountered: