|
|
課程簡介 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
|
|
|
|