Heterogeneous Parallel Programming

开始时间: 04/22/2022 持续时间: 9 weeks

所在平台: CourseraArchive

课程类别: 计算机科学

大学或机构: University of Illinois at Urbana-Champaign( 伊利诺伊大学厄巴纳 - 香槟分校)

授课老师: Wen-mei W. Hwu

课程主页: https://www.coursera.org/course/hetero

课程评论: 4 个评论

评论课程        关注课程

课程详情

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.

课程大纲

  • Week One: Introduction to Heterogeneous Computing and a Quick Overview of CUDA C and MPI, with lab setup and programming assignment of vector addition in CUDA C
  • Week Two: Kernel-Based Data Parallel Programming and Memory Model for Locality, with programming assignment of simple and tiled matrix multiplication.
  • Week Three: Performance Considerations and Task Parallelism Model, with programming assignment in performance tuning.
  • Week Four: Parallel Algorithm Patterns – Reduction/Scan, stencil computation and Sparse computation, with programming assignment of reduction tree.
  • Week Five: MPI in a Heterogeneous Computing Cluster: domain partitioning, data distribution, data exchange, and using heterogeneous computing nodes, with programming assignment of a MPI-CUDA application.
  • Week Six: Related Programming Models – OpenACC, CUDA FORTRAN, C++AMP, Thrust, and important trends in heterogeneous parallel computing, with final exam.

课程评论(4条)

0

The_Seventh_Heaven 2014-01-27 12:15 0 票支持; 0 票反对

正在上,总体来说质量还行,讲了Cuda编程的入门,编程作业感觉很优秀,不过因为亚洲老师的英语水平,听起来没有那种行云流水的感觉。

1

课程图谱 2013-05-28 21:17 1 票支持; 0 票反对

无意中发现有同学在CSDN上写了这门课程的系列学习笔记: Heterogeneous Parallel Programming(异构并行编程)学习笔记 ,在这里留个链接,感兴趣的同学可以提前预习一下。

0

wzyer 2013-05-17 09:19 0 票支持; 0 票反对

就是讲CUDA的,额……不知为啥听过几个亚洲人的课都觉得不够给力。这个课……还行吧,学到了CUDA的基础知识,几个编程作业也还不错。不过算不上精品。个人觉得学习CUDA还是Udacity上那个课比较好。

1

yongsun 2013-05-13 01:43 1 票支持; 0 票反对

对GPU编程的各种principles和best practices有不错的介绍,不过老师讲的不是很流畅,PA的环境(特别是评分系统)也颇受诟病,希望后期有更好的改进…

课程简介

This course teaches the use of CUDA/OpenCL, OpenACC, and MPI for programming heterogeneous parallel computing systems. It is application oriented and only introduces necessary technological knowledge to solidify understanding.

课程标签

GPU CUDA OpenCL MPI 并行编程 异构并行编程 并行编程模型 伊利诺伊大学香槟分校

43人关注该课程

主题相关的课程

Coding the Matrix: Linear Algebra through Computer Science Applications 关注

关注

Functional Programming Principles in Scala 关注

Ruby 关注

Programming Languages 关注

Creative, Serious and Playful Science of Android Apps 关注

关注

Learn to Program: The Fundamentals 关注

High Performance Scientific Computing 关注

Fundamentals of Digital Image and Video Processing 关注