課程名稱 |
平行與分散式程式設計 Parallel and Distributed Programming |
開課學期 |
100-1 |
授課對象 |
電機資訊學院 資訊網路與多媒體研究所 |
授課教師 |
洪士灝 |
課號 |
CSIE7210 |
課程識別碼 |
922 U3970 |
班次 |
|
學分 |
3 |
全/半年 |
半年 |
必/選修 |
選修 |
上課時間 |
星期二6,7,8(13:20~16:20) |
上課地點 |
資107 |
備註 |
總人數上限:30人 |
Ceiba 課程網頁 |
http://ceiba.ntu.edu.tw/1001PDP2011F |
課程簡介影片 |
|
核心能力關聯 |
核心能力與課程規劃關聯圖 |
課程大綱
|
為確保您我的權利,請尊重智慧財產權及不得非法影印
|
課程概述 |
『平行與分散式程式設計』為運用多處理機系統與雲端運算平台所必備的知識與技能,本課程教授平行程式設計與分散式雲端運算相關技術,包括常見的平行與分散式程式設計語言,如MPI, OpenMP, CUDA, MapReduce等,使學生能應用多處理機系統與雲端運算平台。本課程為大學部高年級與研究所選修課程,除了課程講授之外,也要求學生自行研讀教材,進行實驗,尋找研究題材,以及完成期末專題。 |
課程目標 |
本課程的目標在於讓修課同學:
- 學習平行化程式及演算法
- 使用MPI, OpenMP, CUDA, MapReduce等平行程式語言開發程式
- 在雲端計算平台實作平行化程式,以瞭解雲端計算相關之效能要素
- 培養尋找研究題材與進行研究之專業能力 |
課程要求 |
本課程為大學部高年級與研究所選修課程,除了課程講授之外,也要求學生自行研讀教材,進行實驗,以及設計期末專題。學生需具備下列課程基礎:
- 計算機結構
- 程式設計
- 作業系統 |
預期每週課後學習時數 |
|
Office Hours |
|
指定閱讀 |
1. Peter Pacheco, An Introduction to Parallel Programming, Elsevier, 2011. ISBN: 9780123742605
|
參考書目 |
1. Hesham El-Rewini and Mostafa Abo-El-Barr, Advanced Computer Architecture and Parallel Processing, Wiley, 2005
2. Jason Sanders and Edward Kandrot, CUDA by Example: An Introduction to General-Purpose GPU Programming, Addison-Wesley, 2011
3. Jimmy Lin and Chris Dyer. Data-Intensive Text Processing with MapReduce. Morgan and Claypool Publishers, 2010.
|
評量方式 (僅供參考) |
No. |
項目 |
百分比 |
說明 |
1. |
Final Project |
30% |
|
2. |
Research Survey |
20% |
|
3. |
Exercises |
30% |
|
4. |
Participation |
20% |
Discussion, Quiz |
|
週次 |
日期 |
單元主題 |
第1週 |
2011/09/13 |
Introduction |
第2週 |
2001/09/20 |
Parallel Hardware and Parallel Software (1) |
第3週 |
2011/09/27 |
Parallel Hardware and Parallel Software (2) |
第4週 |
2011/10/04 |
Distributed-Memory Programming with MPI |
第5週 |
2011/10/11 |
MPI (continued) |
第6週 |
2011/10/18 |
Shared-Memory Programming with Pthreads and OpenMP |
第7週 |
2011/10/25 |
Shared-Memory Programming with Pthreads and OpenMP (II) |
第8週 |
2011/11/01 |
Basic MapReduce Programming |
第9週 |
2011/11/08 |
教師出國參加學術會議,由助教帶領討論作業,講解PThreads,以及由研究生介紹與課程相關的研究專題 |
第10週 |
2011/11/15 |
校慶放假一天 |
第11週 |
2011/11/22 |
MapReduce |
第12週 |
2011/11/29 |
MapReduce, Data Parallel Programming, CUDA |
第13週 |
2011/12/06 |
Presentation of Final Project Proposals |
第14週 |
2011/12/13 |
CUDA |
第15週 |
2011/12/20 |
Parallel Computer Architecture |
第16週 |
2011/12/27 |
Mobile Cloud Computing, Machine-to-Machine (M2M), Internet of Things (IoT) |
第17週 |
2012/01/03 |
Future Trends |
第18週 |
2012/01/10 |
Final Project Demo |
第19週 |
2012/01/16 |
Final Project Report. The sample files are posted. PaperSample.docx is the suggested format. The other 3 files are the better reports from the previous semester. |
|