2 項進行中

115-1 選課時程

進行中

  • 初選第一階段 6/15 – 6/18
  • 初選第二階段 6/22 – 6/25
  • 校際選修 進行中 8/24 – 9/18
  • 初選第三階段 8/31 – 9/3
  • 開學後加退選 進行中 9/7 – 9/21
  • 逾期加退選 9/21 – 9/24
選課資源

加入行事曆

選擇訂閱 Google Calendar,或下載通用的 ICS 檔案。

使用 Google Calendar 時,Google 會收到這份課表的公開連結。

平行程式設計

Parallel Programming

學期
106-1
學分
0 學分
當期課號
5094
永久課號
GEE9018
開課單位
電機工程學系
授課教師
溫宏斌
校區
光復
類別
選修
上課時間表
週三
7
15:30–16:20
平行程式設計
ED713(光復)
3 節連堂
8
16:30–17:20
9
17:30–18:20

* 根據陽明交大上課時間表所列

概述

This course aims at the training of programming with multiple processing units for high-performance applications. Two different kinds of parallel architectures including shared-memory (multi-core) and distributed-memory (multi-machine) systems are covered. For multi-core programming, we will introduce Pthread, Open Multi-Processing (OpenMP) and Compute Unified Device Architecture (CUDA) for parallel programming. For multi-machine programming, we mainly focus Message Passing Interface (MPI) and Map/Reduce if time permits. Various parallel architectures, programming models, programming techniques, and applications are also covered in lectures. Meanwhile, extensive in-class machine laboratories are required in this course.

先修科目

本課程考量設備容量之限制故有設立修課資格優先權與名額上限 === 20170913(三) 第一堂上課請務必出席 下午3:40我們將會依照優先權順序開始登記修課資格 (亦即在線上處理本課程之加退選事宜) 並且當天會有課堂程式鑑定考試 通過者才具備資格選修 請欲選課同學務必準時出席,不便之處尚請見諒~

備註

無備註

教學方式

教師未提供此項資料

評分方式

4 Programming Assignments:20% Midterm Exam:25% Finally Exam:25% Term Project:30%

課程大綱
  • Introduction to Parallel Computing (Architectures and Algorithms)

    The main purpose of the topic is to give a solid overview of the important aspects of parallel computer architectures that play a role for parallel programming and the development of efficient parallel programs.

    講授:
    6
  • Shared Memory Programming (Pthread and OpenMP)

    This topic considers the development of parallel programs for shared address spaces and describes Pthread and OpenMP techniques to obtain efficient parallel programs. Many examples help to understand the relevant concepts and to avoid common programming errors that may lead to low performance or may cause problems like deadlocks or race conditions.

    講授:
    12
    實作:
    6
  • Distributed Shared Memory Programming with MPI

    This topic considers the development of parallel programs for distributed address spaces. In particular, a detailed description of Message Passing Interface (MPI) is given, which is by far the most popular programming environment for distributed address spaces. Important features and library functions of MPI are also covered.

    講授:
    6
    實作:
    6
  • Parallel Program Development

    講授:
    6
  • Massively parallel (CUDA) programming

    The topic describes the architecture of GPUs and concentrates on the programming environment CUDA (Compute Unified Device Architecture) from NVIDIA. A short overview of OpenCL is also given in this topic.

    講授:
    12
    實作:
    9
週次計畫
週次主題
第 1 週

Syllabus and Screening Programming Test

2017/09/13
第 2 週

Introduction to Parallel Programming and their Architecture

2017/09/20
第 3 週

Pthread Programming (Part 1)

2017/09/27
第 4 週

中秋節國定假日

2017/10/04
第 5 週

Pthread Programming (Part 2)

2017/10/11
第 6 週

OpenMP Programming (Part 1)

2017/10/18
第 7 週

OpenMP Programming (Part 2)

2017/10/25
第 8 週

Midterm Review - nBody

2017/11/01
第 9 週

Midterm Exam (machine test)

2017/11/08
第 10 週

MPI Programming (Part 1)

2017/11/15
第 11 週

MPI Programming (Part 2)

2017/11/22
第 12 週

Parallel Program Development (Part 1)

2017/11/29
第 13 週

Parallel Program Development (Part 2)

2017/12/06
第 14 週

CUDA/GPU Programming (Part 1)

2017/12/13
第 15 週

CUDA/GPU Programming (Part 2)

2017/12/20
第 16 週

CUDA/GPU Programming (Part 3)

2017/12/27
第 17 週

CUDA/GPU Programming (Part 4)

2018/01/03
第 18 週

Project Presentation

2018/01/10
教科書

1.(Reference) Parallel Programming for Multicore and Cluster Systems, Thomas Rauber and Gudula Runger, 1st Edition, Springer-Verlag, 2010 2.(Reference) Parallel Programming in C with MPI and OpenMP, Michael J. Quinn, McGraw-Hill, 2003. 3.(Reference) An Introduction to Parallel Programming, Peter Pacheco, Morgan Kaufmann Publishers Inc., 2012. 4.Other supplementary materials from Intel, NVIDIA and etc.

Office Hours
地點
ED700
時間
Office Hours: Wednesdays 13:30-15:20
聯絡方式
email: opwen@g2.nctu.edu.tw / phone: ext 31273