- Author:
Yiqing Ma
(Hongkong University of Science and Technology ) Deep Learning , Course
Course info
Instructor:
- Dr. Qiong luo
- Friday 10:30-11:30 am RM3511
Project:
- shared-memory programming models
- message passing programming models
- used for cluster computing;
- data-parallel programming models for GPUs
Reference Book 1:
- Introduction to Parallel Programming peter pacheco
- programming massibely parallel processors: gpu programming
Lab :
- RM 4214 Cuda gpu
- Friday Lecture
Grade:
- Programming Assignments - 50%
- Final examination - 50%
- Honor code obserbed
- 30 A 5 A- 4 A+ 5 B 1 B-
Course
- Parallel Computer Architectures
- Review on OS and Computer Architectures
- Principles of parallel algorithm design
- 1.Shared-memory programming models:
- Pthreads
- OpenMP
- 2.Message passing programming models
- MPI: the Message Passing Interface
- 3.Data-parallel programming models for gpu
- NVIDIA GPU architecture and CUDA C
- opencl
- An intelligent solutions
- Now it’s up to the programmers
- Why we need ever-increasing performance
- Protein folding
- Drug discovery Energy Climate model (computing)
- Why we’re building parallel systems
- Problem
- Denser transistors -> faster processors
- Faster processors -> increased power consumption
- Increased power consumption -> increased heat
- Increased heat -> unreliable processors
- core = central processing unit(cpu)
- Why we need to write parallel programmers
- Approaches to the serial problem
- rewrite serial programs so that they’re parallel
- write translation programs that automatically convert serial programs into parallel programs (sucess has been limited due to hardness)
- More problems about translation
- Rewrite serial programs so that they’re parallel
- Example
- Coordination
- Terminology
- Concurrent computing in progress
- in a program multiple tasks can be in progress at any instant.
- Parallel computing
- in a program multiple taks cooperate closely to solve a problem
- Distributed computing
- a program may need to cooperate with other programs to solve a problem
- Concurrent computing in progress
- Concluding remarks