博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
异构并行计算课程大纲
阅读量:4603 次
发布时间:2019-06-09

本文共 1699 字,大约阅读时间需要 5 分钟。

课程主要研究异构编程、大规模并行处理器的概念、语言、方法和模式,自2012年首次发布以来,异构并行编程的内容和结构在此基础上得到了显著改进,其中包括并行计算架构、数据并行编程模式,内存带宽管理技术和并行算法模式。

课程概述

从移动设备到超级计算机,所有计算机系统正朝着大规模异构并行计算机的方向发展,功效和计算能力更加突出,与此同时,计算机领域也在积极创建函数库和相关工具,为系统使用提供便利;想实现高效可靠的计算系统,了解低级编程语言是必不可少的,本课程旨在帮助学生了解低级编程接口的本质,以及如何应用这些接口实现程序目的。CUDA C语言很好地平衡了用户控件和冗长问题,将作为本课程前半部分的教学工具,学生还可以进一步学习与之密切相关的编程接口,如OpenCL,OpenACC和C++AMP。

本课程是目前唯一一套面向应用的计算机科学与工程初级课程,主要内容包括:数据并行执行模型,内存模型的地址管理,减少带宽消耗的切片技术,并行算法模式,计算与通信重叠以及各种异构并行编程接口,这些概念为大家学习其他并行编程系统奠定了坚实基础。

课程大纲

第一周:综合介绍异构计算,CUDA C语言以及基于内核的并行编程,实验概览,附编程作业:使用CUDA C语言进行向量求和。

第二周:内存模型的地址管理,节约内存带宽的切片技术,边界条件的处理以及系统性能方面的问题,附编程作业:使用CUDA C进行简单的矩阵乘法。
第三周:并行卷积模式,附编程作业:使用CUDA C进行平铺矩阵乘法。
第四周:并行扫描模式,附编程作业:基于CUDA C的卷积并行算法。
第五周:直方图并行模式和原子操作,附编程作业:基于CUDA C的并行扫描。
第六周: 数据传输与任务并行,附编程作业:基于CUDA C的直方图并行算法。
第七周:OpenCL,C++AMP和OpenACC简介,附编程作业:使用CUDA C数据流进行向量求和。
第八周:课程总结,其他相关的编程模型——Thrust,Bolt和CUDA FORTRAN,附编程作业:选择OpenCL,C++AMP或 OpenACC进行矩阵乘法。
第九周:完成剩余的实验作业,附可加分的选做编程作业,可选择OpenCL,C++AMP或OpenACC进行操作。

听取前面两位对我的批评意见,现在来重写评论

1. 课程内容:
课程内容主要可以分为三大板块,一,CUDA基础,包括硬件架构,基本编程模式以及相关API,这一部分需要参考两本书,一个是老师的推荐教材Programming Massively Parallel Processors,另一个是CUDA by Examples,后面的是API简介,CUDA编程思想主要参考前一本;二,并行计算范式,课上总共讲了Tiled Matrix Multiplication, Convolution, List Reduction, List Scan, Histogram五种范式,推荐教材Programming Massively Parallel Processors还有一种更常用的,处理Sparse Matrix的范式;三,其他并行计算语言,包括OpenCL, OpenACC和C++ AMP三类。
整体来说难度不大,是入门并行计算与CUDA的好课,但是遗憾在于编程作业不过瘾,个人感觉综合性稍微大一些的PA只有Image Equalization一个,过了这个之后的Assignments更像是只为了熟悉基本语法。Image Processing有很多非常适合练习并行计算的算法,希望未来开课时能加入更多有应用背景的编程练习。
总之还是很感谢老师的课程,目前我的Image Processing已经将CUDA整合到其中,充分利用Stream之后效率提升非常惊人,认证花钱花得还是很值得的。
下一阶段打算刷一下Udacity NVDIA开的课,进一步深入研究并行计算算法,以及并行计算在CV中的应用。

 

转载于:https://www.cnblogs.com/lifan3a/articles/4603009.html

你可能感兴趣的文章
exceptionfunction[LeetCode]Permutations
查看>>
Linux(2)_常用命令2
查看>>
自定义分页
查看>>
[转]DELPHI——调试(1)
查看>>
JS秒数转成分秒时间格式
查看>>
xp_cmdshell 命令的开启与关闭,和状态查询
查看>>
Linux sudoers
查看>>
MySQL详解(18)-----------分页方法总结
查看>>
bzoj 4595 激光发生器
查看>>
multi cookie & read bug
查看>>
js时间转换
查看>>
(转载) Android Studio你不知道的调试技巧
查看>>
POJ2231 Moo Volume 递推 C语言
查看>>
struts2类型转换的具体流程
查看>>
Hdu 1203 I NEED A OFFER!
查看>>
php文件上传类
查看>>
CF219D Choosing Capital for Treeland
查看>>
luogu P3809 【模板】后缀排序
查看>>
JVM 调优工具
查看>>
SCTF 2014 pwn题目分析
查看>>