Parallel Programming @ NCTU, Fall 2020

Announcement

General Information

Class time: 4CDX (10:00-13:00 on Thursdays)

Class location: EDB27

Facebook group: Link

Refer to the SYLLABUS for more details.

People

Member Name Email Office hours Location
Instructor Prof. Yi-Ping You (游逸平) ypyou [at] cs.nctu.edu.tw By appointment EC532
TA An-Chi Liu (劉安齊) acliu [at] cs.nctu.edu.tw By appointment EC618
TA Yu-Sheng Hsieh (謝宇勝) yshsieh [at] cs.nctu.edu.tw By appointment EC618
TA Yi-Yang Chao (趙益揚) yychao [at] cs.nctu.edu.tw By appointment EC618
TA Yi-An Chen (陳奕安) yachen [at] cs.nctu.edu.tw By appointment EC618

You may also mail to PP-f20 [at] sslab.cs.nctu.edu.tw. All TAs will receive the mail.

Prerequisites

This course assumes that you write good code in C/C++ and are familiar with the Linux environment. You will write a lot of C/C++ code running on remote Linux machines, and also use profiling tools to analyze the performance of programs.

Requirements:

Overview

This course examines current research in parallel and cloud computing, with an emphasis on several programming models. Topics covered include

Week-by-week Schedule

Week Lecture Slides Assignments Peer-review comments
1 (9/17) Course introduction L0 HW0 release  
2 (9/24) Parallel and distributed programming L1    
3 (10/1) Moon Festival      
4 (10/8) Introduction to parallel hardware and software L2 HW1 release  
5 (10/15) Shared-memory programming with Pthreads L3-1    
6 (10/22) Shared-memory programming with Pthreads L3-2 HW2 release, HW1 due  
7 (10/29) Shared-memory programming with OpenMP L4-1    
8 (11/05) Shared-memory programming with OpenMP L4-2 HW3 release, HW2 due  
9 (11/12) Distributed-memory programming with MPI L5-1 L5-2    
10 (11/19) Data parallel programming with CUDA L6 HW4 release, HW3 due  
11 (11/26) Data parallel programming with CUDA      
12 (12/03) Data parallel programming with OpenCL L7    
13 (12/10) Data parallel programming with OpenCL / OpenACC L8 HW5 release, HW4 due  
14 (12/17) Final project presentations      
15 (12/24) Final project presentations   HW6 release, HW5 due  
16 (12/31) Final project presentations      
17 (01/07) Final project presentations   HW6 due  

Textbook

Peter Pacheco, An Introduction to Parallel Programming, Morgan Kaufmann; 1 edition (January 21, 2011).

Course Project

See here for details.

Grading

Grades will be assigned based on

These weights are subject to minor variation.

References

History of the Course