中文 英语

RISC-V针对数据中心

随着生态系统的成熟,开源架构在更复杂的设计中获得了一些吸引力。

受欢迎程度

RISC-V供应商开始在计算层次结构中瞄准更高的目标,目标是数据中心和超级计算机,而不仅仅是简单的边缘嵌入式应用程序。

在过去,这对于一个新的指令集架构来说几乎是不可能的。但是,对异构芯片集成的日益关注,再加上规模扩大的好处减少,以及对专用加速器的需求增加,为新来者敞开了大门。据估计,目前有200家初创公司正在开发AI/ML加速器,其中一些公司正在使用RISC-V作为起点。

使RISC-V特别吸引人的是修改源代码的能力。这提高了它在边缘和嵌入式应用程序中的受欢迎程度,但也激发了希望使用这种开源软件的公司的兴趣ISA用于更高性能的应用程序。

“一开始,出于节省成本的原因,它主要针对低端微控制器,”英特尔首席执行官西蒙·大卫曼(Simon Davidmann)说治之软件.“然后,人们开始尝试做巨大的过程数组和高端向量。但在过去的六个月里,许多公司都对高性能核心(介于高性能计算和嵌入式之间的中间阶段)产生了浓厚的兴趣。这些内核是多线程的,多核的,多集群的,就像高端的Arm,它们正在推动速度的极限。他们试图达到3或4千兆赫,所以这些不是低成本的嵌入式核心,也不是巨大的阵列。它们是真正高性能应用类型的处理器。在RISC-V生态系统中,最初是低端的‘免费’努力,到高端的‘自由’工作,现在是这些高性能核心,这表明RISC-V作为一种架构适用于所有这些不同的领域。”

可以肯定的是,不会有一个处理器用于高性能计算。但是RISC-V可以是工具箱中的另一个工具。

英特尔IC验证解决方案营销总监Neil Hand表示:“当你看到高性能计算时,它并不是一个快速的大型处理器西门子EDA.“这不是重点。欧盟所有的顶级计算系统都是大型分布式计算机。在高性能计算中,单个核心的大小无关紧要,因此任何处理器都可以用于高性能计算。RISC-V可以在几个方面发挥作用。它可能成为Arm的替代品,有些公司正在尝试这样做,并制造更复杂的RISC-V处理器。但有趣的是你可以自定义它。它不必是一个高度并行的处理器,也不必处理多线程或多核,因为当你看到高性能计算时,它们被用在哪里?其中很多用于特定的应用。你想做蛋白质折叠吗? Are you a military company trying to simulate decay of your military weapons over time in storage? When you start looking at those areas, you can build coprocessors for that specific application. And how do you build a co-processor? In the old days, you just built a hardware co-processor. Today, you could build a programmable co-processor, which could be RISC-V-based because you can take open source software and tool chains and make it all work. That’s not to say you couldn’t do the same thing with a hardware co-processor like an Arm or an Intel, but this gives you another degree of freedom.”

成熟的标志
该领域的另一个重大变化是工具数量的增长,这使得开发这些定制加速器或处理器变得更加容易。

“对于过去几十年从事高性能计算工作的人来说,最令人兴奋的事情就是他们拥有的工具的数量,”Hand说。“我们已经不再是那种‘哦,我必须去做一台Cray才能有机会做一些有意义的事情,或者让我去做一组英特尔(Intel)个人电脑去做一些事情。“现在你可以构建丰富的异构计算环境,我们从云供应商那里看到了这一点——谷歌构建ML处理器,AWS添加带有加速器的Arm处理器,百度进行自定义进程,并在其系统中使用fpga,等等。您可以访问AWS,将自定义FPGA板放入带有防火墙的集群中。你可以把一个RISC-V CPU放在你的[虚拟]机器的FPGA板上,这一切都是远程控制的。机会是巨大的,这只是另一个杠杆。”

