欢迎来到天天文库
浏览记录
ID:46949426
大小:1.86 MB
页数:20页
时间:2019-12-01
《《CUDA基本介绍》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、CUDA基本介绍GPU介绍GPU英文全称GraphicProcessingUnit,中文译为“图形处理器”。GPU是相对于CPU的一个概念,GPU是显示卡的“心脏”,也就相当于CPU在电脑中的作用,它决定了该显卡的档次和大部分性能。GPU的优势强大的处理能力GPU接近1Tflops/s高带宽140GB/s低成本Gflop/$和Gflops/w高于CPU当前世界超级计算机五百强的入门门槛为12Tflops/s一个三节点,每节点4GPU的集群,总处理能力就超过12Tflops/s,如果使用GTX280只需10万元左右,使用专用的Tesla也只需20万左右GPU/CPU计算能力比较GPU/CPU存
2、储器带宽比较GPU/CPU晶体管的使用GPU发展1993年,黄仁勋与C.P和C.M共同成立NVIDIA公司。2007年,CUDA正式发布,引发GPU通用计算的革命。2009年,GeForce GTS 250发布。2011年3月24日,GeForceGTX590发布,这是Nvidia公司最新的显卡。CUDACUDA(ComputeUnifiedDeviceArchitecture,计算统一设备架构),由显卡厂商Nvidia推出的运算平台。CUDA是一种通用并行计算架构,该架构使GPU能够解决复杂的计算问题。开发人员可以使用C语言来为CUDA架构编写程序。CUDA的硬件架构CUDA的软件架构体系
3、架构体系架构由两部分组成,分别是流处理器阵列(SPA)和存储器系统。(GT200)GPU的巨大计算能力来自SPA中的大量计算单元,SPA的结构又分为两层:TPC(线程处理器群)和SM(流多处理器);存储器系统由几个部分组成:存储器控制器(MMC),固定功能的光栅操作单元(ROP),以及二级纹理缓存。GT200架构TPC3SMInstructionandconstantcacheTextureLoad/storeSMROP对DRAM进行访问TEXTURE机制对global的atomic操作CUDA执行模型将CPU作为主机(Host),而GPU作为协处理器(Coprocessor)或者设备(De
4、vice),从而让GPU来运行一些能够被高度线程化的程序。在这个模型中,CPU与GPU协同工作,CPU负责进行逻辑性强的事务处理和串行计算,GPU则专注于执行高度线程化的并行处理任务。一个完整的CUDA程序是由一系列的设备端kernel函数并行步骤和主机端的串行处理步骤共同组成的。CUDA执行模型grid运行在SPA上block运行在SM上thread运行在SP上gridblockthreadKernel不是一个完整的程序,而只是其中的一个关键并行计算步骤。Kernel以一个网格(Grid)的形式执行,每个网格由若干个线程块(block)组成,每一个线程块又由若干个线程(thread)组成。
5、一个grid最多可以有65535*65535个block一个block总共最多可以有512个thread,在三个维度上的最大值分别为512,512和64存储器模型RegisterLocalsharedGlobalConstantTextureHostmemoryPinnedhostmemoryCUDAC语言由Nvidia的CUDA编译器(nvcc)编译CUDAC不是C语言,而是对C语言进行扩展形成的变种引入了函数类型限定符:__device__,__host__和__global__。引入了变量限定符:__device__,__shared__和__constant__。引入了内置矢量类型:
6、char1,dim3,double2等引入了内建变量:blockIdx,threadIdx,gridDim,blockDim和warpSize引入了<<<>>>运算符引入了一些函数:同步函数,原子函数,纹理函数等主机端代码主要完成的功能:启动CUDA为输入数据分配内存空间初始化输入数据为GPU分配显存,存放输入数据将内存输入数据拷贝到显存为GPU分配显存,存放输出数据调用device端的kernel计算为CPU分配内存,存放输出数据将显存结果读到内存使用CPU进行其他处理释放内存和显存空间退出CUDA设备端代码主要完成的功能从显存读数据到GPU中对数据处理将处理后的数据写回显存
此文档下载收益归作者所有