平行程式設計
Parallel Programming
| 節 | 週四 |
|---|---|
3 10:10–11:00 | 平行程式設計 EDB27 3 節連堂 |
4 11:10–12:00 | |
N 12:20–13:10 |
* 根據陽明交大上課時間表所列
***According to the CECC’s (Central Epidemic Command Center) regulations in response to COVID-19, the maximum number of people allowed in one classroom is 80. However, the enrollment of this course is expected to be higher than 80. So, this course will be given online via Webex (https://nycu.webex.com/nycu/j.php?MTID=m4ec04414f5802869b55c49a500287a76).*** 本課程的主要目標,在於讓學生了解平行計算相關技術及其實作與應用。本課程可使學生學習到符合未來發展趨勢的平行計算之基礎原理與相關的實作技術,並且輔以數個平行計算相關技術的實習和實作,以達到理論與實務兼備的教學目的。
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: - You have taken a C/C++ course or have a fair amount of practical experience with C/C++ programming. For those who are not familiar with C++, you may need to study it by yourself. - You know how to connect to remote machines with ssh, scp, etc. - You know how to work on Linux systems (i.e., basic commands such as cd, rm, and running executables and GNU tools such as make and gcc).
***According to the CECC’s (Central Epidemic Command Center) regulations in response to COVID-19, the maximum number of people allowed in one classroom is 80. However, the enrollment of this course is expected to be higher than 80. So, this course will be given online via Webex (https://nycu.webex.com/nycu/j.php?MTID=m4ec04414f5802869b55c49a500287a76).***
Homework assignments (70%) Final project and presentation (30%) These weights are subject to minor variation.
- Parallel and Distributed Programming for Cloud Computing
- Introduction to parallel hardware and software
- Distributed-memory programming with MPI
- Shared-memory programming with OpenMP
- Shared-memory programming with Pthreads
- Data parallel programming with CUDA
- Data parallel programming with OpenCL
- Performance benchmarking
| 週次 | 主題 |
|---|---|
| 第 1 週 | Course introduction |
| 第 2 週 | Parallel and distributed programming |
| 第 2 週 | Parallel and distributed programming for cloud computing |
| 第 3 週 | Introduction to parallel hardware and software |
| 第 4 週 | Shared-memory programming with Pthreads |
| 第 5 週 | Shared-memory programming with Pthreads |
| 第 6 週 | Shared-memory programming with OpenMP |
| 第 7 週 | Shared-memory programming with OpenMP |
| 第 8 週 | Distributed-memory programming with MPI |
| 第 9 週 | Distributed-memory programming with MPI |
| 第 10 週 | Data parallel programming with CUDA |
| 第 11 週 | Data parallel programming with CUDA |
| 第 12 週 | Data parallel programming with OpenCL |
| 第 13 週 | Data parallel programming with OpenCL |
| 第 14 週 | Final project presentations |
| 第 15 週 | Final project presentations |
| 第 16 週 | Final project presentations |
| 第 17 週 | Final project presentations |
Peter Pacheco, An Introduction to Parallel Programming, Morgan Kaufmann; 1 edition (January 21, 2011)
- 地點
- EC532
- 時間
- TBD
- 聯絡方式
- ypyou@cs.nctu.edu.tw