10701 工程學群 資訊工程學系

平行程式

周志遠 教授

資訊工程學系
國立清華大學資訊工程學系特聘教授 
美國加州大學聖地牙哥分校 博士
【經歷】國立清華大學106.109.112學年校傑出教學獎
【網站】http://lsalab.cs.nthu.edu.tw/home/
【授課】作業系統、平行程式、雲端程式設計
【專長】分散式系統、雲端計算、高效計算、系統資源管理
【特色】https://www.youtube.com/watch?v=UH0Wnwb9WX0&ab_channel=NTHUOCW

News

最新公告

2025-02-06 2023 引領教學潮流 : 大學教授的魅力品牌之路 !
2025-02-06 教師備課一定要知道3件事分享報導 ! (20221101)
2025-02-03 【 NTHU OCW × EMI 】Let our professors' engaging teaching bring color to your learning memories!
2025-01-08 周志遠教授〡作業系統 - 全集字幕版
2025-01-03 ❤ 開放式課程授權合作推薦 Open Course Cooperation Recommendation ❤
2025-01-03 【2025開放式課程工讀招募】沒有穩定的工作、只有穩定的能力,誠摯地歡迎您加入我們的行列!!滿!
2024-12-25 11301白先勇清華文學講座 5〡文學 X 電影二重奏課程活動花絮
2024-12-23 【隨時❤️開放式課程*超猛筆記大募集】我們深信學習不是少數人的事,而是所有人的事,敬邀您的熱血參與!!!
2024-12-10 【白先勇教授:文學改編電影──從《玉卿嫂》改編講起】報名至【12月13日(五)17:00截止】!
2024-12-06 【開放式課程魅力專題報導】馬斯克時間拳擊法!馬斯克是1年當8年用、而我們是8年當1年用,如何對症下藥逆轉人生一窺箇中奧秘!
2024-12-04 【轉發EMI中心】12/10(二) 黃舒屏教授提升EMI課堂學習動機的實用技巧,誠摯地歡迎您踴躍報名! ! !
2024-12-02 2024/12/18 白先勇教授【白先勇文學改編電影-從《玉卿嫂》改編講起】於旺宏館國際會議廳舉行「即將放報名」!!!請您留意相關訊息,謝謝您!
2024-11-25 恭喜潘詠庭教授榮獲國科會113年度吳大猷先生紀念獎
2024-11-25 庖丁解牛擴散與相變化,材料系朝和大師帶你乘著理論飛向應用!
2024-11-25 白先勇清華文學講座4〡文化的記憶與重建 〡台灣篇❤️倒數計時上架中 !

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

Links

Details