ImageVerifierCode 换一换
格式:PPTX , 页数:34 ,大小:3.88MB ,
资源ID:4607096      下载积分:12 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4607096.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(GPU入门技术介绍.pptx)为本站上传会员【丰****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

GPU入门技术介绍.pptx

1、GPUGPU简介简介GPU研究现状研究现状GPU内部架构内部架构CUDA编程模型编程模型CUDA存储器模型存储器模型CUDA程序实例程序实例CUDA程序优化程序优化GPU简介单核处理器芯片已经到了尽头Power Wall功耗大Memory Wall存储器延迟很难降低,缓存占据70%芯片面积GPU简介多核和众核时代多个适当复杂度、低功耗核心并行工作时钟频率基本不变未来计算机硬件不会更快,但会更“宽”必须重新设计算法“Multicore:This is the one which will have the biggest impact on us.We have never had a prob

2、lem to solve like this.A breakthrough is needed in how applications are done on multicore devices.”-Bill Gates,MicrosoftGPU简介GPU,Graphics Processing Unit的简写,是现代显卡中非常重要的一个部分,其地位与CPU在主板上的地位一致,主要负责的任务是加速图形处理速度。GPU是一个高度并行化的多线程、多核心处理器。GPU简介GPU/CPU计算能力比较GPU简介GPU/CPU存储器带宽比较GPU简介市场迫切需要实时、高清晰度的 3D 图形,可编程的 GP

3、U 已发展成为一种高度并行化、多线程、多核心的处理器,具有杰出的计算能力和极高的存储器带宽。GPU极大提升了计算机图形处理的速度、增强了图形的质量,并促进了与计算机图形相关其他应用领域的快速发展。与中央处理器(Central Processing Unit,CPU)的串行设计模式不同,GPU为图形处理设计,具有天然的并行并行特性。GPU简介型号型号适用用户适用用户GeForce家庭和企业的娱乐应用,面向游戏用户Quadro应用于图形工作站,面向专业级用户Tesla用于高性能通用计算,面向研究人员Tegra适用于移动设备Ion上网本GPU研究现状NVIDIA在1999年推出了第一款GPU产品Ge

4、Force 256。主要任务是进行图形渲染任务,缓解CPU压力。从GPU诞生那天开始,其发展脚步就没有停止下来,由于其独特的体系架构和超强的浮点运算能力,人们希望将某些通用计算问题移植到GPU上来完成以提升效率,出现了所谓的GPGPU(General Purpose Graphic Process Unit),但是由于其开发难度较大,没有被广泛接受。2006年NVIDIA推出了第一款基于Tesla架构的GPU(G80),GPU已经不仅仅局限于图形渲染,开始正式向通用计算领域迈进。GPU研究现状2007年6月,NVIDIA推出了CUDA(Computer Unified Device Archi

5、tecture计算统一设备结构)。CUDA是一种将GPU作为数据并行计算设备的软硬件体系。在CUDA 的架构中,不再像过去GPGPU架构那样将通用计算映射到图形API中,对于开发者来说,CUDA 的开发门槛大大降低了。CUDA 的编程语言基于标准C,因此任何有C 语言基础的用户都很容易地开发CUDA 的应用程序。由于这些特性,CUDA在推出后迅速发展,被广泛应用于石油勘测、天文计算、流体力学模拟、分子动力学仿真、生物计算、图像处理、音视频编解码等领域。GPU内部架构CPU:强控制弱计算,更多资源用于缓存CPU:强计算弱控制,更多资源用于数据计算GPU内部架构GPU体系架构在不断的发展,以GT2

6、00体系架构为代表对GPU的并行层次进行分析。Tesla GT200由两部分组成,分别是可伸缩流处理器阵列(Scalable Streaming Processor Array,SPA)和存储器系统,它们由一个片上互联网络连接。如下图所示,可伸缩流处理器阵列由若干个线程处理器群(Thread Processing Cluster,TPC)构成,每个TPC包含23个流多处理器(Streaming Multiprocessor,SM),每个流多处理器中包含8个流处理器(StreamingProcessor,SP)。流处理器有独立的寄存器和指令指针,但缺少取指和调度单元,而流多处理器才拥有完整前端,

7、包括取值、译码、发射等。从结构上看,每个流多处理器相当于一个8路单指令流多数据流(Single Instruction Multiple Data,SIMD)处理器,不同的是,GPU实现了自动向量机化,NVIDIA将之命名为单指令流多线程(Single Instruction Multiple Thread,SIMT)GPU内部架构前进GPU内部架构在GPU中,流多处理器才能被称为真正的完整核心,整个可伸缩流处理器阵列可以被看成是由多个流多处理器组成的多单指令流多线程(Multiple SIMT,MSIMT)系统。Tesla GT200架构在可编程性和灵活性与硬件的复杂度和功耗之间取得了很好的

