教學大綱表 (112學年度 第1學期)
請遵守智慧財產權,勿使用非法影印教科書,避免觸法。
課程名稱
Course Title
(中文) 平行程式設計
(英文) Parallel Programming
開課單位
Departments
資訊工程學系
課程代碼
Course No.
I4350
授課教師
Instructor
柯振揚
學分數
Credit
3.0 必/選修
core required/optional
選修 開課年級
Level
大四
先修科目或先備能力(Course Pre-requisites):程式設計
課程概述與目標(Course Overview and Goals):本課程旨在使同學了解如何於多處理器電腦系統(記憶體共享)或分散式電腦系統(記憶體不共享)上設計平行程式,在分散式電腦系統上常用MPI來設計, 在多處理器電腦系統常用Pthreads及OpenMP來設計,目前常見的圖形處理單元GPU (Graphic Processing Unit)是一種多處理器電腦系統,而在GPU上常用CUDA來設計;本課程藉由學習如何使用MPI, Pthreads, OpenMP及CUDA等應用程式界面(API)來訓練學生平行程式設計的能力。
教科書(Textbook) "An Introduction to Parallel Programming" by Peter S. Pacheco, Morgan Kaufmann, 2011
"Programming Massively Parallel Processors" , second edition, by David B. Kirk and Wen-mei W. Hwu, Morgan Kaufmann, 2012
參考教材(Reference) Introduction to Parallel Computing, second edition, by Ananth Grama, Anshul Gupta, Gerorge Karypis, and Vipin Kumar, Addison-Welsley, 2003
圖書館電子書(E-book of the Library) "Multicore and GPU programming: an integrated approach" by Barlas, Gerassimos, Morgan Kaufmann, 2015.
http://www.sciencedirect.com/science/book/9780124171374
課程大綱 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 期末考 期末考週 期末考週  
彈性教學週活動規劃

No.
實施期間
Period
實施方式
Content
教學說明
Teaching instructions
彈性教學評量方式
Evaluation
備註
Notes


教學要點概述:
1.自編教材 Handout by Instructor:
□ 1-1.簡報 Slids
□ 1-2.影音教材 Videos
□ 1-3.教具 Teaching Aids
□ 1-4.教科書 Textbook
□ 1-5.其他 Other
□ 2.自編評量工具/量表 Educational Assessment
□ 3.教科書作者提供 Textbook

成績考核 Performance Evaluation: 期末考:30%   期中考:30%   彈性教學:10%   作業:30%  

教學資源(Teaching Resources):
■ 教材電子檔(Soft Copy of the Handout or the Textbook)
■ 課程網站(Website)
扣考規定:http://eboard.ttu.edu.tw/ttuwebpost/showcontent-news.php?id=504