Presentation is loading. Please wait.

Presentation is loading. Please wait.

Parallel Programming in C for Multiprocessor 多處理機平行程式設計 朱治平 成功大學資訊工程系.

Similar presentations


Presentation on theme: "Parallel Programming in C for Multiprocessor 多處理機平行程式設計 朱治平 成功大學資訊工程系."— Presentation transcript:

1 Parallel Programming in C for Multiprocessor 多處理機平行程式設計 朱治平 成功大學資訊工程系

2 Questions What is parallel computing? What is a parallel computer? - multicomputers - centralized multiprocessors (symmetrical multiprocessor or SMP) What is parallel programming? - algorithm level - statement level Is parallel programming really necessary? Why should I program using MPI (Message Passing Interface) and OpenMP?

3 Areas with complex scientific problems Quantum chemistry, statistical mechanics, and relativistic physics Cosmology and astrophysics Computational fluid dynamics and turbulence Material design and superconductivity Biology, Pharmacology, genome sequencing, genetic engineering, protein folding, enzyme activity, cell modeling Medicine, and modeling of human organs Global weather and environmental modeling

4 Other state-of-the-art parallel programming models Cuda (proposed by Nvidia) - in GPGPU environment - C and C-extended syntax MapReduce (proposed by Google) - for data set specific parallel applications

5 Course Objective To train a student to be with the capability of (1) building a cluster of computers supporting parallel execution of program, and (2) programming parallel computers based on parallel algorithms and/or parallel statements in order to solve time- consuming scientific problems.

6 6 Prerequisites Program Design Data Structures (Helpful) Algorithms (Helpful) Computer Architecture (Helpful) Operating Systems (Helpful)

7 7 Grading Homework (50%) - Parallel Programming - Hand-written Assignments Final Exam (30%) Final Project (20%)

8 Lab Exercises 1. Building a cluster (2 persons/team) 2. Distributed memory programming in MPI - Algorithm-level parallel programming - Statement-level parallel programming - Transforming a sequential program into a parallel program 3. Shared memory programming with OpenMP 4. Parallel programming with hybrid MPI/OpenMP 5. Learning the use of parallel tools to analyze sequential program

9 Grading criteria for parallel programming Coding standard (30%) Correctness (40%) Performance (Speedup) (30%)

10 Teaching Assistant 姓名 : 朱嘉葦 ( 碩二 ) Office: 雲平大樓五樓 510 室 ( 軟體發展 實驗室 ) Email: chiaweishine@gmail.com

11 Reference Books 1. Parallel Programming in C with MPI and OpenMP Michael J. Quinn Mc Graw Hill Company 2. Using OpenMP: Portable Shared Memory Parallel Programming Barbara Chapman, Gabriele Jost, Ruud van der Pas The MIT Press

12 Web Site Web Site 12 http://casd.csie.ncku.edu.tw/ 資工系  軟體發展實驗室網頁

13 Demonstration Finding a shortest path by using ant algorithm - sequential version - parallel version


Download ppt "Parallel Programming in C for Multiprocessor 多處理機平行程式設計 朱治平 成功大學資訊工程系."

Similar presentations


Ads by Google