要搞清楚CUDA是什么,先要明白CPU和GPU的区别。
CPU架构有复杂的控制单元和巨大缓存。
这种设计是为了处理复杂逻辑运算。这要求CPU必须有很强的单核性能。
但CPU物理核心数量有限,就算最高端的服务器CPU,面对海量简单计算时,也会因为线程数量限制而排队。
快看网的推荐算法,本质是海量矩阵乘法。
这些计算本身不复杂,不需要多强逻辑推理,但数量极其庞大。
让CPU去算矩阵,是高射炮打蚊子,效率极低,而且容易把服务器撑爆。
GPU架构完全不同。
GPU没有复杂控制单元,内部塞满了成百上千个简单的流处理器。
这些流处理器只能做基础运算。
但因为数量庞大,它们可以同时并行处理海量数据。
The content is not finished, continue reading on the next page