校際選修

115-1 選課時程

進行中

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

平行程式設計

Parallel Programming

學期
110-1
學分
3 學分
當期課號
5263
永久課號
IOC5181
開課單位
資訊科學與工程研究所
授課教師
游逸平
校區
光復
類別
選修
上課時間表
週四
3
10:10–11:00
平行程式設計
EDB27
3 節連堂
4
11:10–12:00
N
12:20–13:10

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

概述

***According to the CECC’s (Central Epidemic Command Center) regulations in response to COVID-19, the maximum number of people allowed in one classroom is 80. However, the enrollment of this course is expected to be higher than 80. So, this course will be given online via Webex (https://nycu.webex.com/nycu/j.php?MTID=m4ec04414f5802869b55c49a500287a76).*** 本課程的主要目標,在於讓學生了解平行計算相關技術及其實作與應用。本課程可使學生學習到符合未來發展趨勢的平行計算之基礎原理與相關的實作技術,並且輔以數個平行計算相關技術的實習和實作,以達到理論與實務兼備的教學目的。

先修科目

This course assumes that you write good code in C/C++ and are familiar with the Linux environment. You will write a lot of C/C++ code running on remote Linux machines, and also use profiling tools to analyze the performance of programs. Requirements: - You have taken a C/C++ course or have a fair amount of practical experience with C/C++ programming. For those who are not familiar with C++, you may need to study it by yourself. - You know how to connect to remote machines with ssh, scp, etc. - You know how to work on Linux systems (i.e., basic commands such as cd, rm, and running executables and GNU tools such as make and gcc).

教學方式

***According to the CECC’s (Central Epidemic Command Center) regulations in response to COVID-19, the maximum number of people allowed in one classroom is 80. However, the enrollment of this course is expected to be higher than 80. So, this course will be given online via Webex (https://nycu.webex.com/nycu/j.php?MTID=m4ec04414f5802869b55c49a500287a76).***

評分方式

Homework assignments (70%) Final project and presentation (30%) These weights are subject to minor variation.

課程大綱
  • Parallel and Distributed Programming for Cloud Computing
  • Introduction to parallel hardware and software
  • Distributed-memory programming with MPI
  • Shared-memory programming with OpenMP
  • Shared-memory programming with Pthreads
  • Data parallel programming with CUDA
  • Data parallel programming with OpenCL
  • Performance benchmarking
週次計畫
週次主題
第 1 週Course introduction
第 2 週Parallel and distributed programming
第 2 週Parallel and distributed programming for cloud computing
第 3 週Introduction to parallel hardware and software
第 4 週Shared-memory programming with Pthreads
第 5 週Shared-memory programming with Pthreads
第 6 週Shared-memory programming with OpenMP
第 7 週Shared-memory programming with OpenMP
第 8 週Distributed-memory programming with MPI
第 9 週Distributed-memory programming with MPI
第 10 週Data parallel programming with CUDA
第 11 週Data parallel programming with CUDA
第 12 週Data parallel programming with OpenCL
第 13 週Data parallel programming with OpenCL
第 14 週Final project presentations
第 15 週Final project presentations
第 16 週Final project presentations
第 17 週Final project presentations
教科書

Peter Pacheco, An Introduction to Parallel Programming, Morgan Kaufmann; 1 edition (January 21, 2011)

Office Hours
地點
EC532
時間
TBD
聯絡方式
ypyou@cs.nctu.edu.tw