自适应计算加速软件定义硬件时代到来

本文于 9 月 2 日刊登于电子发烧友,作者程文智。

以前设计一个产品时,先要规划好硬件架构,等硬件设计全部完成后,才会开始软件部分的开发,然后才是完整产品的发布。现在,随着云计算、互联网的发展,以及AI、5G和自动驾驶的兴起,硬件和产品的开发流程需求在发生着前所未有的变化,比如更高的硬件性能、更高的安全和保密需求、不断增加的传感器类型和接口、不断演进的AI算法和模型,以及软件开发需要与硬件开发同步进行等等。

在这些新需求的推动下,“软件定义硬件”的概念被人多次提到,人们希望芯片中所有操作的控制和调度都由软件来完成,从而减少相应的硬件开销,把节省的部分用于运算和片上存储。这个愿望看起来很美好,但实现起来还是有不少难度的,比如FPGA可以实现一部分的软件定义硬件功能,但其效率比ASIC低,功耗却比ASIC高。那有没有什么更好的办法呢?

自适应计算的优势

赛灵思的自适应计算平台就是为此而生的。根据赛灵思的自适应计算白皮书和自适应计算专区,自适应计算以FPGA技术为基础,支持在芯片上动态构建特定领域架构(DSA)。也就是说,自适应计算允许DSA随需求变化进行动态更新,从而避免受到漫长的ASIC设计周期和高昂的NRE成本的约束。随着处理的分布式水平不断提高,自适应计算不仅能够支持软件的无线(OTA)更新,也支持硬件无线更新,而且更新可以几乎无线的次数反复进行。

“自适应平台”则指以自适应硬件为核心的任意类型产品或解决方案。自适应平台完全基于相同的自适应硬件基础,但其包含的内容远不止芯片硬件或器件,而是涵盖了全部的硬件和全面的成套设计软件和运行软件。

有了自适应平台后,硬件工程师可以从那些重复和低端的设计工作中解放出来,专注于自己擅长的专业功能的开发,软件工程师则可以跟硬件工程师同一时间开始设计工作,而不需要等到所有硬件全部设计好之后才开始工作。

当然,除了这个好处之外,自适应平台还有以下一些优势,包括加快产品上市进程、降低运营成本、可灵活且动态地配置工作负载、兼容未来以及可加速整体应用。

自适应计算成功落地案例

以前,工程师如果要使用FPGA,就需要自己构建自己的硬件板,并用硬件描述语言(HDL)配置好FPGA才行。如今,自适应平台的开发者只需要使用自己熟悉的软件框架和语言(比如C++++、Python、TensorFlow等),直接发挥自适应计算的效能。也就是说,软件和AI开发者不需要构建电路板,或者成为硬件专家,就能自如地运用自适应计算。

更为方便的是,工程师不仅可以通过API直接调用他们现有的软件代码,还可以使用独立软件供应商(ISV)生态系统和厂商提供的开源库,库里有大量的加速API可供使用。

以赛灵思自适应计算平台 Kria SOM和Alveo加速器卡为例。

•Kria SOM基于Zynq UltraScale+ MPSoC 架构而构建,支持开发者在交钥匙自适应平台上开发边缘应用。通过将系统的核心部分标准化,开发者有更多时间专注于打造差异化功能特性。

•Kria SOM是作为量产就绪型的产品来设计、制造和测试的。它可以承受各种严苛的应用环境。目前Kria SOM分为工业级和商用级两种类别,工业级支持更高的振动和更极端的温度,同时也有更长的生命周期等级和维保。

•主要针对智能视觉的应用,可用于智慧城市中的高速目标检测,如车牌识别等应用。同时还可以用于工业产线上的机器视觉应用。


•Alveo 加速器卡采用行业标准的PCI-e接口,可为任意数据中心应用提供硬件卸载能力,同时还可用于SmartSSD存储,在存储访问点上进行加速。此外,还能用于SmartNIC,直接在网络流量上提供加速。

•Alveo SN1000 SmartNIC 扩展了SmartNIC的性能包络,其以数据中心和边缘计算平台为目标,结合了高性能网络、CPU集群和大规模FPGA,在一块板子上构建了一个高性能计算(HPC)平台,具有显著的网络加速功能。

•Alveo SN1000 SmartNIC采用标准化和软件框架,不需要直接处理FPGA的编程,使用更加方便。工程师可以利用赛灵思或第三方支持FPGA中使用的大部分固件,甚至CPU集群上运行的软件。

•在应用方面,Alveo适用于基因组学分析、图形数据库、医疗影像的处理分析,以及基于视频影像监控类应用。在应用落地方面,已经有数据中心及基因测序应用方面都有应用。

结语

软件正在改变硬件,软硬件的结合发展将会改变产品的形态,进一步改变我们的生活。虽然现在软件定义硬件并没有大规模铺开,但不论从我们常用的手机应用,到工业应用,以及自适应计算平台中软件的作用,我们可以明显看到软件在产品中所起到的作用越来越大。未来自适应计算平台必将加速软件定义硬件时代的到来。

最新文章

最新文章