教學大綱表
請遵守智慧財產權,勿使用非法影印教科書,避免觸法。
課程名稱 (中文) 平行程式設計
(英文) Parallel Programming
開課單位 資訊工程學系
課程代碼 I4350
授課教師 柯振揚
學分數 3.0 必/選修 選修 開課年級 大四
先修科目或先備能力:程式設計
課程概述與目標:本課程旨在使同學了解如何於多處理器電腦系統(記憶體共享)或分散式電腦系統(記憶體不共享)上設計平行程式,在分散式電腦系統上常用MPI來設計, 在多處理器電腦系統常用Pthreads及OpenMP來設計,目前常見的圖形處理單元GPU (Graphic Processing Unit)是一種多處理器電腦系統,而在GPU上常用CUDA來設計;本課程藉由學習如何使用MPI, Pthreads, OpenMP及CUDA等應用程式界面(API)來訓練學生平行程式設計的能力。
教科書 "An Introduction to Parallel Programming" by Peter S. Pacheco, Morgan Kaufmann, 2011
"Programming Massively Parallel Processors" , second edition, by David B. Kirk and Wen-mei W. Hwu, Morgan Kaufmann, 2012
參考教材 Introduction to Parallel Computing, second edition, by Ananth Grama, Anshul Gupta, Gerorge Karypis, and Vipin Kumar, Addison-Welsley, 2003
圖書館電子書 "Multicore and GPU programming: an integrated approach" by Barlas, Gerassimos, Morgan Kaufmann, 2015.
http://www.sciencedirect.com/science/book/9780124171374
課程大綱 學生學習目標 單元學習活動 學習成效評量 備註
單元主題 內容綱要
1 Why Parallel Computing? Why Parallel Computing? Why Parallel Computing?
  • 討論
  • 講授
  •  
    2 Parallel Hardware and Parallel Software Modification to the Neumann Architecture
    Parallel Hardware
    Parallel Hardware
  • 討論
  • 講授
  •  
    3 Parallel Hardware and Parallel Software Parallel Software
    Input and Output
    Parallel Software
    Input and Output
  • 討論
  • 講授
  •  
    4 Parallel Hardware and Parallel Software Performance Evaluation - Amdahl's Law and Scalability
    Parallel Program Design
    Performance Evaluation - Amdahl's Law and Scalability
    Parallel Program Design
  • 討論
  • 講授
  • 作業
  •  
    5 Distributed-Memory Programming with MPI A MPI Program - Compilation and Execution
    Another MPI Program for Computing pi
    Input/Output in MPI
    A MPI Program - Compilation and Execution
    Another MPI Program for Computing pi
    Input/Output in MPI
  • 討論
  • 講授
  •  
    6 Distributed-Memory Programming with MPI Collective Communication
    MPI Derived Datatypes
    Collective Communication
    MPI Derived Datatypes
  • 討論
  • 講授
  •  
    7 Distributed-Memory Programming with MPI MPI Program's Performance Evaluation
    A Parallel Sorting Algorithm
    MPI Program's Performance Evaluation
    A Parallel Sorting Algorithm
  • 討論
  • 講授
  • 作業
  •  
    8 Shared-Memory Programming with Pthreads Process, Threads, and Pthreads
    A Pthread Program
    Process, Threads, and Pthreads
    A Pthread Program - compilation and Execution
  • 討論
  • 講授
  •  
    9 期中考 期中考週 期中考週
  • 期中考
  •  
    10 Shared-Memory Programming with Pthreads Critical Section
    Busy-Waiting, Mutexes
    Critical Section
    Busy-Waiting, Mutexes
  • 討論
  • 講授
  •  
    11 Shared-Memory Programming with Pthreads Synchronization and Semaphores
    Barriers and Conditional Variables
    Synchronization and Semaphores
    Barriers and Conditional Variables
  • 討論
  • 講授
  • 作業
  •  
    12 Shared-Memory Programming with Pthreads Read-Write Locks
    Cache and Pthread Performance
    Thread Safty
    Read-Write Locks
    Cache and Pthread Performance
    Thread Safty
  • 討論
  • 講授
  •  
    13 Shared-Memory Programming with OpenMP A OpenMP Program
    Scope of Variables
    A OpenMP Program
    Scope of Variables
  • 討論
  • 講授
  •  
    14 Shared-Memory Programming with OpenMP Reduction Clause
    The parallel for Directive
    Reduction Clause
    The parallel for Directive
  • 討論
  • 講授
  • 作業
  •  
    15 Shared-Memory Programming with OpenMP Scheduling Loops
    Producers and Consumers
    Scheduling Loops
    Producers and Consumers
  • 討論
  • 講授
  •  
    16 GPU Programming with CUDA CUDA Architecture
    CUDA Software Development Kit (SDK)
    CUDA Architecture
    CUDA Software Development Kit (SDK)
  • 討論
  • 講授
  • 作業
  •  
    17 GPU Programming with CUDA SPMD Programming Model
    Thread Organization and Execution Model
    SPMD Programming Model
    Thread Organization and Execution Model
  • 討論
  • 講授
  • 曠課次數
  •  
    18 期末考 期末考週 期末考週
  • 期末考
  • 學期總成績
  •  

    教學要點概述:
    教材編選: ■ 自編教材 ■ 教科書作者提供
    評量方法: 期末考:30%   期中考:30%   其他評量:10%   作業:30%  
    教學資源: ■ 教材電子檔 □ 課程網站
    扣考規定:http://eboard.ttu.edu.tw/ttuwebpost/showcontent-news.php?id=504