Week 8 - GPGPU
Procedure
See subfolder Labs/Lab08/
.
For this assignment, you will need to complete the several SIMT assembly exercise files to then run on a 1 SM (with 8 HW warps) and 8 SPs (8T/warp). You will simulate your design using Vivado (not Questasim).
Prelab
Review the GPGPU Lecture slides, especially the SIMT programming lecture and corresponding recordings on D2L.
Procedure
- Download and extract the
.zip
file with the lab materials from the shared folder. - The setup and process is provided in the
ee560-gpgpu-lab-2024.pdf
file. It includes instructions for setting up Perl AND Python which you will need to “compile/assemble” your SIMT code. - You can open the Xilinx project which is located in the
syn
subfolder. The source files you need to edit are insrc/asm-mem/ICache_init
. - Use the procedure outlined in that document to update, compile, and test three exercises via simulation first. It is important that you do not rely too much on your lab partner. It may be best for each of you to arrive at the three .asm files independently. This will help you in your final exam!
- Note: For the drawing programs you can use the default memory file:
MEM_init.txt
, but for the matrix multiply (16x16 or 8x4), useMEM_init_a_1_digit_random_matrix.txt
. - Currently, we do NOT require synthesis and demoing on the FPGA. So simulation will suffice.
Submission
- Online Submission: From your
src/asm-mem/ICache_init/
andsrc/asm-mem/TM_init
folders copy over the following files to your SCF account:circle_drawing_15x15.asm
diamond_drawing_15x15.asm
matrix_mult_8x4.asm
TM_8x4_init.txt
names.txt
- Then run the 3 separate submission commands shown below.
submit -user ee560 -tag GPGPU_circle circle_drawing_15x15.asm names.txt
submit -user ee560 -tag GPGPU_diamond diamond_drawing_15x15.asm names.txt
submit -user ee560 -tag GPGPU_matrix matrix_mult_8x4.asm TM_8x4_init.txt names.txt
- Synthesis Demo NOT REQUIRED for 2025: In 2025, we do NOT require a demo using the uartAssistant and included
.ark
file.