一、課程說明(Course Description)
熟悉平行程式語言及平行程式設計


二、指定用書(Text Books)

1. Parallel Programming – Techniques and applications Using Networked Workstations and
Parallel Computers, Barry Wilkinson and Michael Allen, Prentice Hall, 1999.

2. Parallel Programming in C with MPI and OpenMP, Michael J. Quinn, McGraw-Hill, 2003.

3. Intel Multi-Core Programming

三、參考書籍(References)

1. Documentation (PVM, MPI, Cilk, Pthread, TreadMark, SAM).

2. Designing and Building Parallel Programs, Ian Foster, Addison Wesley, 1995.


四、教學方式(Teaching Method)

上課


五、教學進度(Syllabus)

Lectures:
- Introduction to Parallel Computers
- Message-Passing Programming (MPI)
- Shared Memory Programming (Pthread and OpenMP)
- Distributed Shared Memory Programming (Unified Parallel C)

- Embarrassingly Parallel Computations
- Partitioning and Divide-and-Conquer Strategies
- Pipelined Computations
- Synchronous Computations
- Load Balancing and Termination Detection

- MapReduce/Spark
- CUDA GPU Computing


六、成績考核(Evaluation)

Programs - 90%
Class participation - 10%