課程大綱 Syllabus |
學生學習目標 Learning Objectives |
單元學習活動 Learning Activities |
學習成效評量 Evaluation |
備註 Notes |
序 No. | 單元主題 Unit topic |
內容綱要 Content summary |
1 | Why Parallel Computing? |
Why Parallel Computing? |
Why Parallel Computing? |
|
|
|
2 | Parallel Hardware and Parallel Software |
Modification to the Neumann Architecture
Parallel Hardware |
Parallel Hardware |
|
|
|
3 | Parallel Hardware and Parallel Software |
Parallel Software
Input and Output |
Parallel Software
Input and Output |
|
|
|
4 | Parallel Hardware and Parallel Software |
Performance Evaluation - Amdahl's Law and Scalability
Parallel Program Design |
Performance Evaluation - Amdahl's Law and Scalability
Parallel Program Design |
|
|
|
5 | Distributed-Memory Programming with MPI |
A MPI Program - Compilation and Execution
Another MPI Program for Computing pi
Input/Output in MPI |
A MPI Program - Compilation and Execution
Another MPI Program for Computing pi
Input/Output in MPI |
|
|
|
6 | Distributed-Memory Programming with MPI |
Collective Communication
MPI Derived Datatypes |
Collective Communication
MPI Derived Datatypes |
|
|
|
7 | Distributed-Memory Programming with MPI |
MPI Program's Performance Evaluation
A Parallel Sorting Algorithm |
MPI Program's Performance Evaluation
A Parallel Sorting Algorithm |
|
|
|
8 | Shared-Memory Programming with Pthreads |
Process, Threads, and Pthreads
A Pthread Program |
Process, Threads, and Pthreads
A Pthread Program - compilation and Execution |
|
|
|
9 | 期中考 |
期中考週 |
期中考週 |
|
|
|
10 | Shared-Memory Programming with Pthreads |
Critical Section
Busy-Waiting, Mutexes |
Critical Section
Busy-Waiting, Mutexes |
|
|
|
11 | Shared-Memory Programming with Pthreads |
Synchronization and Semaphores
Barriers and Conditional Variables |
Synchronization and Semaphores
Barriers and Conditional Variables |
|
|
|
12 | Shared-Memory Programming with Pthreads |
Read-Write Locks
Cache and Pthread Performance
Thread Safty |
Read-Write Locks
Cache and Pthread Performance
Thread Safty |
|
|
|
13 | Shared-Memory Programming with OpenMP |
A OpenMP Program
Scope of Variables |
A OpenMP Program
Scope of Variables |
|
|
|
14 | Shared-Memory Programming with OpenMP |
Reduction Clause
The parallel for Directive |
Reduction Clause
The parallel for Directive |
|
|
|
15 | Shared-Memory Programming with OpenMP |
Scheduling Loops
Producers and Consumers |
Scheduling Loops
Producers and Consumers |
|
|
|
16 | GPU Programming with CUDA |
CUDA Architecture
CUDA Software Development Kit (SDK) |
CUDA Architecture
CUDA Software Development Kit (SDK) |
|
|
|
17 | GPU Programming with CUDA |
SPMD Programming Model
Thread Organization and Execution Model |
SPMD Programming Model
Thread Organization and Execution Model |
|
|
|
18 | 期末考 |
期末考週 |
期末考週 |
|
|
|