GPU与GPGPU


一、什么是GPU

1. GPU的由来

为了提高了显示能力和显示速度,对于图像和图形的相关运算专门开发了GPU(Graphics Processing Unit)。GPU使显卡减少了对CPU的依赖,并进行部分原本CPU的工作。

2. GPU和CPU的区别

CPU需要很强的通用性来处理各种不同的数据类型,同时又要进行逻辑判断从而引入了大量的分支跳转和中断的处理,这些都使得CPU的内部结构异常复杂。而GPU面对的则是类型高度统一的、相互无依赖的大规模数据和不需要被打断的纯净的计算环境。

GPU采用了数量众多的计算单元和超长的流水线,但只有非常简单的控制逻辑并省去了Cache。而CPU不仅被Cache占据了大量空间,而且还有有复杂的控制逻辑和诸多优化电路,相比之下计算能力只是CPU很小的一部分。

下图来自nVidia CUDA文档:

在这里插入图片描述
在这里插入图片描述

3. GPU用于处理什么任务

计算密集型的程序
所谓计算密集型(Compute-intensive)的程序,就是其大部分运行时间花在了寄存器运算上,寄存器的速度和处理器的速度相当。从寄存器读写数据几乎没有延时;读内存的延迟大概是几百个时钟周期;读硬盘的速度即便是读SSD也非常慢了。

易于并行的程序
GPU其实是一种SIMD(Single Instruction Multiple Data)架构,它有成百上千个核,每一个核在同一时间最好能做同样的事情。

二、什么是GPGPU

1. GPGPU的定义

GPGPU (General Purpose GPU)即通用GPU,可以通俗的将GPGPU理解为一个辅助CPU的工具,它能够帮助CPU进行非图形相关程序的运算。

GPGPU架构设计时,去掉了GPU为了图形处理而设计的加速硬件单元,保留了GPU的SIMT架构和通用计算单元。所以当前基于GPU的图形任务无法直接运行在GPGPU上,但对于科学计算,AI训练、推理任务(其实主要是矩阵运算)等通用计算类型的任务仍然保留了GPU的优势,即高效的搬运和运算有海量数据的重复性任务。

GPGPU目前主要用于例如物理计算、加密解密、科学计算以及比特币等加密货币的生成。

2. GPGPU与GPU的区别

任务不同
GPGPU负责的是一些非图形相关程序的运算,如加密、解密;而GPU负责的是图形渲染、图形计算的任务。

存在形式不同
GPGPU通常被集成到CPU中,而GPU则是作为一个单独的模块,也就是独立显卡核心或者主板集成显卡核心。


以上内容来源于网络知识总结,如有侵权请私信联系立即删除:)

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值