CUDA编程模型(入门).ppt
《CUDA编程模型(入门).ppt》由会员分享,可在线阅读,更多相关《CUDA编程模型(入门).ppt(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、本课程得到Intel大学合作计划支持课程网站:http:/ CUDA编程模型华南理工大学 陈虎 博士GPU与CPU的差异GPU(Graphics Process Unit)面向计算密集型和大量数据并行化的计算大量的晶体管用于计算单元通用通用CPU面向通用计算大量的晶体管用于Cache和控制电路DRAMCacheALUControlALUALUALUDRAMCPUGPUGPU与CPU的峰值速度比较1 Based on slide 7 of S.Green,“GPU Physics,”SIGGRAPH 2007 GPGPU Course.http:/www.gpgpu.org/s2007/slid
2、es/15-GPGPU-physics.pdf第一代GPU结构(GeForce 6800)第二代GPU(GeForece 8800)GeForce 8800的主要技术参数晶体管数目(百万)晶体管数目(百万)681工艺90nm芯片面积(mm2)470工作主频(GHZ)1.5峰值速度(Gflops)576处理器数目128片 上 存 储 器 容 量(KB)488功耗(W)15016个流多处理器(SM)每个SM中包含了8个流处理器SP每个SP包含一个乘加单元每个SM管理了24个线程簇(warp),共有768个线程采用单线程多数据(Single-thread,Multiple-data)技术每个周期在8
3、个SP上并行执行一个线程簇GF8800的存储层次结构层次层次容量容量(KB)延迟延迟(ns)局部存储器1626L1 Cache5280L2 Cache32370DDR510GeForce 8800GPU最适合做什么?对多个数据进行同一种运算(STMD适用)一次存储器访问,多次运算(外部DDR访问开销高,局部存储器容量较小)浮点计算比例高(特别是单精度浮点)典型计算:物理模拟,线性代数计算应用领域:计算生物学图像处理CUDA编程模型Nvidia公司开发的编程模型可以和VC 8.0集成使用下载地址:http:/ to TargetCompiler G80 GPU Target codePTX Co
4、deVirtualPhysicalCPU Codefloat4 me=gxgtid;me.x+=me.y*me.z;ld.global.v4.f32$f1,$f3,$f5,$f7,$r9+0;mad.f32$f1,$f5,$f3,$f1;链接时的动态库:The CUDA runtime library(cudart)The CUDA core library(cuda)CUDA中的线程线程:CUDA中的基本执行单元;硬件支持,开销很小;所有线程执行相同的代码(STMD)每个线程有一个唯一的标识IDthreadIdx若干线程还可以组成块(Block)线程块可以呈一维、二维或者三维结构Device
5、Grid 1Block(0,0)Block(1,0)Block(2,0)Block(0,1)Block(1,1)Block(2,1)Block(1,1)Thread(0,1)Thread(1,1)Thread(2,1)Thread(3,1)Thread(4,1)Thread(0,2)Thread(1,2)Thread(2,2)Thread(3,2)Thread(4,2)Thread(0,0)Thread(1,0)Thread(2,0)Thread(3,0)Thread(4,0)CUDA存储器分配cudaMalloc()在全局存储器中分配空间两个参数:地址指针空间大小cudaFree()在全局存
6、储器中回收空间参数回收空间地址指针GridGlobalMemoryBlock(0,0)Shared MemoryThread(0,0)RegistersThread(1,0)RegistersBlock(1,0)Shared MemoryThread(0,0)RegistersThread(1,0)RegistersHost示范代码分配64*64的单精度浮点数组存储器地址为Md.elementsTILE_WIDTH=64;Matrix Md/*“d”is often used to indicate a device data structure*/int size=TILE_WIDTH*TI
7、LE_WIDTH*sizeof(float);cudaMalloc(void*)&Md.elements,size);cudaFree(Md.elements);主机和设备之间的数据传输cudaMemcpy()存储器数据传输参数:目的地址源地址传输字节数传输类型主机主机主机全局存储器全局存储器全局存储器异步传输GridGlobalMemoryBlock(0,0)Shared MemoryThread(0,0)RegistersThread(1,0)RegistersBlock(1,0)Shared MemoryThread(0,0)RegistersThread(1,0)RegistersHo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CUDA 编程 模型 入门
限制150内