图形处理器(英语:graphics processing unit,缩写:GPU)
GPU是一款专门的图形处理芯片,做图形渲染、数值分析等功能。
CPU和GPU的区别
一、结构差异:分工明确的CPU与并行计算的GPU
CPU,作为计算机的“大脑”,负责处理计算机的指令和数据。它由数量相对较少的核心组成,这些核心能够同时处理多个任务,但每个核心在某一时刻只能执行一个线程。CPU的设计注重的是低延迟,即快速响应和处理单个任务。
而GPU则不同,它拥有成百上千个更小、更专一的处理单元,这些单元可以同时处理大量的简单任务。GPU的这种并行计算能力使其在处理图形渲染、科学计算等需要大规模并行处理的任务时表现出色。
二、功能侧重:逻辑与图形的分工
CPU的主要职责是执行复杂的逻辑运算和判断,如数据分析、程序运行等。它擅长处理具有复杂逻辑关系的任务,并且能够管理计算机的各个部件,确保它们协同工作。
GPU则专注于图形处理,如游戏中的3D渲染、视频编解码等。随着技术的发展,GPU也逐渐被应用于通用计算领域,如深度学习、物理模拟等,这些应用都需要大量的并行计算能力。
三、应用场景:各有所长
在日常办公、网页浏览等场景下,CPU的性能至关重要。因为这些任务往往涉及到多个程序的切换、数据的处理等,需要CPU快速响应和执行。
而在游戏、视频编辑、3D建模等图形密集型任务中,GPU的作用则更加凸显。一款性能强劲的GPU可以提供流畅的图形渲染和逼真的视觉效果。
CPU的强项是做逻辑运算;
GPU的强项是做数学运算和图形渲染。
其他参考说明:
CPU:设计为能效优化,适应各种工作负载,功耗相对较低;
GPU:高功耗高散热设计,主要用于高性能计算和大规模数据处理,这也是目前GPU发展需要解决的重要问题。
CPU:具有少量高性能核心(2-18个core),每个核心都设计为处理复杂的任务,支持多任务处理和多线程技术。
GPU:拥有大量低功耗核心(几千个core),这些核心更简单,专为大规模并行计算设计,适合处理重复性高的数据密集型任务。
CPU:多级缓存系统
CPU追求实时响应,对每个线程计算速度要求高,这样才能紧接着处理下一个线程,但CPU的ALU计算速度很快,每次都得等待数据加载进来,为了减少这个等待时间,CPU通常具有三级缓存系统,分别为L1缓存、L2缓存和L3缓存。
-
L1缓存:容量较小(通常为64KB),但速度最快,直接与处理器核心相连,主要用于存储最常用的指令和数据。
-
L2缓存:容量适中(通常为256KB),比L1缓存稍慢,仍然非常接近处理器核心,用于存储较为频繁访问的数据。
-
L3缓存:容量较大(通常为4MB),速度相对较慢,但比主存(DRAM)快得多,共享于多个处理器核心之间。
可以明显看出,缓存越靠近处理器核心,其访问速度越快,由于空间限制,且高速缓存使用的是SRAM(静态随机存取存储器),其速度比DRAM快,成本也高,所以一般缓存空间都比较小。通过这些缓存,提前把数据准备好,这样就可以减少CPU数据访问的延迟,提高指令执行的效率,从而优化CPU的性能。
GPU:高带宽显存
-
较少的缓存层级:相比CPU,GPU对单线程计算速度要求不高,缓存的增加也会减少能放置ALU的数量,所以GPU缓存层级较少,通常只有一级或二级缓存,主要用于临时数据存储和指令缓存。
-
高带宽显存:GPU更多地依赖于高带宽的显存(VRAM)来处理大量数据。显存的设计旨在提供极高的吞吐量(Throughout),以满足GPU在并行处理大量图形和计算任务时的需求。
-
大规模并行处理:由于GPU需要同时处理成千上万的线程,其架构更倾向于通过高带宽显存来提供数据,而不是通过多级缓存系统。
GPU尺寸
服务器GPU显卡常常说尺寸全高全长,或者半高半长等形态,究竟是怎样的尺寸定义,如下详细说明:
规格说明
半高:不超过68.9mm;
全高:不超过111.15mm;
半长:不超过167.65mm;
全长:不超过312.00mm;
单宽,即单插槽:不超过20mm;
双宽,即双插槽:不超过40mm;
三宽,即三插槽:不超过60mm;
全高全长,我们称为FHFL(full height full length);
半高半长,我们称为HHHL(half height half length)。
以T4 举例,如下图,
尺寸如下,可以得出,T4的结构尺寸为半高全长。
GPU架构发展历史
1999年,英伟达发布第一代GPU架构GeForce 256,标志着GPU时代的开始。随后,英伟达推出了Tesla、Fermi、Kepler、Maxwell、Pascal、Volta、Turing和Ampere等GPU架构,不断增强GPU的计算能力和程序性,推动GPU在图形渲染、人工智能和高性能计算等领域的应用。
二、Tesla架构
2006年,英伟达发布首个通用GPU计算架构Tesla。它采用全新的CUDA架构,支持使用C语言进行GPU编程,可以用于通用数据并行计算。Tesla架构具有128个流处理器,带宽高达86GB/s,标志着GPU开始从专用图形处理器转变为通用数据并行处理器。
三、Fermi架构
2009年,英伟达发布Fermi架构,是第一款采用40nm制程的GPU。Fermi架构带来了重大改进,包括引入L1/L2快速缓存、错误修复功能和 GPUDirect技术等。Fermi GTX 480拥有480个流处理器,带宽达到177.4GB/s,比Tesla架构提高了一倍以上,代表了GPU计算能力的提升。
四、Kepler架构
2012年,英伟达发布Kepler架构,采用28nm制程,是首个支持超级计算和双精度计算的GPU架构。Kepler GK110具有2880个流处理器和高达288GB/s的带宽,计算能力比Fermi架构提高3-4倍。Kepler架构的出现使GPU开始成为高性能计算的关注点。
五、Maxwell架构
2014年,英伟达发布Maxwell架构,采用28nm制程。Maxwell架构在功耗效率、计算密度上获得重大提升,一个流处理器拥有128个CUDA核心,而Kepler仅有64个。GM200具有3072个CUDA核心和336GB/s带宽,但功耗只有225W,计算密度是Kepler的两倍。Maxwell标志着GPU的节能计算时代到来。
六、Pascal架构
2016年,英伟达发布Pascal架构,采用16nm FinFETPlus制程,增强了GPU的能效比和计算密度。Pascal GP100具有3840个CUDA核心和732GB/s的显存带宽,但功耗只有300W,比Maxwell架构提高50%以上。Pascal架构使GPU可以进入更广泛的人工智能、汽车等新兴应用市场。
七、Volta架构
2017年,英伟达发布Volta架构,采用12nm FinFET制程。Volta 架构新增了张量核心,可以大大加速人工智能和深度学习的训练与推理。Volta GV100具有5120个CUDA 核心和900GB/s的带宽,加上640个张量核心,AI计算能力达到112 TFLOPS,比Pascal架构提高了近3倍。Volta的出现标志着AI成为GPU发展的新方向。
八、Turing架构
2018年,英伟达发布Turing 架构,采用12nm FinFET制程。Turing架构新增了Ray Tracing核心(RT Core),可硬件加速光线追踪运算。Turing TU102具有4608个CUDA核心、576个张量核心和72个RT核心,支持GPU光线追踪,代表了图形技术的新突破。同时,Turing架构在人工智能方面性能也有较大提升。
九、Ampere架构
2020年,英伟达发布Ampere架构,采用Samsung 8nm制程。Ampere GA100具有6912个CUDA核心、108个张量核心和hr个RT核心,比Turing架构提高约50%。Ampere 架构在人工智能、光线追踪和图形渲染等方面性能大幅跃升,功耗却只有400W,能效比显著提高。
从Tesla架构到Ampere架构,英伟达GPU在体系结构、性能和功能上不断创新,不断推动图形渲染、高性能计算和人工智能等技术发展。随着GPU架构的不断演进,GPU已经从图形渲染的专用加速器,发展成通用的数据并行处理器,在人工智能、自动驾驶、高性能计算等领域获得广泛应用。
参考文章
【玩转 GPU】英伟达GPU架构演变-腾讯云开发者社区-腾讯云
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/86415.html