分享
什么是CPU、GPU、GPGPU?都分别有什么差异?
输入“/”快速插入内容
什么是
CPU
、
GPU
、
GPGPU
?都分别有什么差异?
飞书用户3013
2023年10月15日修改
今天带大家了解下芯片级基础知识,什么是
CPU
、
GPU
、
GPGPU
?都分别有什么差异?
1、
CPU
CPU
最常见的通用处理器,可以胜任各类计算任务,但正是因为计算能力均衡,无法在特定领域有突出计算能力。
2、
GPU
当前图形处理相关计算需求不断增加,受到
CPU
本身在
浮点
计算能力上的限制,对于需要高密度计算的
图像处理
操作,过去传统的在CPU上实现的方法,并没有在处理性能与效率上有很大进步。因此,业界专门针对图形处理相关计算需求开发了
GPU
(
Graphics Processing Unit
),即完成
图像运算工作的微处理器
。
3、
GPGPU
随着人工智能技术快速发展,除了图形相关
算力
需求外,对
CPU
通用计算
能力的要求也越来越高。这时,
GPGPU
应用而生。
GPGPU
全称General Purpose GPU,即通用计算
图形处理器
。其中第一个“GP”通用目的(GeneralPurpose),而第二个“
GP
”则表示图形处理(GraphicProcess),这两个“GP”搭配起来即“通用图形处理”。可以通俗的将GPGPU理解为一个辅助
CPU
的工具,它能够帮助CPU进行非图形相关程序的运算。
GPGPU
架构设计时,去掉了
GPU
为了图形处理而设计的加速硬件单元,保留了GPU的SIMT架构和通用计算单元。所以当前基于GPU的图形任务无法直接运行在GPGPU上(以后也许可以),但对于科学计算,
AI
训练、推理任务(其实主要是矩阵运算)等通用计算类型的任务仍然保留了GPU的优势,即高效搬运,运算,重复性的有海量数据的任务。
目前主要用于例如物理计算、加密解密、科学计算以及
比特币
等加密货币的生成。
4、
GPU
、
GPGPU
差异性
GPGPU
是指通用计算
GPU
(General-Purpose computing on Graphics Processing Units),也叫做通用GPU计算(General Purpose GPU Computing),是指利用GPU进行通用计算的技术。GPGPU可以将GPU的
并行计算
能力应用于科学计算、
数据分析
、
机器学习
等领域,提高计算速度和效率。
与传统
GPU
相比,
GPGPU
具有以下差异:
1.
设计目标不同:传统
GPU
的设计目标是提供高性能的图形渲染能力,而
GPGPU
的设计目标是提供高性能的通用计算能力。
2.
支持的计算任务不同:传统
GPU
主要支持图形渲染相关的计算任务,如顶点处理、
像素
处理、纹理处理等;而
GPGPU
支持更广泛的计算任务,包括
浮点
计算,整数计算、向量计算等。
3.
计算精度不同:传统
GPU
通常使用
单精度浮点数
进行计算,而
GPGPU
可以支持
双精度浮点数
和定点数等多种类的计算精度。
4.
计算模型不同:传统
GPU
通常使用固定的图形渲染管线来执行计算任务,而
GPGPU
可以使用自定义的计算模型,以适用不同的计算任务和应用场景。
5.
编程模型不同:传统
GPU
的编程模型通常是命令式编程,需要开发者手动管理GPU
内存
和计算流程,而
GPGPU
的编程模型通常是
声明式编程
,通过定义一系列计算操作来描述计算流程,由编译器和运行时系统自动管理内存和计算流程。
6.
程序设计不同:传统
GPU
的程序设计主要是图形
API
,如OpenGL、
DirectX
等;而
GPGPU
的程序设计主要是通过计算API,如
CUDA
、OpenCL等。
7.
性能表现不同:
GPGPU
相对于传统
GPU
在通用计算任务上具有更高的性能表现,但在图形渲染任务上可能不如传统GPU。
8.
存在形式不同:
GPGPU
通常是会被集成
GPU
当中,而GPU则是作为一个单独的模块,也就是
独立显卡
核心或者主板
集成显卡
核心。
9.
内存
架构不同:传统
GPU
通常使用分层内存架构,包括
显存
和系统内存,而
GPGPU
通常使用统一内存架构,将GPU内存和
CPU
内存合并成一个虚拟的
内存池
。
10.
硬件支持不同:传统
GPU
通常有专门的硬件支持,如纹理单元、
像素
处理单元等,而
GPGPU
通常具有更多的通用计算单元和高速缓存,以支持更广泛的计算任务。
11.
软件支持:传统
GPU
通常具有丰富的图形
API
和图形引擎支持,而
GPGPU
通常需要额外的软件和算法支持,以充分发挥其性能优势。
12.
应用场景不同:传统
GPU
主要用于图形渲染和游戏开发,而
GPGPU
主要用于科学计算、
数据分析
、
机器学习
等领域。
总的来说,
GPGPU
是一种将
GPU
的
并行计算
能力应用于通用计算的技术,可以提高计算速度和效率,具有广泛的应用场景。
参考资料:
国产首款 GPGPU 云端高端训练芯片,什么是GPGPU,有哪些影响? - 知乎 (
zhihu.com
)
英伟达的国产平替,“GPGPU”概念有机会吗?_腾讯新闻 (
qq.com
)
国产GPU不讲武德 (
qq.com
)
GPGPU通用图形处理器技术 - 知乎 (
zhihu.com
)