E-Course首頁
 114 學年度 第 2 學期 資訊工程學系 陳宗禧教師 平行計算 課程大綱
課程簡介   Course Introduction
開課年度學期
Year / Term
114 學年度 第 2 學期
開課班級
Department
資訊工程學系 資工四、碩合選
Department of Computer Science and Information Engineering
授課方式
Instructional Method
課堂教學 、 中文
課程電腦代號
Course Reference Number
159030
課程名稱(中文)
Course Title(Chinese)
平行計算
課程名稱(英文)
Course Title(English)
Parallel computing
學分數/時數
Credit Hours
3 / 3
必(選)修
Required / Elective Course
選修 Elective
授課老師
Instructor
陳宗禧
助教
Teaching Assistant
張書瑋
上課時間
Meeting Time
星期三,節次3
Wed, Period 3、4、5
上課教室
Classroom
ZB302/ZB302
Office Hours
陳宗禧:2244/4545

獲獎及補助情形   Awards and Grants

聯合國永續發展目標 (SDGs跨域類別)   Sustainable Development Goals, SDGs
SDGs 09. 工業化、創新及基礎建設:建立具有韌性的基礎建設,促進包容且永續的工業,並加速創新
Industry, Innovation and Infrastructure:Build resilient infrastructure, promote inclusive and sustainable industrialization and foster innovation

課程目標   Learning Objectives
平行計算技術已廣泛應用於各類運算平台,從嵌入式系統、行動裝置、個人電腦到雲端資料中心,皆以高度平行化架構作為效能提升的重要基礎。隨著人工智慧與高速運算需求的迅速成長,如何在平行機器上有效運行演算法與應用程式已成為核心關鍵技術。因此,本課程旨在培養學生具備平行演算法設計能力與平行程式開發技能,以因應現代計算環境之挑戰。
課程內容將涵蓋主要平行程式設計模型,包括共享式記憶體平行計算模式(shared-memory programming model)、訊息傳遞平行計算模式(message passing programming model)以及資料平行計算模式(data-parallel programming model)。透過理論與實務的結合,學生將學習多核心 CPU 上之 OpenMP 程式設計方法,以及 GPU 上 CUDA 等資料平行運算技術。同時,課程亦將引導學生建立平行計算之效能評估概念,理解其背後的架構與理論基礎。
本課程期望學生於修課後能掌握平行計算原理,熟練主流平行程式語言與工具,並具備開發高效平行化應用之專業能力。
 

先修 ( 前置 ) 課程   Prerequisite
程式設計、計算機結構 

彈性教學規劃   Flexible Teaching/Planning Schedules
*本課程實施16+2週彈性教學方案,其中第17、18週之彈性規劃如下:
自主學習

課程大綱   Course Syllabus
週次
Week
課程單元大綱
Unit
教學方式
Instructional Method/Style/Teaching Style
參考資料或相關作業
References or Related Materials
評量方式
Grading
1 課程介紹&平行計算簡介 教學、討論、引導     
2 平行電腦架構的簡介 教學、討論、引導     
3 平行演算法的設計與分析 教學、討論、引導     
4 程式在平行機器上分析模型介紹 教學、討論、引導     
5 了解平行程式效率的分析與模型 教學、討論、引導     
6 多核心平行程式設計 教學、討論、引導    實作 
7 OpenMP共享式記憶體平行程式設計實作 教學、討論、引導    實作  
8 期中考試 考試  授課範圍   期中評量  
9 OpenMP共享式記憶體平行程式設計-Task Parallelism 教學、討論、引導    實作 
10 GPU架構介紹 教學、討論、引導    實作 
11 CUDA資料平行程式設計初探-Grids, Blocks, and Threads 教學、討論、引導    實作 
12 CUDA資料平行程式設計實作 教學、討論、引導    實作 
13 CUDA資料平行程式設計實作-Reduction Programming 教學、討論、引導    實作 
14 CUDA資料平行程式設計實作-矩陣相乘 教學、討論、引導    實作 
15 CUDA資料平行程式設計實作-AI 加速設計 教學、討論、引導    實作 
16 期末考試 考試  授課範圍  期末評量 
17 學生自主學習 平行計算最新科技論文研讀與實作(1)  研讀心得與程式實作  線上心得與實作繳交評量 
18 學生自主學習 平行計算最新科技論文研讀與實作(2)   研讀心得與程式實作   線上心得與實作繳交評量 


單一課程對應校能力指標程度   The Degree to Which Single Course Corresponds to School Competence
編號
No.
校核心能力
School Core Competencies
符合程度
Degree of conformity
1 公民力 (Citizen) 4
2 自學力 (Self-learning) 5
3 資訊力 (Information) 5
4 創造力 (Creativity) 4
5 溝通力 (Communication) 4
6 就業力(Employability) 5

單一課程對應系能力指標程度   The Degree to Which Single Course Corresponds to Department Competence
編號
No.
類別
Category
系核心能力
Department Core Competencies
符合程度
Degree of conformity
01 系所 具備資訊工程領域之基本知識及程式設計能力 4
02 系所 擁有資訊軟體及硬體系統設計、實作、整合及管理的能力 5
03 系所 運用數學強化邏輯性思考,增進處理資訊工程問題的能力 4
04 系所 具有獨立思考並自行解決問題的能力 4
05 系所 自動發現問題並主動蒐集、分析資料,達成自我學習的能力 4
06 系所 維持良好人際互動、溝通與團隊合作的能力 4
07 系所 訓練足夠抵抗環境壓力與時間管理的能力 4
08 系所 資訊工程倫理及實務之歸納評比及實務能力與表達能力 4
09 系所 掌握資訊科技之國際變化趨勢 5
10 系所 明瞭國內外資訊產業與社會發展的能力 5

單一課程對應院能力指標程度   The Degree to Which Single Course Corresponds to College Competence
編號
No.
院核心能力
College Core Competencies
符合程度
Degree of conformity
1 語文能力 4
2 溝通與合作能力 4
3 創新與實踐能力 4
4 專業知能 5


教科書或參考用書   Textbooks or Reference Books
館藏書名   Library Books
備註   Remarks
教科書及參考用書
(一)教科書
1. Introduction to Parallel Computing, Second Edition, Ananth Grama, George Karypis, Vipin Kumar, Anshul Gupta, Addison-Wesley, 2003.
2. An Introduction to Parallel Programming, 1st Edition, Peter Pacheco, Morgan Kaufmann, January 2011.
3. Multicore and GPU Programming-An Integrated Approach, 2nd Edition, Gerassimos Barlas, Morgan Kaufmann, 2022.

(二)參考用書
1. Parallel Programming in C with MPI and OpenMP, Michael J. Quinn, McGraw-Hill, June 2003.
2. The CUDA Handbook: A Comprehensive Guide to GPU Programming, Nicholas Wilt, Addison-Wesley Professional, June 2013.

※請尊重智慧財產權,不得非法影印教科書※
※   Please respect intellectual property rights and do not illegally photocopy textbooks.  ※

教學方法   Teaching Method
教學方法
Teaching Method
百分比
Percentage
講述 60 %
實作 40 %
總和  Total 100 %

成績評量方式   Grading
評量方式
Grading
百分比
Percentage
平時成績(含出缺席) 10 %
程式實作&實驗 40 %
期中考試 25 %
期末考試 25 %
總和  Total 100 %

成績評量方式補充說明   
1. 平時成績(含出缺席) (10%)
2. 程式實作&實驗 (40%)
3. 期中考試 (25%)
3. 期末考試 (25%)
 

課程大綱補充資料   Supplementary Material of Course Syllabus