Parallel Programming @ NYCU, Spring 2021

Announcement

General Information

Course name: Parallel Programming 平行程式(在職專班)

Class time: Rabc (Thursdays)

Class location: EC015(工程三館)

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

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 (02/25) Course introduction L0 HW0 release  
2 (03/04) Parallel and distributed programming L1    
3 (03/11) Introduction to parallel hardware and software L2 HW1 release  
4 (03/18) Shared-memory programming with Pthreads L3-1    
5 (03/25) Shared-memory programming with Pthreads L3-2 HW2 release, HW1 due  
6 (04/01) Shared-memory programming with OpenMP L4-1    
7 (04/08) Shared-memory programming with OpenMP L4-2 HW3 release, HW2 due  
8 (04/15) Distributed-memory programming with MPI L5-1 L5-2    
9 (04/22) Data parallel programming with CUDA L6 HW4 release, HW3 due  
10 (04/29) Data parallel programming with CUDA      
11 (05/06) Data parallel programming with OpenCL L7 HW5 release, HW4 due  
12 (05/13) Data parallel programming with OpenCL / OpenACC L8    
13 (05/20) Hadoop and MapReduce programming L9 HW6 release, HW5 due  
14 (05/27) Final project presentations      
15 (06/03) Final project presentations   HW6 due  
16 (06/10) Final project presentations      
17 (06/17) Final project presentations      

Textbook

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

Course Project

See the project page for details.

Grading

Grades will be assigned based on

These weights are subject to minor variation.

References

History of the Course