通用计算是一个很广泛的概念,电脑
DIY玩家一般说的“通用计算”指的是“GPU通用计算”,意思就是用
GPU来处理一些原本
CPU可以处理的
计算。
CPU的逻辑判断能力、计算精度和单核心计算能力要比
GPU更强,但是
GPU的优势在于核心数非常多,一般可以过百上千,与民用CPU不超过8核16线程的数量相比非常悬殊,因此在一些计算场合下效率要比CPU高很多,而这些场合就是通用计算的优势,比如文件压缩、视频转码就是典型。
微软主导的
DirectCompute,和DirectX是“一伙的”,A卡N卡乃至Intel核显都能使用;
对于CUDA,大家应该是最熟悉的,它能够用于视频转换加速等多种场合,而且效率表现也比较不错;而DirectCompute实际上已经在多款游戏上有体验,比如战地3、尘埃3就是一些采用了DirectCompute技术协助绘图计算的游戏;最后OpenCL是硬件支持最为广泛的通用计算规范,但支持就相对松散一些,因为缺乏一个有力的公司主导,MAC平台上的支持是做得比较好的。