SlideServe
Menu
Préférences
© SlideServe · v2026

Parallel Programming in C for Multiprocessor 多處理機平行程式設計

magda avatar
13 diapositives · 289 Views · Sep 05, 2014

Parallel Programming in C for Multiprocessor 多處理機平行程式設計. 朱治平 成功大學資訊工程系. Questions. What is parallel computing? What is a parallel computer? - multicomputers - centralized multiprocessors (symmetrical multiprocessor or SMP) What is parallel programming? - algorithm level

Parallel Programming in C for Multiprocessor 多處理機平行程式設計 - slide 1
01 / 13Parallel Programming in C for Multiprocessor 多處理機平行程式設計
1 / 17

Télécharger la présentation

Parallel Programming in C for Multiprocessor 多處理機平行程式設計
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  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. Prerequisites Program Design Data Structures (Helpful) Algorithms (Helpful) Computer Architecture (Helpful) Operating Systems (Helpful) 6

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

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

  9. Grading criteria for parallel programming • Coding standard (10%) • Correctness (60%) • Performance (Speedup) (30%)

  10. Teaching Assistant 姓名: 陳奇業博士 (助理研究員) Office: 雲平大樓五樓510室(軟體發展實驗室) Email: chency@csie.ncku.edu.tw

  11. Reference Books 1. Introduction to Parallel Programming Peter Pacheco Morgan Kaufmann Publishers 2. Parallel Programming in C with MPI and OpenMP Michael J. Quinn McGraw Hill Company

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

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