目录
GPGPU
GPU 起初是用来处理图像的,但是后来人们发现其并行运算原理不仅可以用在图形渲染上,也可以推广到一般的运算中。于是 GPU 的功能就进行了升级,可以进行稍微复杂的工作了,并且可编程,也就有了 GPGPU(通用图形处理器)的概念。
GPGPU 其实是对 GPU 的一种优化,让 GPU 更加的具有易用性和通用型,GPU 应用于 ML/AI 就是 GPU 通用属性的一个方向,类似的方向有很多:挖矿、HPC 高性能计算等。
GPU 可以利用多个 CUDA Core / SP 来做并行计算,而 CPU 只能按照顺序进行串行计算,同样运行 3000 次的简单运算,CPU 需要 3000 个时钟周期,而配有 3000 个 CUDA 核心的 GPU 运行只需要 1 个时钟周期。
如果想用 GPU 做通用的计算,就要有更通用的编程工具。为此,很多针对 GPGPU 的并行计算架构就产生了,主要有 CUDA 和 OpenCL。