算力已经成为数字经济发展的核心驱动力。支撑宏观算力的微观计算架构,以及围绕着计算架构所形成的软硬件技术堆栈,还有由软硬件堆栈衍生的相关产业链,可以统称为(围绕某个计算架构的)计算生态。
随着计算架构由单构(CPU同构)到多构(异构、多异构甚至异构融合),计算形态由单机到集群再到跨集群,计算生态变得越来越重要(其重要性超过计算芯片本身多个数量级)。行业巨头以自身芯片和计算框架为核心,构建了一整套的封闭生态体系,其他芯片公司的破局之道在哪里?
本文详细剖析。
随着算力需求越来越高,同构CPU的业务场景越来越少,基于GPU或AI等DSA处理器的异构计算已经成为主流。从发展的角度看,随着AI大模型等超高算力场景的持续挑战,未来会进一步从异构计算走向异构融合计算。
如果按照处理器类型的数量进行分类,可以分为三个大阶段:
在第一个大的阶段,虽然仅仅只有一个处理器类型,但其计算生态已经是地狱级难度。Intel x86架构的优势,是在众多处理器架构的厮杀中逐步确立的。随着x86的优势地位确立,基于x86架构的软件生态逐渐成熟,即便是Intel自己,设计了更加优秀的安腾处理器架构,也无法撼动这一局面。
第二个大阶段,可以分为两个发展阶段:
第三个大的阶段,有三个甚至更多的处理器类型,处理器之间的协同效应更加显著,在接下来的1.2节详细介绍。
2009年,黄仁勋宣布“NVIDIA是一家软件公司”,如今,NVIDIA已经发展成数万亿市值的超级公司,市值远超其他TOP5芯片公司市值之和。基于NVIDIA发展的标杆作用,大家能够理解生态的价值、重要性和构建计算生态的难度,之前我的理解和大家也是一样。
但最近几年,随着认识的进一步加深,我个人的想法得到了进一步修正:随着云计算等新的计算形态的发展,计算生态的作用,进一步提升,其作用比我们想象的要更加重要。计算生态的重要性,主要体现在如下几个方面:
我们定性分析一下(下面所有分析为定性分析,非定量分析):
CPU计算生态,目前主要有三个:
GPU计算生态,主流都是完全封闭的生态。GPU领域,主要有两个玩家:NVIDIA和AMD。GPU公司经常提及的架构,如NVIDIA的Ampere、Hopper等,通常指的是芯片具体实现的微架构。因此,NVIDIA的各类GPU架构,我们统称为NVIDIA架构GPU,AMD的各类GPU架构也类似,统称为AMD架构GPU。
类似ARM在CPU领域的角色,GPU领域的架构和IP提供商主要有Imagination和ARM,但这两者的GPU主要是用于图形加速,并且主要是面向低功耗的移动设备。在数据中心级的通用计算加速方面,还有很长的路要走。
此外,行业也兴起了一些开放GPU架构的声音。
佐治亚理工学院基于开源RISC-V开发的GPGPU Vortex是一个开源硬件和软件项目,在FPGA 上运行,支持 OpenCL。Vortex具有高度的可定制性和可扩展性,拥有完整的开源编译器、驱动程序和运行时软件栈,可用于 GPU 架构研究。
清华大学“乘影”GPGPU开源项目于2024年1月26日正式启动,“乘影”是清华大学集成电路学院何虎老师研发团队历经多年研发,采用RISC-V部分指令和自定义指令构建的通用GPU指令集架构。
用何虎老师的原话来说明开源GPGPU的价值:
参考文献:https://mp.weixin.qq.com/s/q8Y_DjDukiXjqSShWO1glw,开源GPU,能否弯道超车英伟达?,作者:杜芹,半导体行业观察。
通过上图,介绍一下DSA计算生态的整体情况:
DSA目前最火热的领域是AI,AI领域有众多的DSA芯片存在,如谷歌的TPU、AWS Trainium和Inferentia、SambaNova RDU、Tenstorrent AI处理器等。于是出现了谷歌OpenXLA框架,OpenXLA是一种面向AI领域的中间件框架。其设计理念类似于LLVM和TVM,上面对接主流的应用框架,如TensorFlow和Pytorch,下面可以映射到不同架构的芯片上。
不管是哪个领域,DSA形态的处理器要想发展的好,势必需要如OpenXLA一样,有一个中间层的框架来统筹软件和硬件,需要构建领域加速计算的生态,上接各类业务应用(或应用框架),下接各类架构处理器。最终,DSA的架构和生态逐渐收敛,形成统一的、开放的架构和生态。
参考文献:https://mp.weixin.qq.com/s/p8daMLluTQAEuj_HNzRA6Q,AI开发大一统:谷歌OpenXLA开源,整合所有框架和AI芯片,机器之心。
“软件定义”一个重要的领域是软件定义网络。我们的网络芯片都是ASIC,功能都是确定的,芯片提供什么功能,应用才能使用什么功能。但随着云计算等许多复杂网络场景的出现,网络协议的更新换代非常的快,客户亟需摆脱硬件的束缚,能够自由的根据自身业务场景的需求,快速的自主定义网络功能,因此才出现了软件定义网络。
硬件定义软件和软件定义硬件的区别在于“谁依赖于谁,谁约束谁”:
对一个芯片公司来说,其发展阶段通常是这样的:
不管是CPU、GPU、AI-DSA,还是DPU等等,凡是算力芯片,基本上都是如此。Intel、NVIDIA等行业巨头,是按照这个发展模式走过来的;其他芯片公司,也是按照这个模式在发展。我们给这个发展模式起一个名字:(私有的、封闭的)硬件定义(受约束的、依赖于特定平台的)软件的模式。
在Intel和NVIDIA发展的时候,采用硬件定义软件的发展模式,是可行的。那时候,行业没有其他成熟的计算架构和生态,Intel、NVIDIA和其他竞争对手是“公平”竞争,最终Intel和NVIDIA脱颖而出,各自占据了CPU和GPU的生态首位。
在Intel和NVIDIA成功之后,其强大的生态惯性,会对其他芯片生态形成抑制作用,从而使得其他芯片架构和生态的发展举步维艰。其他芯片公司要想成功,势必付出相比Intel和NVIDIA超出很多的努力,事倍功半。
系统越来越复杂,芯片工艺越来越先进。其他芯片公司(CPU领域Intel之外,GPU领域NVIDIA之外)按照硬件定义软件的模式,其发展的门槛非常高:
“山重水复疑无路,柳暗花明又一村。”陆游的这句诗,蕴含着深刻的人生哲理,即绝境之中蕴含着希望与转机,计算生态也是一样。
业务应用脱胎于计算芯片、框架和生态;当业务应用逐渐成熟,并且发展壮大以后,业务应用会逐渐“摆脱”了硬件而存在,形成自己的“生态”:
实际上,业务应用已经形成了一个(相比芯片生态)更加庞大的生态:开源软件生态。全球绝大部分互联网公司的业务应用,都是基于开源软件系统而构建的。典型的开源软件如Linux、OpenStack、Kubernetes、Pytorch、Tensorflow等。
业务应用形成自己的业务生态之后,接下来做的事情,就是逐渐重构底层的软硬件堆栈,我们把这种新的模式称为:(开源)软件定义(开放)硬件模式。新的模式可以分解为三个发展阶段:
软件定义硬件的方式,是一个渐进式的发展路径。全行业整体投入是巨量的,但单个企业的投入相对有限。每家企业可以根据自己的资源和技术优势,拥抱开源,融入开源,在开源生态里找准自己的定位,实现自身的成功。
下方表格是软件定义硬件模式和硬件定义软件模式的区别。
好文章,需要你的鼓励
OpenAI 的 ChatGPT 爬虫存在安全漏洞,可被利用对任意网站发起分布式拒绝服务攻击。攻击者只需向 ChatGPT API 发送一个包含大量重复 URL 的请求,就能触发爬虫对目标网站进行大量访问。此外,该漏洞还可能被用于绕过限制,让爬虫回答查询。这些问题凸显了 AI 系统在安全性方面的潜在风险。
三星即将发布的Galaxy S25 Ultra旗舰手机将带来多项升级,尤其是相机方面。据泄露信息显示,新机将支持高分辨率视频拍摄、超广角微距模式、AI音频擦除等功能,并集成Google Gemini AI助手。这些升级将大幅提升用户体验,令人期待。
本周科技圈风云激荡:TikTok 面临美国最高法院裁决,或将被迫停运;Meta 在美国终止事实核查,引发争议;ChatGPT 推出全新任务功能,为用户提供智能日程管理;Beat Saber 在 Quest 平台销量突破千万,AI 电影制作技术展现惊人潜力。
AI正重塑人类生活的方方面面,从商业到国防再到社会政策。AI计算能力与全球影响力息息相关。各国和企业纷纷投资巨额资金建设数据中心,以增强AI实力。预计到2030年AI市场规模将达1.81万亿美元,掌握最佳数据和计算平台的国家将占据优势地位。AI计算力的竞争已成为21世纪全球力量的决定性较量。