最近,AMD正式发布了其Instinct MI200系列GPGPU加速卡,进一步进军GPGPU市场。
与传统的GPU不同,MI200系列主要针对的并不是游戏和渲染应用,而是高性能计算(如人工智能,科学计算)应用,即GPGPU(general-purpose GPU)。这样的定位显然与Nvidia主推的基于CUDA生态的GPGPU(如A100)相同,因此可能在GPGPU市场的竞争格局产生影响。当然,MI200并非AMD的*款GPGPU。在这之前,AMD也推出过MI50和MI100系列GPGPU,虽然在整个市场上声势并不大,但是也积累了不少设计和软件方面的经验。这次推出的MI200系列的性能可谓不俗,在科学计算常用的64位浮点数(FP64)性能可达Nvidia最新款GPGPU A100的近5倍,而在人工智能常用的16位浮点数(FP16)方面也可达到A100的1.2倍,搭配的内存方面内存大小可达A100的1.6倍,内存带宽也是A100的1.6倍。与Nvidia全力投入人工智能常用的低精度FP16不同,MI200仍然兼顾了科学计算常用的FP64,这可能也是想在某种程度上与Nvidia实现差异化竞争。
在架构方面,AMD在MI200中也使用了其引以为豪的chiplet高级封装技术,而这也使MI200成为*使用chiplet技术的多晶片(multi-die)GPU。具体来说,MI200的基本chiplet单元称为CDNA-2晶片,每个CDNA-2晶片拥有290亿个晶体管,包含有112个计算单元(CU),并且搭载了4个HBM2E内存接口,以及8个用于封装内互联的Infinity Fabric Link。每个MI200 GPU则是把两个这样的CDNA-2 chiplet使用2.5D封装技术封装在一起。另外,一个容易被忽略的细节是,MI200拥有CPU和GPU之间支持内存一致性(coherency)的互联,这使得MI200配合AMD的CPU有机会实现CPU和GPU共享内存空间,这样就能减少CPU到GPU内存复制造成的额外开销。
总体来说,AMD MI200的硬件性能可以与Nvidia A100相媲美,在一些高性能科学计算领域甚至比起A100更强。考虑到明年Nvidia可能会发布A100的下一代GPU并且预计有大幅性能提升,AMD的MI200暂时还不太可能直接取代Nvidia占据GPGPU性能最强的宝座,但是这样的性能已经足以使得AMD的GPGPU成为Nvidia GPU一个有力的替代性方案,尤其全球半导体持续缺货的形势也使得许多云端高性能计算的大客户有考虑Nvidia替代型解决方案的动力。
AMD的GPGPU生态逐渐进入主流
事实上,Nvidia能占领GPGPU和AI加速芯片领跑地位不仅仅是依靠其强大的芯片性能,围绕芯片性能的CUDA软件生态也是Nvidia的一个重要护城河。具体来说,如何能给开发者提供一个易用的软件接口,能与上游主流生态框架(例如人工智能领域的PyTorch,TensorFlow等)相集成,并且能较为简单地就能充分利用芯片的性能,是一个需要长期积累的过程,同时一旦成功则会形成一个很高的护城河。
在这方面,AMD的软件生态相对于Nvidia的CUDA而言,处于后发地位,这也是阻碍AMD真正进入GPGPU主流市场的重要瓶颈。然而,随着AMD多年来在这方面的投入,AMD的相关生态也在逐渐成为主流可选项之一。
最初,在GPGPU加速人工智能刚刚进入主流视野中时(2012-2015年),就在Nvidia已经大局投入CUDA生态时,AMD却没有官方动作,想要在AMD的GPU上做高性能计算还需要借助第三方OpenCL,开发并不容易。AMD从2015年底开始真正由官方推出一套能支持人工智能等高性能计算的生态环境(ROCm),相比Nvidia的CUDA(2007年推出)落后了整整八年的时间。虽然在ROCm推出之初并没有得到业界大规模应用,但是好在AMD并没有放弃这项投资。在经过五年多的努力之后,今天ROCm相对于刚推出时的状态而言,其成熟程度已经接近了主流选项之一。举例来说,目前ROCm已经完成了和主流人工智能框架TensorFlow和PyTorch的整合,在PyTorch中甚至绝大多数接口都和CUDA版本完全一致,这就大大降低了开发难度。
公平地说,目前AMD的一套软件开发生态已经达到了“可用”的状态,但是相较于CUDA生态还有一些距离。首先,在训练方面,ROCm做单卡训练已经不成问题,性能也不错,但是分布式训练仍然需要一些额外的支持。另一方面,在推理方面,AMD仍然缺乏对应Nvidia TensorRT这样的高性能推理工具链,因此如果想要在AMD的GPU上做高性能人工智能推理还需要做大量的工作。这或许也是AMD在这次发布MI200的时候,仍然把重点放在了环境较为简单的科学计算,而对人工智能只是兼顾。
由于目前AMD的ROCm已经到达了可用的状态,我们预计下一步AMD会继续和对于云端计算有大量需求的互联网巨头合作,一起进一步共同开发ROCm生态环境。对于互联网巨头来说,他们有足够的技术团队来支持和开发基于AMD平台的人工智能训练和部署软件,同时他们也有动力去做这件事情,因为拥有AMD和Nvidia两个供货商,比起只有Nvidia一个选项来说,无论是从芯片供应稳定性还是芯片售价来说,都会好很多。而AMD也可以借助这样的合作共同开发来进一步打磨软件生态以及芯片架构,预计会在未来三到五年内会真正成为Nvidia在GPGPU领域真正的竞争对手。
AMD的服务器市场势头强劲
这次AMD发布MI200进一步增强了其在云端服务器市场的地位。这个月早些时候,AMD刚刚公布了和Facebook(现名Meta)的合作计划,其CPU将正式进入Facebook的云端服务器中心。而在这之前,AMD还公布了和谷歌的合作计划,可见目前AMD的CPU在云端服务器市场正在逐渐蚕食Intel的份额。而在云端人工智能加速卡领域,MI200的发布也将成为一个重要的里程碑,虽然它不能直接取代Nvidia的GPU,但是我们认为AMD距离成为主流GPGPU供货商仅仅一步之遥。更重要的是,云端的CPU和GPU之间存在很强的协同效应,一旦AMD的CPU和GPGPU同时成为云端服务器中心的主流选项,那么两者之间的协同效应将使得AMD在这个市场拥有更强的话语权(这也是Nvidia一直在寻求收购ARM的主要原因,因为Nvidia也希望能在CPU领域拥有更强的自研能力)。同时,由于AMD同时在CPU和GPU方面有积累,其之前已经投入多年的共享内存空间技术也可望随着AMD的CPU和GPU成为服务器领域的主流选项而获得更多应用,从而进一步提升AMD的该市场的技术实力。我们认为,未来AMD在服务器领域的与机会获得更多的市场份额和话语权,同时这个市场的竞争格局也将随之发生改变。