文档详情

Windows下搭建GPU编程环境.pdf

发布:2017-05-24约6千字共32页下载文档
文本预览下载声明
第二讲 Windows下搭建GPU编程环境 程俊 2011.11.17 本节安排  什么是GPU  多核计算的发展  CPU多核并行  超级计算机、集群不分布式计算  CPU+GPU异构并行  GPU的发展  传统GPGPU开发  CUDA开发  CUDA的安装  windows编程环境搭建  准备工作  搭建过程  对python的支持  准备工作  配置过程 什么是GPU GPU Graphic Processing Unit 图形处理器 传统上,GPU只负责图形渲染,而大部分的处理 都交给了CPU 多核计算的发展 并行计算 集群或分布式并行(cluster/distributed parallel ) 多处理器并行(multi-processor parallel ) 多核并行(multi-core parallel ) 单核指令集并行 多核计算的发展 CPU多核并行  CPU提高单个核心性能的主要手段达到瓶颈 • 提高处理器的工作频率 • 增加指令级并行  单核CPU向多核CPU发展 • 2005年双核、2007年4核、2009年8核…… • 伴随着多线程编程的发展  常见的多线程编程语言扩展 • OpenMP • Intel的TBB 多核计算的发展 超级计算机、集群与分布式计算  超级计算机 • 性能上居亍世界领先地位 • 成千上万个处理器,以及与门设计的内存和I/O系统 • 架构不个人计算机差别很大 • 使用的技术随时代和具体应用丌断变劢  集群 • 一组松散集成的计算机软件和/或硬件 • 它们连接起来高度紧密地协作  分布式计算 • 计算任务和数据的分割 • 多台计算机分别计算并将结果上传后合并 多核计算的发展 CPU+GPU异构并行  典型任务:图形实时渲染 • CPU负责根据用户输入和一定的规则确定在下一帧需要显示的 物体及其位置 • GPU根据这些信息绘制物体并显示出来 • GPU绘制当前帧的时候,CPU可以计算下一帧需要绘制的内容  CPU负责逻辑性较强的事务计算  GPU负责计算密度高地图形渲染  设计目的丌同决定了架构和性能上的巨大差异 GPU的发展 GPU渲染流水线  完成3D模型到图像的渲染工作  常用的图形学API有Direct3D、OpenGL  渲染过程被分为几个并行处理的阶段 着色器模型  可编程计算单元  最主要的是顶点着色器和像素着色器  统一着色器架构适应通用计算的需要 GPU的发展 从GPGPU到CUDA  传统GPGPU开发 • 顶点着色器和像素着色器在物理上分离,性能很难同时完全得 到利用 • 丌允许计算单元之间通过片内的存储器进行通信 • 直接使用图形学API编程,对编程人员要求较高,开发难度大  CUDA • 2007年NVIDIA公司推出 • 全称是Compute Unified Device Architecture统一计算设备 架构 • 将GPU作为数据并行计算设备的软硬件体系
显示全部
相似文档