为什么amd的显卡不能跑ai?

本质上是因为NVIDIA的CUDA已经牢牢地占据了AI软件的生态位,AMD、Intel等硬件厂商已经无力挑战,只有Google这样的科技巨头才具备必要的能力,但是人家也不愿意白打工。

实际上GPGPU(通用GPU)的概念由ATI首先实践,当时ATI发布了一个名为Close To Metal的API库,被AMD收购后又推出了AMD Stream Computing SDK。但是ATI被AMD收购后AMD发现其市场潜力并不明确,于是并未加以重视,之后转向OpenCL。NVIDIA在微软的DirectX 10强制推进“统一渲染架构”时也意识到了GPGPU的潜力,于是推出了专有的CUDA。不过最初也遇到了市场潜力不明确的问题。

GPGPU早年发展困难的主要原因是刚性需求少以及软件层面的开发困难,虽然GPU的浮点性能相对同时代的CPU有着巨大优势(入门级的GPU的浮点性能往往比同时代的顶级CPU高出数倍),但是在当时有着较高浮点性能需求的应用主要限于仿真计算、多媒体处理以及密码学,属于小众需求。而面向GPU的编程需要接触大量和GPU相关的硬件概念,对于习惯了面向CPU编程的程序员来说学习成本高昂。

不过老黄是个既有眼光,又有执行力和韧性的企业家,在看到GPGPU的潜力后,他认为只要解决当前的障碍最终一定能找到大量需求,而这会让NVIDIA从一家卖游戏显卡芯片的企业转型为一家卖高性能计算芯片的企业——那些财大气粗的科技、科研、国防用户的购买力远高于抠搜的游戏玩家。

于是老黄开始了非常漫长的探索期。既然GPGPU编程门槛太高,老黄就招募了数量可观的软件工程师,一边完善CUDA底层,一边开发各种计算库——有现成的功能和例子可以大幅度降低学习门槛。另外老黄坚持在其每一代GPU产品中增强对CUDA的支持,甚至不惜浪费芯片面积牺牲游戏性能(比如保持对游戏性能毫无作用的双精度浮点单元)。

另外为了让潜在的开发者能使用NVIDIA的方案,老黄还在到处送Tesla计算卡。此时几乎只要你能想到什么有点用的需求然后给NVIDIA写邮件,老黄就会白送使用和最顶级显卡相同GPU的Tesla计算卡。

在老黄坚持不懈的投入下,CUDA生态开始有所发展,相关的库不断完善,介绍CUDA编程的文章也开始出现在互联网上。一些第三方软件开始支持CUDA(非独占),但大多数和普通用户的需求相距较远,比如大型分布式蛋白质模拟计算软件Folding@home……或许和大多数人关系最近的是用来破交密码的Hashcat。

而且在这段时间中NVIDIA一度遇到过较大的市场冲击,但是老黄未曾放弃过对CUDA的长期投入。

然而无心插柳柳成荫,2012年多伦多大学的Alex Krizhevsky试图在图像分类任务上使用卷积神经网络(CNN)挑战当时主流的支持向量机(SVM),卷积神经网络在Yann LeCun在1995年提出,但是受限于CPU的计算能力其在层数较小时表现不佳。Alex Krizhevsky利用GPU的高浮点性能,使用2块NVIDIA Geforce GTX580 3GB显卡训练了一个规模远超以往的卷积神经网络,在当年的ImageNet图像分类挑战赛上击败了所有使用SVM的对手,从此打开了深度学习热潮的大门。

次年加州大学伯克利分校的博士生贾杨青编写了一个名为Caffe的深度学习框架,使深度学习研究者无需直接使用较复杂的CUDA编写代码,而是直接使用C++调用封装好的API,大幅度降低了开发门槛,进一步促进了深度学习的发展。而CUDA拥有更完善的现成资源以及NVIDIA赠送的Tesla K20计算卡显然是Caffe支持CUDA的主要原因。此后虽然Caffe的地位被Tensorflow、Pytorch相继替代,但是在相当一段时间内后两者仍然仅支持CUDA。至此CUDA开始和日渐蓬勃发展的深度学习高度捆绑。

而AMD呢?虽然其一直维持着其GPU对OpenCL的支持,但是并无老黄的决心,也没有进行长期的额外投入。在深度学习开始爆发时,OpenCL仍然资源匮乏、且非常难用,仅有少量开发人员掌握,于是完美错过。等到AMD意识到这一问题,推出ROCm (Radeon Open Compute platform) 时,CUDA已经建立了足够的用户基础优势。

编辑于 2026-01-16 · 著作权归作者所有