This document is based on lab2-src/README.md, lab2-src/lab2_simd/README.md, and lab2-src/lab2_cuda/README.md. Lab 2 contains two independently graded parallel programming assignments:
| Assignment | Directory | Topic | Submission File |
|---|---|---|---|
| SIMD | lab2_simd/ |
SIMD vectorization with sv128 |
lab2_simd.cpp |
| CUDA | lab2_cuda/ |
GPU parallel programming with NVIDIA CUDA | lab2_cuda.cu |
Each assignment grades exactly one source file. Do not split your solution across multiple .cpp, .cu, or .h files, and do not define main() in your submitted file. The OJ uses TA-provided test programs and official build commands for grading.
This course uses GitHub Classroom. Because the original TA source repository and the old student forks are no longer connected, do not use the old lab2 repository for this assignment.
Before starting or continuing Lab 2, accept the new GitHub Classroom assignment:
https://classroom.github.com/a/rGhgx1nD
GitHub Classroom will create a new lab2-new repository for you. Use this new repository for both the SIMD and CUDA submissions. The old lab2 repository will not be deleted, but the OJ will not fetch code from the old lab2 repository.
Recommended local setup:
git clone <your-lab2-new-repository-url>
cd lab2-new-<your-github-id>
If you already wrote code in the old lab2 repository, copy only your solution files into the corresponding paths in the new lab2-new repository, then commit and push from the new repository. Do not rely on git pull or "Sync fork" in the old repository to receive the updated assignment.
All assignments are graded on Taiwania 2. You should compile and test your code on Taiwania 2 before submission so that your compiler, libraries, and performance environment match the OJ.
The OJ grading flow is:
lab2-new GitHub Classroom repository.