10701 工程學群 資訊工程學系

平行程式

周志遠 教授

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

News

最新公告

2024-11-20 113年資訊月 「傑出資訊人才獎」 選拔活動得獎名單如下:(12位)
2024-11-13 11/13-11/15 OE Global
2024-11-04 白先勇清華文學講座 5〡文學 X 電影二重奏❤️溫馨小提醒! 
2024-10-16 【EMI英語教學精進中心】歡迎申請「清華英語授課專業成長伴飛計畫」10/28截止! 【Center for EMI Excellence】Apply Now!
2024-10-07 恭喜趙啟超教授榮獲2024臺灣開放教育優良課程獎OCW組優選〡線性代數
2024-09-23 【 2024未來科技獎名單 】揭曉本校共有14件關鍵指標技術獲獎。恭喜馬席彬教授、曾繁根教授、金雅琴教授 ! 恭喜各位老師 !!
2024-09-18 白先勇清華文學講座4〡文化的記憶與重建 〡台灣篇❤️倒數計時上架中 !
2024-09-18 WE open We share !
2024-09-13 庖丁解牛擴散與相變化,材料系朝和大師帶你乘著理論飛向應用!
2024-09-12 恭喜潘詠庭教授榮獲國科會113年度吳大猷先生紀念獎
2024-09-06 【本日熱燒頭條】黃倉秀教授材料熱力學1.2課程完整版講義上傳囉!!! 謝謝倉秀老師❤️
2024-09-03 資工系周百祥教授作業系統(全英文授課)講義新鮮發行中!
2024-08-15 【創意小學堂– 動畫懶人包立馬打造您的動畫魂!】
2024-08-14 【11202 開放式課程工讀招募】沒有穩定的工作、只有穩定的能力,誠摯地歡迎您加入我們的行列!!
2024-08-14 2024.3/27中技社:AI在服務領域應用研討會(線上與實體同步)敬邀您的熱情參與!

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