设置

关灯

第566章 破局奇招(第1节)

要搞清楚CUDA是什么,先要明白CPU和GPU的区别。

CPU架构有复杂的控制单元和巨大缓存。

这种设计是为了处理复杂逻辑运算。这要求CPU必须有很强的单核性能。

但CPU物理核心数量有限,就算最高端的服务器CPU,面对海量简单计算时,也会因为线程数量限制而排队。

快看网的推荐算法,本质是海量矩阵乘法。

这些计算本身不复杂,不需要多强逻辑推理,但数量极其庞大。

让CPU去算矩阵,是高射炮打蚊子,效率极低,而且容易把服务器撑爆。

GPU架构完全不同。

GPU没有复杂控制单元,内部塞满了成百上千个简单的流处理器。

这些流处理器只能做基础运算。

但因为数量庞大,它们可以同时并行处理海量数据。

这完美契合了AI算法和推荐系统需要的大规模并行计算。

可是,硬件再强,也需要软件驱动。

在CUDA出现前,程序员想用显卡算力做非图形渲染的通用计算,简直是噩梦。

他们必须把非图形数据,强行伪装成图形像素数据,通过复杂图形API通道传给显卡。

等显卡算完,还要把输出像素数据反向解析回通用数据。

这种操作极其繁琐,写错一行代码,就会导致程序崩溃。

所以,空有强大并行算力,却没人能轻易用在非游戏领域。

直到黄仁勋做出大胆决定,推出CUDA。

CUDA全称是计算统一设备架构。

它本质是一个软件开发平台和编程模型。

英伟达在每张显卡底层嵌入了CUDA硬件指令集,同时在软件层面推出一整套编译器、库文件和开发工具。

CUDA最伟大也最可怕的地方在于,它允许程序员直接用最普及的C语言,调用显卡底层

本章未完,请点击"下一页"继续阅读! 第1页 / 共4页