cs420
cs420 copied to clipboard
[Final Homework] Performance Competition (due: 6/18)
Performance Competition.
-
instruction
- https://docs.google.com/presentation/d/1SqtU-Cn60Sd1jkbO0OSsRYKPMIkul0eZoYG9KpMugFE/edit#slide=id.g8085bd6ec8_44_0
- Since your solution will be linked with some driver, you need to follow the LP64D ABI, which is the default ABI of RV64G ISA.
- RVG Calling Convention: 18.2 of https://riscv.org/wp-content/uploads/2015/01/riscv-calling.pdf
- Godbolt's reference solution to
exotic_arguments.c
: https://godbolt.org/z/bzn6v7Pf8
- Use
la
pseudo instruction instead ofHI20
andLO12
pair: https://github.com/kaist-cp/cs420/issues/168#issuecomment-653044107 - Check that your code does not have unaligned memory access.
- The stack pointer should always be kept 16-byte aligned. (p3 of https://riscv.org/wp-content/uploads/2015/01/riscv-calling.pdf)
- Also refer to #467 and the model solution (TBA).
-
self grader: https://github.com/kaist-cp/kecc-public#run-benchmark-for-performance-competition
- It will build your compiler, build benchmark codes, run them, and measure the elapsed CPU cycles. The average is your score (lower is better).
-
submission: run
./scripts/make-submissions.sh
and then submitfinal.zip
.- TBA
- There is 10 minute timeout for each submission.
-
leaderboard
- TBA
- The next score on the leaderboard will be updated to the minimum of # of cycles on the leaderboard and # of cycle of the last successful submission on gg.
- due: 6/18 23:59:59 (KST = UTC+9)
-
tips
- https://github.com/kaist-cp/cs420/issues/406
- https://github.com/kaist-cp/cs420/issues/410