MPI 平行計算
教師: 黃 杰森

2015/03/20 ~ 2015/06/04
17小時/9週 (報名結束)

摘要

隨著電腦科技的發展,平行計算機的進步也是一日千里。在各個研究領域裡,平行計算所扮演的角色可以說是與日劇增。因為平行計算機可以快速的處理大量的資料與進行計算,在日益要求準確及快速求解的情形下,使用平行計算變成了現代科學人的必備技能。本課程希望透過熟悉Message Passing Interface (MPI) 這個標準語法,進而帶領學生瞭解當代平行計算機的架構與平行演算法等相關知識,進而培養學生學習新一代平行計算機的能力。 備註:德國馬克是少數將數學家放在錢幣的國家。

課程目標

本課程希望透過熟悉Message Passing Interface (MPI) 這個標準語法,進而帶領學生瞭解當代平行計算機的架構與平行演算法等相關知識,進而培養學生學習新一代平行計算機的能力。

授課教師

黃杰森

黃杰森老師的研究方向在於多孔媒體流,區域分割法,無網格法,金融數學及平行計算。黃杰森老師先後執行遠距課程,開放式課程及磨課師課程,自1999年起便先後在國立中山大學開設平行計算課程。

課程進度表

第1週:Unit 1. Introduction to Parallel Computing

第2週:Unit 2. Dichotomy of Parallel Computing Platforms

第3週:Unit 3. Communication Costs in Parallel Machines

第4週:Unit 4. Analytical Modeling of Parallel Systems

第5週: Midterm Exam

第6週:Unit 5. Collective Communication and Computation Operations

第7週:Unit 6. Topologies and Embedding

第8週:Unit 7. Using MPI for Simple I/O

第9週:Unit 8. Accessing Arrays Stored in Files

第10週:Unit 9. Introduction to Remote Memory

第11週:Final Exam

課程內容

週次

教學單元主題

教學單元影片

1

Introduction to Parallel Computing

1-1介紹平行計算

1-2介紹平行計算在各領域的運用

Trends in Microprocessor Architectures

1-3介紹微處理器的架構

1-4記憶體與平行計算的關係

2

Dichotomy of Parallel Computing Platforms

2-1平行計算的分類

2-2SIMD and MIMD 處理器

2-3Shared Space 與Message Passing平臺

3

Communication Costs in Parallel Machines

3-1平行計算的傳遞成本

Programming Using the Message Passing Paradigm

3-2Message-Passing的基本架構

3-3基本MPI指令Send Recv

4

Analytical Modeling of Parallel Systems

4-1平行計算的效率評估方式

4-2瞭解Analytical Model

Scalability of Parallel Systems

4-3分析speed up 及effencicy

4-4Cost optimal 執行時間

5

Collective Communication and Computation Operations

5-1群組傳遞訊息(一)

5-2群組傳遞訊息(二)

Non-Parallel I/O

5-3如何進行輸入輸出

5-4如何使用單一結點

Understand deadlock

5-5基本MPI指令Sendrecv_Replace

5-6瞭解MPI_Datatype

6

Topologies and Embedding

6-1瞭解如何建立高維拓樸結點

6-2MPI_Cart_create

Groups and Communicators

6-3結點間的群組關係

6-4瞭解MPI_Cart_sub

7

Using MPI for Simple I/O

7-1瞭解平行I/O

7-2瞭解MPI_File_open

Noncontiguous Accesses

7-3平行I/O 進階

7-4瞭解MPI_File_set_view

8

Accessing Arrays Stored in Files

8-1瞭解如何使用ghost region

8-2瞭解MPI_Type_create_subarray

Achieving High I/O Performance with MPI

8-3瞭解四階段的平行I/O

8-4瞭解MPI_File_read_all

9

Introduction to Remote Memory Operations

9-1瞭解Remote Memory Operations

9-2瞭解MPI_Win_create

實際算例

9-3平行計算線性方程式求解

9-4平行計算偏微分方程方程式求解

上課形式

課程預計上課時間為18節(50分鐘/節),分成9單元,每單元分成兩小節,總上課時間為80分鐘,習題講解與討論20分鐘,預計上課時間為9週。
每一小節皆先製作教學檔案,隨即製作教學錄影檔,教學錄影檔與教學檔案(以PDF檔型式)都會上傳於網站以供學員自行下載閱讀,並配合課後練習與線上評量等活動以瞭解學員之吸收狀況。
透過多功能的教學網站的各項功能,我們希望能在學生學習過程能夠隨時隨地得到需要的幫助,譬如本站包括上課的所有資源,教材,上課課程影片,學生可於課前或課後,得到上課的材料。

評分標準

  • 作業:50%
  • 期中考:25%
  • 期末考:25%

通過標準


課程及格標準:70分滿分:100分

先修科目或先備能力

具備基本計算機程式語言撰寫能力之學生,如c或c++。

建議參考書目

Using MPI-2, Advanced Features of the Message-Passing Interfaceby William Gropp, Ewing L. Lusk and Rajeev Thakur. The MIT Press.