但CUDA本质上不是技术变革,而是思想变革。在这之前,芯片制造商,最多只考虑到芯片如何适配到OS,调好固件、写好驱动层,实现系统调用所需的接口,其余交给更下游的应用软件开发商。
CUDA并不是仅仅把算子和并行计算调度做好,然后坐等适配,而是直接触达CUDA能够落地的场景,把这个场景所需要的软件的所有中间环节都全包了。
CUDA是英伟达GPU架构的最基本的可调度执行单元,CUDA也是一门类C语言的并行计算编程的学问。但实现CUDA为基础的复杂的SIMD硬件调度架构、实现CUDA语言编译器、运行时,只是英伟达所做的许多事中最基础的。
如果英伟达只做这几件事,它完全在技术上可以把开发链路打通,但绝对不会成为许多计算领域的不可替代的事实标准,更不可能变成AMD+Intel+博通等竞品联手也过不去的护城河。
英伟达最初做CUDA时,几乎是主动去高校、企业主动去采集需求。把整个行业的需求理清,然后把这些未必会支付资金、未必会一定采用CUDA套件的“潜在”客户当甲方,组建研发团队开发整套软件、函数库、sdk。
有些库并不和CUDA有关,但它是CUDA落地的某个场景可能需要的,英伟达也会投入软件人力去给开源社区贡献。
为了让客户接受CUDA,英伟达几乎直接向高校白送GPU,用户甚至不需要了解CUDA的许多细节,只要往电脑里插上N卡、装好驱动和指定的几个软件,就可以无缝接入原有工作流。
而在接入之后,用户发现,它的速度比此前快10倍都不止。然后用户就陷进去,再也离不开CUDA了。
最终,CUDA成了个体系,它既不单指GPU里的那个最小硬件单元,也不仅仅是那个类C编程语言,而是这个体系构筑的一切上层建筑。
AMD或英特尔兵临城下,也无法今天替换这个体的一部分模块,明天替换另一部分模块,慢慢的让深陷CUDA的用户无痛转移到自己的平台。
即使老黄允许、用户配合,也很难绕开英伟达的GPU做到这一点,即使从0开始复刻CUDA,那也将是一个很长的周期,哪个商业公司能够支撑起交付周期如此久的长期投入,还是个复制品呢?何况CUDA也在不断演化,等实现了CUDA复刻版,老黄已经抓住了新的增长点练新的神功了也未可知。
所以即使Jim Keller也只能说:“CUDA不是护城河,是沼泽”。CUDA早就把整个行业都陷进去了,就是硅仙人,也没办法把任何一个商业公司从其中拽出来。
何况在2024年,天时也不在英伟达的对手那里。
老黄当年搞CUDA,刚好赶上2007年后全球计算机普及浪潮,在那之前,只有少数几个GPU公司注意到GPU的通用并行计算能力,但谁也不知道该如何落地。2024年,全球再没有当年的市场增量了,所以没有第二家可以重新CUDA。
HIP/OpenCL都是各家先后对抗CUDA尝试失败的结果,我认为他们的失败,最核心的原因都是因为对最终要落地哪些场景的不理解,从而天马行空地盲目指定技术路线。
回看英伟达,从它的硬件架构选择SIMT形式而非VLIW、决心创造CUDA语言编译器等,都是长期规划,从未来需求反过来影响技术决策。
老黄是英伟达的创始人,是公司的灵魂人物,又是个技术出身的工程师。只有老黄这样一个人——既有卓越的技术视野、又不同于对投资者负责的职业经理人的企业总裁,才可能有能力和执行力长期持续布局和投入CUDA。英特尔、AMD、博通等大厂是不可能有这么一个人主导这一切的。
英伟达也不是没走弯路,但相比而言,ATI-AMD更像是赌,Intel在GPU领域更像是急不可耐秀技术,它们都不可能成为第二个英伟达。
ROCm至今,它能够占据一席之地依然具有偶然性。AMD某些方面,在步英伟达老路。但英伟达跑太快了,走它的老路,不仅不会追上它反而有可能被甩越来越远。
AMD在2012年终于下定决心革新GPU架构了,VLIW具有不错的能效,但在GPGPU领域的编程复杂性让它上限不高,于是第一代AMD血统的SIMT架构GCN诞生了。GCN虽然被寄予厚望,也验证了在通用计算领域具有良好表现。
但它在图形渲染的性能上并不出众,甚至是IPC偏低。AMD发现,老黄可以在计算卡架构上强行优化,做图形渲染,而自己不行。于是在GCN磨蹭了七八年后,又分成了CDNA/RDNA两个架构。
但老黄哪里会原地不动呢?RDNA开始在光栅性能上追赶英伟达时,老黄又打出了DLSS/RayTracing,开了一个新赛道,你跟不跟?
这里又能够看出老黄做芯片的思路的先进性,DLSS并不是纯粹芯片设计团队能够想出来的花活。而是软件团队思考实现流程(利用神经网络算法植入预训练的模型进行分辨率细节还原,张量计算单元可以加速这一算法)。将这部分作为需求提交给芯片团队,由芯片团队设计加速单元(张量计算单元)后,软件团队再调度并包装成编程接口。
AMD最初没有考虑这么久远,它是传统回溯算法并不和特定硬件绑定的,因此在FSR迭代了几版之后,效能开始被老黄甩开,又不得不考虑硬件加入加速单元。光追等其他花活同理。
老黄说,英伟达不是芯片公司,而是软件公司。它的意思是,芯片只是英伟达软件帝国的核心,它是围绕这个芯GPU把一切软件生态都做了。2024年初,英伟达拥有约24000工程师,其中17000是软件开发者。
这种方式,让AMD即使技术路线紧紧跟随,但团队构成截然不同使得后者连抄作业都抄不动。所以 A高管才会在媒体上说,AMD不准备再弄一套CUDA,除了没天时,还因为抄不动。
目前AMD和业界所认为的“CUDA软肋”,其实不过是新的增长点即大模型训练,这些软件上层框架可以绕过CUDA直接调用CPU的编程接口,代表就是PyTorch。
但这也只能说明,在这个新兴领域,CUDA具有可替代性,AMD等厂商有了机会。并不能说明CUDA将错失这个新风口,更不能说明CUDA将被全面取代。
实际上,DLSS的算力瓶颈在张量计算,于是老黄往卡里加入了TensorCore。然后,GPT火了,人们发现大模型训练,需要大量的张量计算,加上既有的CUDA软件栈。英伟达股价原地飞升,一路超越苹果台积电微软,坐上世界第一,AMD和英特尔加一起市值都赶不上老黄。这泼天富贵到底是巧合还是英伟达早有准备?
CDNA发现至今,尤其是MI300系列,通过整合几种先进封装的方式,将HBM、CPU、GPU整合在一起。Infinity Fabric将多个CPU/GPU小芯片灵活配置,支持UMA并支持最多八路并行仍可以维持访存一致性,又能够保持强大的计算性能。这一切都表明,AMD在苏妈的带领下,拥有很强的芯片设计能力。
但即便如此,苏妈的投资者电话会议吹风,也只敢说目标的市场占有率为10%,和老黄比,这是一个何其卑微的目标?
AMD可以靠Zen架构蚕食Intel CPU在服务器领域、在客户端PC领域的存量市场从Intel身上撕下一块块肉,却对黄教主打下的江山毫无办法。
相关教程
2024-11-17
2024-11-17
2024-11-16
2024-11-15
2024-11-14
2024-11-13
copyright © 2012-2024 win10系统家园 qdhuajin.com 版权声明