欢迎来到天天文库
浏览记录
ID:27748508
大小:3.71 MB
页数:31页
时间:2018-12-05
《gpu并行计算与cuda编程02》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、GPU并行计算与CUDA编程第2课DATAGURU专业数据分析社区第一版讲师罗韵(WeChat:LaurenLuoYun)本周介绍内容 1.并行编程的通讯模式 1.1什么是通讯模式 1.2常见通讯模式的类型和原来 2.GPU硬件模式 2.1GPU,SM(流处理器),Kernel(核),threadblock(线程块),线程 3.CUDA编程模型 3.1CUDA编程模型的优点和缺点 3.2CUDA编程编程模型的一些原则 3.3CUDA内存模型 3.4同步性synchronisation和屏障barrier 3.5编程模型 4.开始编写CUDA程序 4.1GPU程序的一般步骤 4.2第一个GP
2、U程序讲解——并行求平方DATAGURU专业数据分析社区第一版讲师罗韵(WeChat:LaurenLuoYun)1.并行编程的通讯模式(CommunicationPatterns)1.1什么是通讯模式1.2通讯模式的类型和原理DATAGURU专业数据分析社区第一版讲师罗韵(WeChat:LaurenLuoYun)1.通讯模式(CommunicationPatterns) 并行计算:非常多的线程在合作解决一个问题Communication 内存:DATAGURU专业数据分析社区第一版讲师罗韵(WeChat:LaurenLuoYun)1.常见通信模式 1.映射Map 2.聚合gather 3.
3、分散scatter 4.模板stencil 5.转换transpose 6.压缩reduce 7.重排scan/sortDATAGURU专业数据分析社区第一版讲师罗韵(WeChat:LaurenLuoYun) 1.映射Map 输入输入关系:一一对应(one-to-one) 例子:每个元素倍数扩大,y[i]=3*x[i]DATAGURU专业数据分析社区第一版讲师罗韵(WeChat:LaurenLuoYun) 2.聚合gatter 输入输出关系:多对一(many-to-one) 例子:每相邻3个元素求平均,y[i]=(x[i-1]+x[i]+x[i+1])/3DATAGURU专业数据分析社区第
4、一版讲师罗韵(WeChat:LaurenLuoYun) 3.分散scatter 输入输出关系:一对多(one-to-many)DATAGURU专业数据分析社区第一版讲师罗韵(WeChat:LaurenLuoYun) 4.模板stencil:以固定的模式读取相邻的内存数值 输入输出关系:serveral-to-oneDATAGURU专业数据分析社区第一版讲师罗韵(WeChat:LaurenLuoYun) 5.转置transpose 输入输出关系:一对一(one-to-one)DATAGURU专业数据分析社区第一版讲师罗韵(WeChat:LaurenLuoYun) 6.压缩reduce 输入输
5、出关系:多对一(all-to-one)DATAGURU专业数据分析社区第一版讲师罗韵(WeChat:LaurenLuoYun) 7.重排scan/sort1234ADD13610 输入输出关系:多对多(all-to-all)DATAGURU专业数据分析社区第一版讲师罗韵(WeChat:LaurenLuoYun)1.GPU硬件模式1.1GPU,SM(流处理器),Kernel(核),threadblock(线程块),线程DATAGURU专业数据分析社区第一版讲师罗韵(WeChat:LaurenLuoYun)线程块 Kernel核:可以理解为C/C++中的一个函数functionThreadBl
6、ocks:groupofthreadblockstosolveafunctionThreadBlock:agroupofthreadsthatcooperatetosolvea(sub)problem线程块DATAGURU专业数据分析社区第一版讲师罗韵(WeChat:LaurenLuoYun)GPU SM(streammultiprocessor):流处理器simpleprocessormemory GPU:每个GPU有若干个SM,最少有1个,目前16个算大的,每个SM并行而独立运行GPUDATAGURU专业数据分析社区第一版讲师罗韵(WeChat:LaurenLuoYun)1.CUDA编
7、程模型1.1CUDA编程模型的优点和缺点1.2CUDA编程编程模型的一些原则1.3CUDA内存模型1.4同步性synchronisation和屏障barrier1.5编程模型DATAGURU专业数据分析社区第一版讲师罗韵(WeChat:LaurenLuoYun)1.CUDA编程的优点和后果 CUDA最大的特点:对线程块将在何处、何时运行不作保证。 优点: 1.硬件真正有效的运行,灵活 2.无需要线程间互相等待 3.可扩展
此文档下载收益归作者所有