一个新的时代似乎已经到来。
英特尔,这位CPU领域的绝对王者开始频频与“软件为先”和“XPU”等词进行捆绑。同样值得关注的是英特尔的老对手英伟达以及AMD,在过去的一年中,英伟达宣布收购Arm,AMD则提出收购赛灵思。
冥冥之中,这些巨头似乎都开始瞄准了同一个方向——“异构计算”。
异构计算时代到来
所谓异构,就是将CPU、DSP、GPU、ASIC、FPGA等不同制程架构、不同指令集、不同功能的计算单元,组合起来形成一个混合的计算系统。
为什么需要异构计算?原因很简单:我们需要越来越强大、越来越高效的计算系统。在过去,随着半导体技术的进步和频率的提升,绝大多数计算机应用不需要结构性的变化,或者特定的硬件加速,即可不断提升性能,但是现代应用经常会碰到内存、功耗方面的限制。此时,引入特定单元、让计算系统变成混合结构就成了必然,每一种不同类型的计算单元都可以去执行自己最擅长的任务。
有资料显示,异构计算提高了处理效率。异构计算能够充分发挥CPU/GPU在通用计算上的灵活性,及时响应数据处理需求,搭配上FPGA/ASIC等特殊能力,来充分发挥协处理器的效能,根据特定需求合理地分配计算资源。
其次异构计算成本利好。由于目前神经网络算法和与之对应的计算架构层出不穷,如果采用不断更新ASIC架构的方式,最终下沉到用户和企业身上,就会导致使用成本和替换成本过高。因此,最好的解决办法就是将多种计算架构融合在一起,生命周期变长,在产业落地上具有更大的优势。
英特尔中国研究院院长宋继强曾在采访中表示,如果说传统计算架构是一种烧汽油的引擎,那么异构计算就是一种混合动力引擎甚至新能源引擎,并且“动力十足”,能够推动人工智能、5G等新兴领域更好、更快地发展。
三大巨头割据战
事实上,异构计算并不是近两年来兴起的概念,早在上世纪80年代,异构计算就已经诞生,随着计算需求呈指数级增长,异构计算也经历了CPU+GPU、FPGA等多种路线之争。
2003年,AMD推出了业内首款x86-64架构处理器,开启了64位计算时代。2006年,AMD收购了著名GPU厂商ATI,就在宣布收购的第二天,AMD便迫不及待地宣布要把高性能CPU、GPU做到同一颗芯片上,并在三个月后为这一项目命名为“Fusion”(融聚),又过了两个月提出了全新的“APU”(加速处理器)概念,后来甚至还把Fusion写入了公司口号中。看上去似乎是另外一种集成显卡,从主板上转移到处理器中而已,但是关键就在“加速”二字。怎么去加速?答案就是——异构计算。
当然,“Fusion”这条路走得很艰辛。从最初宣布到最终发布,APU花了足足四年半的光阴,期间经历了GPU加速计算的崛起、GPU/GPU地位之争,直到2010年初才开花结果。
有意思的是,也就在同一年,英特尔也迅速跟进,发布了Sandy Bridge,将CPU、GPU整合到了一起,虽然被业界戏称为“只不过是在CPU里集成了显卡”,没有实现APU那样的高度融合,但也开始了异构计算的探索之路。而在这期间,英伟达也以其大规模的并行GPU和专用GPU编程框架CUDA进入了主流市场。
2012年,AMD成立了一个HSA(异构系统架构)基金会,拉了ARM、Imagination、联发科、德州仪器、三星等众多一线大厂一同上阵,主推一个叫做OpenCL的异构编程框架。HSA联盟发展了两年也有一些新成员加入,但是总的来说对英特尔威胁不大。
直到2017年,赛灵思推出的一款新器件对英特尔造成了直接的威胁。一款基于16nm FinFET 3D晶体管的FPGA新品---Zynq UltraScale MPSoC,这其实就是一款异构处理器。赛灵思表示,用了他们的新工具可以把可编程资源利用率提升到95%,这基本上和ASIC没有两样。有报道指出,此举直接推动了英特尔收购赛灵思的竞争对手——Altera。
业界对于英特尔收购Altera的决定议论纷纷,但不可否认的是,英特尔此举是要加强其在数据中心领域的竞争力。有趣的是,在英特尔拿下Altera的时候,市场曾经传言赛灵思曾经考虑并购 AMD,现在则是 AMD 收购赛灵思了。
2019年,英伟达以 70 亿美元收购服务器端到端解决方案厂商迈络思 (Mellanow),2020年400亿美元收购 Arm,都是为了在未来的数据中心市场抢占先机。
异构计算会成为未来数据中心处理器的主流,在这方面,英伟达和 AMD 都有着相同的战略思路。
英伟达收购Arm让雄心勃勃想在数据中心市场大干一场的 AMD 直接感受到了威胁,也促使苏姿丰去考虑收购赛灵思。AMD 同样拥有 CPU 和 GPU 产品,赛灵思可以给他们带来数据中心市场的加速能力。
不难发现,在英特尔、英伟达以及AMD三方混战多年后,随着异构计算的到来,市场局面开始出现松动。经过一系列收购以及自研行为,这三大处理器头部厂商都在向CPU+GPU+FPGA/NPU的方向靠拢,为异构计算之战备足“粮草”。
时至今日,我们再看这三大巨头,他们已经产生了很大的变化。
2020末,英特尔宣布重返独显市场,正式发布了独立显卡iRIS Xe Max。在一系列的收购行为后,英特尔弥补了PC产品线的关键零部件,也成功实现了XPU异构计算架构。
而AMD对赛灵思的收购,也释放出强化异构计算布局的信号。在具备“CPU+GPU”计算架构的基础上,FPGA的可编程特质,能进一步提升计算平台的灵活性,从而适应AI时代根据不同工作负载进行加速的需求。
同样重要的是,诚如前文所言赛灵思本身对异构计算就颇有研究,2017年推出异构计算处理器,同时还推出了Versal ACAP异构计算平台,以缩短车载多传感器同步和融合所带来的系统整体响应时间。
英伟达收购ARM,不仅弥补了缺乏CPU的短板,也将英伟达的AI计算平台拓展到移动生态。值得注意的是,ARM也在异构计算有所涉猎。基于开源的开发框架ARM NN,开发者可以调动ARM CPU、GPU及NPU,实现异构AI开发。
异构计算的困境
技术变革意味着挑战,更意味着机遇。芯片领域目前的格局变化已经充分证明了这一点。异构计算带来的硬件复杂性,对编程人员提出了严苛的挑战。
不同开发框架之间的性能表现、兼容性,以及学习成本一直是影响开发效率的主要因素之一,复杂的开发环境、无法同步更新的框架导致开发者会花费不少精力去自行解决问题。这些都依赖于生态链的建设。标准的制定与推广,语言、编译器、框架、运行库等的支持,都不是易事。
在此基础上,英特尔推出了oneAPI,据悉,oneAPI可以简化并且统一跨不同架构、跨不同厂商之间的编程,它是一个鼓励社区和行业支持的一种开放、标准的解决方案。
英特尔并不是唯一一家意识到生态链的重要性的厂商,在这方面,英伟达推出了CUDA,AMD推出了ROCm,华为也陆续推出了Atlas、CANN等面向异构场景的平台及架构。
其次,虽然从表面上看,异构计算是一个硬件的物理叠加,但真正要释放其全部能力,最终有赖于从硬件到软件的整体式设计。未来的异构计算,不仅仅是单一的技术点,而是多技术点的集合。
为了建立完善的软硬件体系来支撑全新异构计算体系,进而解决生态问题,使下游产业链用户主动采用异构计算技术,AMD、高通、ARM、三星、北京华夏芯等成立了全球异构计算系统HSA(Heterogeneous Syste Architecture)联盟,IBM、Google、英伟达等成立了OpenPOWER联盟,Intel则自成体系。
再来,要找到异构计算的优势场景并不容易。目前AI似乎是实现落地的理想领域,但AI 是一门较为复杂、综合的学科。在只有 CPU 平台的情况下,AI 开发者要学习的算法、模型、框架、编程语言已经不少。如果再考虑多个不同处理器平台,情况会变得更为复杂。
说在最后
随着5G、AI、云计算、大数据、IoT等技术推动的万物互联时代即将到来。IDC预测数据显示,到2023年全球各种类物联网终端数量将达352亿个,海量连接产生的数据量达175ZB。
随着数字化进程的推进,算力需求将越来越大,数据中心将逐步演变为计算中心,算力将成为新的生产力。在多种数据类型和场景驱动下,异构计算将获得快速发展,让异构计算如何顺利融入产业,成为目前值得思考的问题。
但无论如何,我们可以确信的是,异构计算时代真的来了。