这些在RISC-V社区中都没有丢失。“RISC-V的一个很好的特性是它的可扩展性和模块化ISA,所以在同一个高性能计算产品中可能会有几种类型的RISC-V,”Zdenek Prikryl说Codasip.“他们中的许多人支持某种向量处理,以并行处理大量数据。它可以由即将推出的RISC-V [V]扩展实现,也可以由定制的VPU(矢量处理单元)实现。这种向量支持是满足AI/ML或HPC领域常见的其他数据密集型计算所必需的。系统中可能存在其他risc - v,用于控制原因或数据移动任务。因此,正如你所看到的,你可以将相同的ISA用于不同的目的,这是RISC-V的首要目标之一。”

事实上,领域特定架构的开发是目前在百亿亿次计算竞赛中的最佳解决方案Aldec.“开源和可定制的RISC-V ISA为实现这一目标提供了一条现实可行的道路,但它需要整个行业的合作,共同创建一个坚实的基础设施、软件/硬件工具链和生态系统。各个科学领域的创新是高性能计算背后的主要驱动力,每个领域都有一组独特的计算需求和工作负载。这些需求可以通过RISC-V的模块化设计方法和可定制的指令来满足。未来基于单一ISA的新系统和soc将提供许多优势。我们知道ISA是硬件和软件组件之间的主要接口,但它也充当硬件和软件团队之间的契约。对于今天的soc来说,至少有五种不同的isa。为整个SoC使用单一ISA将简化开发和业务周期中的许多领域。”

这可以大大加快工程团队的流程。

Aldec硬件部门总经理Zibi Zalewski说:“大多数高性能计算算法仍然以类似c语言的源代码形式存在,这使得它们可以被广泛的软件开发人员、科学家和研究人员使用。”“这些算法需要快速运算才能解决实际问题。因此,基于FPGA器件的硬件加速器在高性能计算中越来越流行。要在基于FPGA的硬件中实际使用算法,必须使用高级综合来转换算法,或者在HDL中重写算法,以考虑FPGA架构的细节和优点。但这是一个耗时的过程。它需要适当的技能和经验,这意味着用户组仅限于FPGA工程师。然而,如果RISC-V在FPGA中实现,该过程可能会更快,并可供更多用户使用。在FPGA加速板等平台上实现的算法,采用板上RISC-V,允许硬件加速和可伸缩性,而无需将代码移植到HDL。此外,RISC-V的可定制特性允许设计团队根据算法要求调整处理器,以实现最佳效率。”

缩放基金会
这在很大程度上与RISC-V最初的目标一致。其中一个基本原则是可伸缩性。

SiFive工程副总裁梅根·瓦克斯(Megan Wachs)指出:“他们希望ISA能够从微小的嵌入式应用扩展到高性能矢量应用、人工智能应用和高度可扩展的应用。“它的设计是从32位和64位到128位,都使用相同的ISA。事实上,基于RISC-V的发展方式,RISC-V在边缘被谈论的主要是时机。它是非常新的,发展非常迅速,所以它首先在边缘被采用,因为这些部分的问题和标准已经制定得非常好。即将被批准的RISC-V向量扩展正在固化,管理程序和其他更复杂的扩展正在堆栈中向上移动,RISC-V基金会正在敲定这些扩展并将其固化。作为一个社区,RISC-V正在进步。”

SiFive全球通信主管James Prior指出,RISC-V的批准以及RISC-V载体的整体发展,激发了人们对RISC-V高性能计算的兴趣,因为每个人都或多或少地在遵循欧洲处理器计划(EPI)的领导。“他们正在使用RISC-V向量和RISC-V特定的IP来构建其soc的AI加速器部分。我们看到了人工智能架构的寒武纪大爆发,这很好。人人都喜欢竞争。它激发了创新,创造了各种各样巨大的解决方案,但它也有一个问题,现在每个人都在做同样的事情,同样的软件,但在不同的平台上。人们正在寻找的是商品化/标准化,这样他们就可以采用,而不会觉得自己在做所有的工作。他们希望更多地发挥社区的作用。”

Aldec的德卢纳表示同意。开源RISC-V ISA的灵活性是其最大的特点之一,但这也可能导致其最大的缺点,即碎片化。如果灵活性以某种方式变得不受约束,就会导致不兼容性。软件应用程序、操作系统、编译器、调试器在一个给定的实现上可能与另一个实现不兼容,这需要防止。”