8、折衷,线程被组织成多个线程块(Thread Block),分配到各个流多处理器上,而每个线程块内的线程再被以单指令流多线程的方式交给流处理器运行。GPU内部架构由于CPU和GPU设计目标的不同导致了两者在架构、并行层次和性能方面差异较大:CPU的重线程与GPU的轻线程CPU的MIMD多核与GPU的SIMT众核(x7560)CPU内存、缓存与GPU存储器GPU是以大量线程实现面向吞吐量的数据并行计算,适合于处理计算密度高、逻辑分支简单的大规模数据并行负载;而CPU则有复杂的控制逻辑和大容量的缓存减小延迟,擅长复杂逻辑运算。GPU编程CUDAOpenCLOpenCL(全称Open Computin

9、g Language,开放运算语言)是第一个面向异构系统通用目的并行编程的开放式、免费标准,也是一个统一的编程环境,便于软件开发人员为高性能计算服务器、桌面计算系统、手持设备编写高效轻便的代码,而且广泛适用于多核心处理器(CPU)、图形处理器(GPU)。CUDA编程模型CUDA的基本思想是支持大量的线程级并行(Thread Level Parallel),并在硬件中动态地调度和执行这些线程。异构思想Host+Device(Coprocessor)让GPU来运行一些能够被高度线程化的代码。GPU与CPU协同工作,GPU只有在计算高度数据并行任务时才发挥作用。CUDA编程模型调用kernel函数时

10、CPU调用API将显卡端程序的二进制代码传到GPUgrid运行在SPA上block运行在SM上thread运行在SP上返回CUDA编程模型grid block threadKernel不是一个完整的程序,而只是其中的一个关键并行计算步骤Kernel以一个网格(Grid)的形式执行,每个网格由若干个线程块(block)组成,每一个线程块又由最多512个线程(thread)组成。一个grid最多可以有65535*65535个block一个block总共最多可以有512个thread,在三个维度上的最大值分别为512,512和64CUDA编程模型grid之间通过global memory交换数据bl

11、ock之间不能相互通信,只能通过global memory共享数据,不要让多个block写同一区段内容(不保证数据一致性和顺序一致性)同一block内的thread可以通过shared memory和同步实现通信block间粗粒度并行,block内thread细粒度并行CUDA编程模型warpwarp是硬件特性带来的概念,在CUDA C语言中是透明的(除vote函数),但应用中不能忽略一个warp中有32个线程,这是因为SM中有8个SP,执行一条指令的延迟是4个周期,使用了流水线技术一个half warp中有16个线程,这是因为执行单元的频率是其他单元的两倍,每两个周期才进行一次数据传输CUD

12、A编程模型分支性能与现代的微处理器不同,NVIDIA的SM没有预测执行机制-没有分支预测单元(Branch Predicator)。在需要分支时,只有当warp中所有的线程都计算出各自的分支的地址,并且完成取指以后,warp才能继续往下执行。如果一个warp内需要执行N个分支,那么SM就需要把每一个分支的指令发射到每一个SP上,再由SP根据线程的逻辑决定需不需要执行。这是一个串行过程,此时SIMT完成分支的时间是多个分支时间之和。CUDA存储器模型RegisterLocalSharedGlobalConstantTextureHost memoryPinned host memoryCUDA存

13、储器模型CUDA对C的扩展:kernel执行参数运算符,用来传递一些kernel执行参数 Grid的大小和维度Block的大小和维度外部声明的shared memory大小stream编号CUDA存储器模型执行参数与内建变量的作用各个thread和block之间的唯一不同就是threadID和BlockID,通过内建变量控制各个线程处理的指令和数据CPU运行核函数时的执行参数确定GPU在SPA上分配多少个block,在SM上分配多少个threadCUDA存储器模型CUDA driver APICUDA runtime API CUDA程序模板main()/Allocate memory on

14、GPUfloat*Md;cudaMalloc(void*)&Md,size);/Copy data from CPU to GPUcudaMemcpy(Md,M,size,cudaMemcpyHostToDevice);/Call GPU kernel functionkernel(arguments);/Copy data from GPU back to CPUCopyFromDeviceMatrix(M,Md);/Free device matricesFreeDeviceMatrix(Md);CUDA程序实例矩阵乘法矩阵乘法时间复杂度是O(abc),其中a b c分别表示两个矩阵大小是

15、a b以及b c.实验环境CPU:Intel(R)Xeon(R)E5430 2.66GHz(8核)内存:DDR3 1333 4GGPU:Tesla C2050(448核)显存:GDDR5 3GCUDA程序实例测试数据a=b=c=1024a=b=c=2048算法CPU单线程CPU多线程GPUCUDA程序实例实验结果1024*10242048*2048CPU单线程4568.300781ms557428.375000msCPU多线程606.676025ms193791.609375msGPU17.434999ms113.415001加速比351174CUDA程序优化active block每个SM最

16、多可以有768(G8x,G9x)或者1024(GT200)个active thread这些active thread最多可以属于8个block还有受到SM中shared memory和register的制约最后的active block数量是由以上四个条件中的“短板”决定CUDA程序优化指令优化选用计算复杂度较小的算法,处理字长为32bit并行度高,粗粒度并行多,细粒度并行有局部性分支映射成固定运算,展开代码避免循环在精度允许的前提下使用带有_前缀的快速算法,只在必要的部分使用双精度和64-bit int使用移位运算代替整数除法和求余使用vote,atomic,red等intrinsic函数实现算法只在线程间通信前进行同步CUDA程序优化存储器访问优化对显存的I/O成本很高,提高两次对显存访问之间的计算量,通过同时计算与访存隐藏延时把适合的数据放入纹理和常数缓存等缓解带宽压力,提高读取速度避免bank conflict,非合并访问或cpu-gpu数据传输 使用数组的结构体,而不是结构体数组使用对齐,类型转换等手段实现合并访问

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服