#算力 GPU CPU

算力及其经济效应

所谓算力,就是设备处理数据、输出结果的能力,或者简而言之,就是计算的能力。它的基本单位是用“每秒完成的标准操作数量”(standardized operations per second,简称SOPS)来进行衡量。不过,由于现在的设备性能都非常高,因而在实践中用SOPS来衡量算力已经变得不那么方便。相比之下,“每秒完成的百万次操作数”(million,简称MOPS)、“每秒完成的十亿次操作数”(giga,简称GOPS),以及“每秒完成的万亿次操作数”(tera,简称TOPS)等单位变得更为常用。

GPU前面加一个“GP”,就变为General-Purpose Computing on Graphics Processing Units,即通用计算图形处理器。我们去术语化,可以直接说这是一种用于处理非特定需求(通用类型)计算目的的算力单元(芯片)。通常,它们也被简称为通用GPU。

简单来说,CPU更擅长复杂逻辑的运算,而GPU构架相对简单,但运算核心多,适用于大量逻辑简单但高并发量的高密度计算。(CPU最多也就十几个核心,GPU动辄几百上千个核心)

成本方面,虽然FPGA和ASIC芯片也被用于AI领域,但由于它们是针对其中某些需求的半定制和全定制芯片(主要是模拟人脑神经元结构),在通用领域的性价比完全无法和较为成熟的GPU相比。


并行计算一般有2种类型:基于任务的并行处理和基于数据的并行处理。前者主要指的是把算力任务拆分成若干个小的但不同的任务,然后再根据算力芯片内的不同核心做不同的计算分,从而形成一条算力流水线。后者主要指的是将数据分解为多个部分,让多个运算单元分别去计算这些小块的数据,形成一个计算网格,最后再把这些网格完成的任务汇总起来。

我们常说的CPU多线程编程偏向于前者,GPU的并行编程模式则偏向于后者。后者对庞大但逻辑简单的算力需求,有明显更强更高效的支持能力。

或者我们也可以这么认为:AI领域的大数据流运算本来就是一个模糊概率问题,并没有多少很精准的计算需求,也就不要那么多的算力“牛人”(CPU),需要的是很多能够干一般活的“工人”(通用GPU)。

原文