GPU入门技术介绍资料
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
GPU内部架构
CPU: 强控制弱计算,更多资源用于缓存 CPU: 强计算弱控制,更多资源用于数据计算
Fra Baidu bibliotek
GPU内部架构
• GPU体系架构在不断的发展,以GT200体系架构为代表对 GPU的并行层次进行分析。Tesla GT200由两部分组成, 分别是可伸缩流处理器阵列(Scalable Streaming Processor Array,SPA)和存储器系统,它们由一个片上 互联网络连接。如下图所示,可伸缩流处理器阵列由若干 个线程处理器群(Thread Processing Cluster,TPC)构成, 每个TPC包含2~3个流多处理器(Streaming Multiprocessor,SM),每个流多处理器中包含8个流处理 器(StreamingProcessor,SP)。流处理器有独立的寄存器 和指令指针,但缺少取指和调度单元,而流多处理器才拥 有完整前端,包括取值、译码、发射等。从结构上看,每 个流多处理器相当于一个8路单指令流多数据流(Single Instruction Multiple Data,SIMD)处理器,不同的是, GPU实现了自动向量机化,NVIDIA将之命名为单指令流 多线程(Single Instruction Multiple Thread,SIMT)
GPU内部架构
• 由于CPU和GPU设计目标的不同导致了两者在架构、并 行层次和性能方面差异较大: CPU的重线程与GPU的轻线程 CPU的MIMD多核与GPU的SIMT众核(x7560) CPU内存、缓存与GPU存储器 • GPU是以大量线程实现面向吞吐量的数据并行计算,适合 于处理计算密度高、逻辑分支简单的大规模数据并行负载; 而CPU则有复杂的控制逻辑和大容量的缓存减小延迟,擅 长复杂逻辑运算。
GPU内部架构
前进
GPU内部架构
• 在GPU中,流多处理器才能被称为真正的 完整核心,整个可伸缩流处理器阵列可以 被看成是由多个流多处理器组成的多单指 令流多线程(Multiple SIMT,MSIMT)系统。 Tesla GT200架构在可编程性和灵活性与硬 件的复杂度和功耗之间取得了很好的折衷, 线程被组织成多个线程块(Thread Block), 分配到各个流多处理器上,而每个线程块 内的线程再被以单指令流多线程的方式交 给流处理器运行。
GPU编程
• CUDA • OpenCL
GPU简介
GPU,Graphics Processing Unit的简写,是 现代显卡中非常重要的一个部分,其地位与 CPU在主板上的地位一致,主要负责的任务 是加速图形处理速度。 GPU是一个高度并行化的多线程、多核心处 理器。
GPU简介
• GPU/CPU计算能力比较
GPU简介
• GPU/CPU存储器带宽比较
GPU简介
• 市场迫切需要实时、高清晰度的 3D 图形, 可编程的 GPU 已发展成为一种高度并行化、 多线程、多核心的处理器,具有杰出的计 算能力和极高的存储器带宽。 • GPU极大提升了计算机图形处理的速度、 增强了图形的质量,并促进了与计算机图 形相关其他应用领域的快速发展。与中央 处理器(Central Processing Unit,CPU)的 串行设计模式不同,GPU为图形处理设计, 具有天然的并行特性。
GPU研究现状
• 2007年6月,NVIDIA推出了CUDA(Computer Unified Device Architecture计算统一设备结构)。 CUDA是一种将GPU作为数据并行计算设备的软 硬件体系。在CUDA 的架构中,不再像过去 GPGPU架构那样将通用计算映射到图形API中, 对于开发者来说,CUDA 的开发门槛大大降低了。 CUDA 的编程语言基于标准C ,因此任何有C 语 言基础的用户都很容易地开发CUDA 的应用程序。 由于这些特性,CUDA在推出后迅速发展,被广 泛应用于石油勘测、天文计算、流体力学模拟、 分子动力学仿真、生物计算、图像处理、音视频 编解码等领域。
GPU简介
型号 适用用户
GeForce Quadro
Tesla Tegra Ion
家庭和企业的娱乐应用,面向游戏用户 应用于图形工作站,面向专业级用户
用于高性能通用计算,面向研究人员 适用于移动设备 上网本
GPU研究现状
• NVIDIA在1999年推出了第一款GPU产品- GeForce 256。主要任务是进行图形渲染任务, 缓解CPU压力。 • 从GPU诞生那天开始,其发展脚步就没有停止下 来,由于其独特的体系架构和超强的浮点运算能 力,人们希望将某些通用计算问题移植到GPU上 来完成以提升效率,出现了所谓的GPGPU (General Purpose Graphic Process Unit),但 是由于其开发难度较大,没有被广泛接受。 • 2006年NVIDIA推出了第一款基于Tesla架构的 GPU(G80),GPU已经不仅仅局限于图形渲染, 开始正式向通用计算领域迈进。
GPU
GPU简介 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 problem to solve like this. A breakthrough is needed in how applications are done on multicore devices.” -Bill Gates, Microsoft