GPU

graphics processing unit


A CPU consists of a few cores optimized for sequential serial processing.

CPU有少量的优化了顺序处理核心。

CPU

Central Processing Unit


A GPU has a massively parallel architecture consisting of thousands of smaller, more efficient cores designed for handling multiple tasks simultaneously.

GPU有巨大的并行架构,组合了成千上万个更小更高效的优化过同时多任务处理的核心。

CPU和GPU

image.png

CPU 和 GPU结构细节

CPU和GPU之所以大不相同,是由于其设计目标的不同,它们分别针对了两种不同的应用场景。

CPU需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断又会引入大量的分支跳转和中断的处理。这些都使得CPU的内部结构异常复杂。

而GPU面对的则是类型高度统一的、相互无依赖的大规模数据和不需要被打断的纯净的计算环境

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

所以与CPU擅长逻辑控制和通用类型数据运算不同,GPU擅长的是大规模并发计算

CPU 和 GPU 结构图

绿色的是计算单元,橙红色的是存储单元,橙黄色的是控制单元。

image.png

GPU如何加速应用


GPU-accelerated computing offloads compute-intensive portions of the application to the GPU, while the remainder of the code still runs on the CPU. From a user’s perspective, applications simply run much faster.

GPU加速计算转移应用中的部分计算密集任务到GPU,剩余的代码任然在CPU执行,从用户角度看,硬件简单地更快运行。

GPU加速示意图

image.png

引用


WHAT IS GPU-ACCELERATED COMPUTING?

为什么现在更多需要用的是 GPU 而不是 CPU,比如挖矿甚至破解密码?冰糖葫芦娃