Welcome to take course CSC4005: Parallel Programming offered by The Chinese University of HongKong, Shenzhen. In this semester, you will learn the basic principal and philosophy of parallel programming, including embarrassingly parallelism, reduction, synchronization, load balancing and so on. After taking this course, you should be familiar with popular parallel programming languages for both CPU and GPU, and be able to use them to design efficient parallel programs.
- On CPU
- Vectorization
- This course now focuses on compiler directed vectorization instead of writing SIMD intrinsics.
- MPI (Message Passing Interface)
- This course now focuses on shared-memory parallel programming, and we just briefly cover MPI in Project 1.
- Pthread
- OpenMP
- Vectorization
- On GPU
- CUDA
- OpenACC
- Triton
- Project 1: Embarrassingly Parallel Programming (Image Processing)
- Duration: from September 16th (Tuesday) to October 10th (Friday)
- Project 2: Parallel Programming with Memory Locality and Reduction (Matrix Multiplication)
- Duration: from October 11th (Saturday) to October 31st (Friday)
- Project 3: Parallel Programming with Synchronization (Sorting and Searching)
- Duration: from Novmeber 1st (Saturday) to November 28th (Friday)
- Project 4: New Technologies & Applications of GPU Parallel Programming (FlashAttention)
- Duration: from November 29th (Saturday) to December 22nd (Monday)
Instructor:
- Prof.Wei-Chung HSU (徐慰中教授) [Email]\
- Office Hour: 5:00 P.M. to 6:00 P.M., Monday & Wednesday
- Location: Room 509a, Daoyuan Building (道远楼)
Teaching Assistants:
- Mr. Yuxuan LIU (刘宇轩先生, L) [Email]\
- Office Hour: 7:00 P.M. to 8:00 P.M., Wednesday
- Location: Seat No.176, Room 429, Zhixin Building(知新楼) (opposite to the former library)
Undergraduate Student Teaching Fellow (USTF):