CUDA超大规模并行程序设计赵开勇zhao.kaiyong@gmail.comhttp://www.comp.hkbu.edu.hk/-kyzhaohttp://blog.csdn.net/openhero香港浸会大学计算机系浪潮GPU高性能开发顾问
CUDA 超大规模并行程序设计 赵开勇 zhao.kaiyong@gmail.com http://www.comp.hkbu.edu.hk/~kyzhao http://blog.csdn.net/openhero 香港浸会大学计算机系 浪潮GPU高性能开发顾问
提纲从GPGPU到CUDA并行程序组织并行执行模型CUDA基础存储器CUDA程序设计工具新一代FermiGPU2
2 2 提纲◼ 从GPGPU 到CUDA ◼ 并行程序组织 ◼ 并行执行模型 ◼ CUDA基础 ◼ 存储器 ◼ CUDA程序设计工具 ◼ 新一代Fermi GPU
Graphic Processing Unit (GPU)用于个人计算机、工作站和游戏机的专用图像显示设备显示卡·nVidia和ATI(nowAMD)是主要制造商>Intel准备通过Larrabee进入这一市场InterPentiumProce:主板集成Extreme Edition6.4GB/S。IntelDDR282925X8.0PCIExpress8.5GB/x16GraphicsGB/sMCHDDR22GB/SDMInter"High4SortalDefinition AudioATAPortsAB/1314PCI500ICHBRWAB/SPCIExpress'x1MB/sIntel'Matrix8Hi-Speed60StorageTochnolUSB2.0PortsMB/SntelWlreleConnectttochneBIOSSUpHTTechi
3 3 Graphic Processing Unit (GPU) ◼ 用于个人计算机、工作站和游戏机的专用图像显示设备 ⚫ 显示卡 • nVidia和ATI (now AMD)是主要制造商 > Intel准备通过Larrabee进入这一市场 ⚫ 主板集成 • Intel
顿典型图像30frames/s1Mtriangles30Mtriangles/s3维图像流水线3Mvertices90Mvertices/s25Mfragments750Mfragments/sCPUGPUTextureAVVertexFragmentVRasterizer?ProcessorProcessorAFramebuffer
4 4 3维图像流水线 ◼一帧典型图像 ⚫1M triangles ⚫3M vertices ⚫25M fragments Vertex Processor Fragment Processor Rasterizer Framebuffer Texture CPU GPU ◼30 frames/s ⚫30M triangles/s ⚫90M vertices/s ⚫750M fragments/s
传统GPU架构GraphicsprogramHost/FW/VTFVertexprocessorsCull/Clip/SetupZ-culShader Instruction Dispatch2TFragmentprocessorsFragmentCrossbardPixel operationsMemoryMemoryMemoryMemorPartitionPartitiorPartitorPartitionDRAM(S)DRAM(s)DRAM($)DRAM($)Output image5
5 5 传统GPU架构 Graphics program Vertex processors Fragment processors Pixel operations Output image