TOCEC
邏輯學,形上學,工程
層級: 課程資料
媒體: 影音 講義

10701平行程式

2017-09-01-2018-01-01

國立清華大學 資訊工程學系 周志遠

關鍵字: 平行程式 Parallel Programming

本課程將介紹平行計算的基礎觀念和電腦系統架構,並教授針對不同平行計算環境所設計的程式語言,包括多核心系統使用的 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 IIntroduction 
      - 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 

  

前往課程 View Course
http://ocw.nthu.edu.tw/ocw/index.php?page=course&cid=231&
https://www.youtube.com/watch?v=t_q0Tajpyso&list=PLS0SUwlYe8cxqw70UHOE5n4Lm-mXFXbZT