10701 工程學群 資訊工程學系

平行程式

周志遠 教授

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

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

News

最新公告

2024-07-10 2024年9月-11月開放式課程工讀招募至8/23(五)12:00截止,工讀履歷隨到隨審,謝謝!
2024-06-28 【2024開放式課程*超猛筆記大募集】我們深信學習不是少數人的事,而是所有人的事,敬邀您的熱血參與!!!
2024-06-11 2024暑期工讀招募至6/17(一)12:00截止!
2024-05-27 敬祝各位老師端午佳節愉快!
2024-05-16 10920趙啟超教授離散數學版書上架通知!!謝謝大家!!
2024-05-16 【12/27 白先勇與吳素君教授〡天倫之歌-《孽子》2020舞台劇的幕前、幕後演講活動分享】
2024-05-16 【開放式課程】您想知道清大有哪些優質的免費課程嗎 ? 您想提升自我競爭力、一睹大師的上課風采盡在 NTHU OCW ! !
2024-05-16 【魅力專欄】鄉民最愛迷因網站梗圖倉庫-用鄉民梗激發您的學習力 !
2024-05-16 恭賀 數學系程守慶教授獲聘為113年度「理學院終身榮譽講座教授」!
2024-05-16 【開放式課程魅力專題報導】馬斯克時間拳擊法!馬斯克是1年當8年用、而我們是8年當1年用,如何對症下藥逆轉人生一窺箇中奧秘!
2024-05-16 【2023/12/27首頁故事:動機系葉廷仁特聘教授清華學生團隊打造自動平衡摩托車】
2024-05-16 【分享是最偉大的學習】清華大學電機系〡馬席彬教授專訪!
2024-05-16 2020-2023 年度熱門課程 : 資工系周志遠教授簡介
2024-05-16 2024.3/27中技社:AI在服務領域應用研討會(線上與實體同步)敬邀您的熱情參與!
2024-02-15 【11202 開放式課程工讀招募】沒有穩定的工作、只有穩定的能力,誠摯地歡迎您加入我們的行列!!

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