一、課程說明(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%