The course involves 8 programming lab assignments of steadily growing complexity.
All assignments will involve programming a massively parallel GPU system using CUDA, which is a popular commercial language extension of C/C++ for GPU programming. Assignments involve tasks such as matrix multiplication, convolution, reduction, histogramming, and sparse matrix-vector multiplication.