云计算和AI模型正日益占据主导地位,实时数据处理和分析已成为许多应用不可或缺的功能。
以配备高级驾驶辅助系统(ADAS)的车辆为例,它们需要依赖实时处理和分析来确保关键安全功能可以正常发挥作用,比如
盲点检测和自动制动
。
海量数据(更不用说更大的AI模型)需要强大的算力,这已成为一个不可回避的事实。
一直以来,HPC应用非常看重性能表现。然而,随着对电网停电等不利事件的担忧与日俱增,人们越来越关注性能功耗比。正因为如此,我们开始注意到大家对全面提升能效的兴趣愈发浓厚。在某些情况下,性能会受到功耗或能耗的限制。有时,系统无法以目标速度运行,原因就在于其功耗太大。鉴于此,如果可以降低设计的能耗,并确保系统处于其功耗限制范围内,那么就有机会提高系统的运行速度,使其接近其性能极限。
但问题是,若是等到设计过程的最后阶段才考虑解决能效问题,往往已经来不及,因为到那时,架构已经定义好,许多设计决策已做出,其间的每一个决策都会对功耗产生影响。在物理实现过程中,有时确实可以从设计中压榨出一些功耗,但收效甚微。
我们需要的是一种整体左移思维,即设计团队首先要定义:高能效的架构应该是什么样子?需要什么类型的IP,应选择数字信号处理(DSP)内核,还是用于特定功能的硬件加速器?系统应该运行多快?能否在适当的时候关闭设计的某些部分?是否可以降低时钟频率来节省功耗?内存子系统应采用怎样的架构?芯片应该采用什么样的工艺技术来设计?以上仅列举了与设计功耗相关的一小部分关键问题。
现在许多开发者会根据实际应用的工作负载来评估能耗,这确实是一种明智的方法。分析功耗曲线可以捕获降低功耗的相关线索,比如修改微架构、优化软件/硬件等等。幸运的是,现在有很多工具可以实现这一点。以AI初创公司SiMa.ai为例,该公司开发了一个专门的软件优先平台,可以在嵌入式边缘扩展机器学习(ML)。在2023年SNUG硅谷大会上,SiMa.ai重点介绍了如何使用硬件加速驱动型功耗分析来优化其设计的硬件架构、软件和编译器,从而将性能功耗比提高2.5倍。
在AI/ML设计和那些需要大量数据处理的设计中,毛刺功耗,即由于不必要的转换或冗余活动而浪费的功耗,可能占到设计总功耗的25%。RTL到门级毛刺功耗分析和优化解决方案可以协助识别毛刺功耗的源头,让开发者了解这些源头产生了多少毛刺功耗。虽然AI应用对功耗提出了更高的需求,但AI驱动型电子设计自动化(EDA)解决方案可以协助优化功耗、性能和面积。将来,也许可以应用AI来创建更节能的RTL代码,或是协助定义/改进设计的架构。