与此同时,选择正确的RISC-V核心也是一个挑战。Zalewski表示:“目前已有多种RISC-V内核可供选择。“选择哪一个是一个挑战。对于HPC应用程序来说,哪一个足够成熟、足够快且易于扩展?这需要知识和专业技能。”

下一个步骤
Codasip的Prikryl预计RISC-V内核很快就会成为主要的cpu。“我们只需要完成一些作业,比如管理程序扩展,并实现RISC-V的高级版本。最后一个重要的考虑是,在这些用例中,内存子系统也是至关重要的。系统必须正确地向矢量处理单元提供数据,这样所有的并行性都可以被适当地利用。”

无论是好是坏,这也将RISC-V的可见性提升到了一个新的水平。“如果你要使用工具箱中的新工具,你必须确保工具不会坏,”西门子EDA的Hand说。“RISC-V的挑战在于,一旦你对它进行了定制,虽然你可以输入定制指令来获得10倍、20倍、100倍的性能提升,但你必须确保它能正常工作。”

这意味着灵活验证需要解决方案,包括将机器学习应用于工具,更好的验证环境,以及便携式刺激的使用。汉德说:“所有这些都有助于我们达到这一目标。”“有了RISC-V,你就有了一个框架,所以90%的工作都完成了。你已经有了核心指令集,核心编译器,你知道如何连接到api,这就是高性能计算有趣的地方。如果你要构建一个处理器,你可以去构建一个自定义处理器,或者你可以去利用一些现有的东西。它并不是为了和英特尔的个人电脑台式机竞争,但是你可以把2000个这样的芯片放在一个核心上,把这个芯片放在一个数据中心,现在你就有了一个非常快的系统,可以处理任何你想看的东西。但是,我们必须再次回到如何验证它们的问题上。”

RISC-V的超级计算
RISC-V高性能计算领域的一个例子是巴塞罗那超级计算中心。

巴塞罗那超级计算中心MareNostrum实验百亿亿次级平台(MEEP)协调员约翰·戴维斯(John Davis)说:“欧洲正试图理解它如何在高性能和数字化时代变得相关。”“数字自治或主权有很大的推动作用,而这一主权部分确实推动了这种关于高性能计算的观点。从BSC的角度来看,我们正在为HPC提出一个完全开放的堆栈,从处理器和加速器一直到软件端。我们已经在Linux软件方面做到了这一点。我们是第一个在2004年部署Linux作为超级计算机操作系统的超级计算中心。我们研究了各种开源和闭源的软件堆栈,但对于许多HPC组件,有许多开源变体。我们需要创建一个专门的基础设施,如果没有一个开源的生态系统,这是很难做到的。有了RISC-V,我们不仅可以改变硬件,还可以改变软件,而以前只能改变软件。然后这个问题就变成了生态系统的成熟度问题。”

在硬件方面,这是接近的,戴维斯说。“你可以用任何ISA构建处理器并完成任务,因为你有能力自定义ISA,你可以添加指令等,你可以让它工作。从软件生态系统的角度来看,虽然开源软件非常有用,但你仍然需要将该生态系统移植到平台上,因此软件成熟度可能是广泛采用RISC-V的最大障碍,这需要时间。”

不过,超级计算还有很多需要开发的部分,包括驱动程序支持、Fortran最新版本的Fortran支持、操作系统、库和应用软件。“我们正在提供从硬件到软件的全栈支持,”戴维斯说。“我们在2019年5月贴出了一个芯片。它是一个微控制器,但它是让我们走上构建具有高性能计算领域功能的芯片之路的第一步。我们也在开发具有类似功能的加速器。”

结论
目前还不完全清楚RISC-V将在哪里获得最大的吸引力,但这种开源ISA的市场显然正在扩大。工具和验证方面仍然存在问题,与更具商业导向的竞争对手相比,它的表现如何仍是悬而未决的问题。但至少,没有人还在质疑RISC-V是否有未来,以及它是否是市场份额和人气的有力竞争者。

现在的问题是,在高性能应用程序中,它在真实条件下的表现如何。设计界的许多人都将密切关注。



留下回复


(注:此名称将公开显示)

Baidu