要搞清楚CUDA是什麽,先要明白CPU和GPU的区别。
CPU架构有复杂的控制单元和巨大缓存。
这种设计是为了处理复杂逻辑运算。这要求CPU必须有很强的单核性能。
但CPU物理核心数量有限,就算最高端的伺服器CPU,面对海量简单计算时,也会因为线程数量限制而排队。
快看网的推荐算法,本质是海量矩阵乘法。
这些计算本身不复杂,不需要多强逻辑推理,但数量极其庞大。
让CPU去算矩阵,是高射炮打蚊子,效率极低,而且容易把伺服器撑爆。
本书由??????????.??????全网首发
GPU架构完全不同。
GPU没有复杂控制单元,内部塞满了成百上千个简单的流处理器。
这些流处理器只能做基础运算。
但因为数量庞大,它们可以同时并行处理海量数据。
这完美契合了AI算法和推荐系统需要的大规模并行计算。
可是,硬体再强,也需要软体驱动。
在CUDA出现前,程式设计师想用显卡算力做非图形渲染的通用计算,简直是噩梦。
他们必须把非图形数据,强行伪装成图形像素数据,通过复杂图形API通道传给显卡。
等显卡算完,还要把输出像素数据反向解析回通用数据。
这种操作极其繁琐,写错一行代码,就会导致程序崩溃。
所以,空有强大并行算力,却没人能轻易用在非游戏领域。
直到黄仁勋做出大胆决定,推出CUDA。
CUDA全称是计算统一设备架构。
它本质是一个软体开发平台和编程模型。
英伟达在每张显卡底层嵌入了CUDA硬体指令集,同时在软体层面推出一整套编译器丶库文件和开发工具。
CUDA最伟大也最可怕的地方在于,它允许程式设计师直接用最普及的C语言,调用显卡底层算力。
程式设计师不再需要学晦涩的图形API,也不需要伪装数据。
只要会写C语言,只要装了CUDA开发包,就能轻松把一段并行计算代码跑在英伟达显卡上。
这极大降低了GPU通用计算门槛。
华尔街投资人不理解,为什麽一家卖硬体的公司,要养几千软体工程师维护一个免费给开发者用的平台。
但黄仁勋顶住压力,强行推广CUDA。
他甚至跑到各大学计算机系,免费发支持CUDA的显卡,鼓励学生用CUDA做科研计算。
这是一个极度长远的阳谋。
随时间推移,越来越多程式设计师习惯用CUDA。
各种基于CUDA的科学计算库丶深度学习框架开始在开源社区生长。
当2025年大模型时代爆发,全球科技公司都需要海量算力训练AI时,他们发现一个绝望的现实。
所有成熟AI算法,所有好用的深度学习框架,底层代码都是基于CUDA写的。
而CUDA,是英伟达的私有闭源技术。
它只支持英伟达自家显卡。
如果买一批AMD显卡,会发现根本无法运行主流AI算法,因为AMD硬体解析不了CUDA指令。
想在AMD显卡上跑通大模型,必须把整个软体生态从底层重写。
这个工作量,大到没有公司愿意承担。
这就是为什麽,到了AI时代,所有人都只能捏着鼻子去抢购英伟达高价算力卡。
算力可以制造,但生态一旦形成,就是一道叹息之墙。
夏冬放下手机,揉了揉眉心。