GPU 和 GPGPU 有啥区别?
1、GPU
随着图形处理相关计算需求的不断增加,CPU本身在浮点计算能力上的限制,对于需要高密度计算的图像处理操作,过去传统的在CPU上实现的方法,并没有在处理性能与效率上有很大进步。因此,为了提高了显示能力和显示速度,业界专门针对图形处理相关计算需求开发了GPU(Graphics Processing Unit),即完成图像运算工作的微处理器。
GPU并行计算是一种高效的计算和图像处理技术,它利用了GPU (图形处理单元) 的并行处理能力,以提高计算速度和处理能力。 GPU并行计算在图像处理、机器学习、深度学习等领域具有广泛的应用 。
- GPU用于处理什么任务
a. 计算密集型的程序
计算密集型程序主要在寄存器中进行运算,这使得寄存器与处理器之间的速度相当。因此,从寄存器读写数据几乎没有延迟。然而,访问内存和硬盘的速度相对较慢,如读取SSD时可能需要几百个时钟周期。
b. 易于并行的程序
GPU,一种具有成百上千核心的SIMD架构,能在同一时刻让每个核执行相似任务,从而实现高性能并行计算。
- GPU和CPU的区别
CPU需具备强大的通用性以处理各种数据类型及逻辑判断,从而引入大量分支跳转和中断处理,导致内部结构异常复杂。相反,GPU面临类型高度统一、相互无依赖的大规模数据以及无需中断的纯净计算环境。
GPU以众多计算单元和超长流水线为特色,但控制逻辑简单且省去Cache。相较之下,CPU的Cache占据了大量空间,复杂的控制逻辑和优化电路使其计算能力仅占一小部分。
- 下图来自 NVidia CUDA 文档:
2、GPGPU
GPGPU,全称通用计算图形处理器(General Purpose GPU),是一种强大的计算工具,能够协助CPU进行非图形相关的复杂运算。它的名字由“通用目的”和“图形处理”两个词组成,寓意着它的多功能性和广泛应用。GPGPU的主要作用在于提升计算效率,使CPU能够更专注于处理复杂的、需要大量计算的任务,从而提高整体的系统性能。
在GPGPU架构设计中,我们摒弃了针对图形处理的专用加速硬件单元,但保留了SIMT架构和通用计算单元。因此,当前基于GPU的图形任务尚无法直接在GPGPU上运行(未来或许可行)。然而,对于科学计算、AI训练与推理任务(主要涉及矩阵运算)等通用计算类型,GPGPU仍能发挥GPU的优势,即高效地搬运、运算和处理海量数据的任务。
GPGPU是一种通用图形处理器,用于非图形计算任务,如物理计算和AI训练。GPGPU常集成到CPU中,而GPU作为独立模块。
GPGPU主要用于例如物理计算、加密解密、科学计算以及比特币等加密货币的生成。
- GPGPU 与 GPU 的区别
a. 任务不同
GPGPU负责的是一些非图形相关程序的运算,如加密、解密;
而GPU负责的是图形渲染、图形计算的任务;
b. 存在形式不同
GPGPU通常被集成到CPU中;
而GPU则是作为一个单独的模块,也就是独立显卡核心或者主板集成显卡核心。
-对此,您有什么看法见解?-
-欢迎在评论区留言探讨和分享。-