Heterogeneous Parallel Programming (Coursera 2012)
English | Size: 1.20 GB
About the Course
All computing systems, from mobile to supercomputers, are becoming heterogeneous parallel computers using both multi-core CPUs and many-thread GPUs for higher power efficiency and computation throughput. While the computing community is racing to build tools and libraries to ease the use of these heterogeneous parallel computing systems, effective and confident use of these systems will always require knowledge about the low-level programming interfaces in these systems. This course is designed for students in all disciplines to learn the essence of these programming interfaces (CUDA/OpenCL, OpenMP, and MPI) and how they should orchestrate the use of these interfaces to achieve application goals.
The course is unique in that it is application oriented and only introduces the necessary underlying computer science and computer engineering knowledge needed for understanding. It covers data parallel execution model, memory models for locality, parallel algorithm patterns, overlapping computation with communication, and scalable programming using joint MPI-CUDA in large scale computing clusters. It has been offered as a one-week intensive summer school for the past four years. In the past two years, there have been ten video-linked academic sides with a total of more than two hundred students each year.
http://dizzcloud.com/dl/165efw9/Heterogeneous Parallel Programming.part1.rar
http://dizzcloud.com/dl/165efvu/Heterogeneous Parallel Programming.part2.rar
http://dizzcloud.com/dl/165efvk/Heterogeneous Parallel Programming.part3.rar
http://dizzcloud.com/dl/165efq6/Heterogeneous Parallel Programming.part4.rar