10701 工程學群 資訊工程學系

平行程式

周志遠 教授

資訊工程學系
國立清華大學資訊工程學系  教授 
加州大學聖地牙哥分校     博士

【經歷】 國立清華大學106.109學年校傑出教學獎
【網站】 http://lsalab.cs.nthu.edu.tw/home/
【授課】 作業系統、平行程式、雲端程式設計
【專長】 分散式系統、雲端計算、高效計算、系統資源管理

News

最新公告

2023-09-15 恭喜! !!數學系高淑蓉教授〡榮獲2023年全國開放教育優良課程獎!
2023-09-01 2023年|楊佳嫻教授最新著作《以脆弱冶金》
2023-08-31 【9/5(二)14:00-17:00開放式課程系統維護通知】
2023-08-30 程守慶教授複變數函數論課程!
2023-08-14 112學年度第2學期國立清華大學傑出教學助理獲獎名單!
2023-08-03 【開放式課程魅力專題報導】馬斯克時間拳擊法!馬斯克是1年當8年用、而我們是8年當1年用,如何對症下藥逆轉人生一窺箇中奧秘!
2023-08-03 2023年程守慶教授最新著作【數學導論】!
2023-07-04 【11201開放式課程暑期工讀招募!】
2023-07-04 高淑蓉老師教你(妳)如何學習微積分!
2023-07-04 【高淑蓉教授高等微積分1.2】看高姐姐如何用魔仗般的神奇粉筆,將群魔亂舞的數學符號一收服!
2023-07-04 【學習無藩籬─把清大老師帶回家!】
2023-07-04 【核能是我的專業,教育是我的事業】跟著敏兒教授來趟熱血的核能之旅吧!
2023-06-28 20220829語音辨識軟體-華華測試初探版!
2023-06-27 張元教授《資治通鑑》選讀:兩晉-史書上的故事,把過去的世界帶進我們的心靈裡!
2023-06-16 12/26白先勇清華文學講座3:中西小說經典 - 伴您一同迎接2023年!

Syllabus

課程大綱

本課程將介紹平行計算的基礎觀念和電腦系統架構,並教授針對不同平行計算環境所設計的程式語言,包括多核心系統使用的 Pthread、OpenMP, 叢集計算使用的MPI, GPU使用的CUDA, 以及分散式系統使用的MapReduce計算框架。修課同學必須使用 這些平行計算的語言和工具完成5個程式作業,並且以程式的執行效能結果作為學習的評量標準。 

 

 

課程說明
Course Description       

           本課程將介紹平行計算的基礎觀念和電腦系統架構,並教授針對不同平行計算環境所設計的程式語言,包括多核心系統使用的 PthreadOpenMP, 叢集計算使用的MPI, GPU使用的CUDA, 以及分散式系統使用的MapReduce計算框架。修課同學必須使用 這些平行計算的語言和工具完成5個程式作業,並且以程式的執行效能結果作為學習的評量標準。 

 

指定用書
Textbooks

♠  Parallel Programming– 

Techniques and applications Using Networked Workstations and Parallel Computers, Barry Wilkinson and Michael Allen, Prentice Hall, 1999. 
Parallel Programming in C with MPI and OpenMP, Michael J. Quinn, 

McGraw- Hill, 2003. 
Intel Multi-Core Programming 

      

 

參考書籍
 References

♠  Documentation

(PVM, MPI, Cilk, Pthread, TreadMark, SAM) 
Designing and Building Parallel Programs, Ian Foster, Addison Wesley, 1995. 


 
 

教學進度
Syllabus


Part I Introduction 
       - Introduction to Parallel Computers  
 
     - Introduction to Parallel Computing 
 
Part II  Parallel Programming
 
 
     - Message-Passing Programming (MPI)  
 
     - Shared Memory Programming (Pthread and OpenMP) 
 
Part III  Parallel Computing Techniques 
       - Embarrassingly Parallel Computations  
 
     - Partitioning and Divide-and-Conquer Strategies  
 
     - Pipelined Computations  
 
     - Synchronous Computations  
 
     - Load Balancing and Termination Detection 
 
 
 Part IV  GPU Programming 
      - Heterogeneous computing  
 
    - CUDA programming model  
 
    - GPU Architecture & Multi-GPU  
 
    - Advanced CUDA Programming & Optimization 
 
 Part V  Distributed Programming 
      - MapReduce  
 
    - Hadoop Programming 

  

Keyword

關鍵字

  • 平行程式
  • Introduction to Parallel Programming
  • Parallel I/O and Parallel Program Analysis
  • Synchronization Construct
  • Parallel Sorting and Pipelined Computations
  • Heterogeneous Computing
  • Parallel Programming Model on GPU

Teachers

周志遠 教授

Social Share

Details