Loading [MathJax]/jax/output/SVG/jax.js
  • 中国精品科技期刊
  • CCF推荐A类中文期刊
  • 计算领域高质量科技期刊T1类
高级检索

机器学习辅助微架构功耗建模和设计空间探索综述

翟建旺, 凌梓超, 白晨, 赵康, 余备

翟建旺, 凌梓超, 白晨, 赵康, 余备. 机器学习辅助微架构功耗建模和设计空间探索综述[J]. 计算机研究与发展, 2024, 61(6): 1351-1369. DOI: 10.7544/issn1000-1239.202440074
引用本文: 翟建旺, 凌梓超, 白晨, 赵康, 余备. 机器学习辅助微架构功耗建模和设计空间探索综述[J]. 计算机研究与发展, 2024, 61(6): 1351-1369. DOI: 10.7544/issn1000-1239.202440074
Zhai Jianwang, Ling Zichao, Bai Chen, Zhao Kang, Yu Bei. Machine Learning for Microarchitecture Power Modeling and Design Space Exploration:A Survey[J]. Journal of Computer Research and Development, 2024, 61(6): 1351-1369. DOI: 10.7544/issn1000-1239.202440074
Citation: Zhai Jianwang, Ling Zichao, Bai Chen, Zhao Kang, Yu Bei. Machine Learning for Microarchitecture Power Modeling and Design Space Exploration:A Survey[J]. Journal of Computer Research and Development, 2024, 61(6): 1351-1369. DOI: 10.7544/issn1000-1239.202440074
翟建旺, 凌梓超, 白晨, 赵康, 余备. 机器学习辅助微架构功耗建模和设计空间探索综述[J]. 计算机研究与发展, 2024, 61(6): 1351-1369. CSTR: 32373.14.issn1000-1239.202440074
引用本文: 翟建旺, 凌梓超, 白晨, 赵康, 余备. 机器学习辅助微架构功耗建模和设计空间探索综述[J]. 计算机研究与发展, 2024, 61(6): 1351-1369. CSTR: 32373.14.issn1000-1239.202440074
Zhai Jianwang, Ling Zichao, Bai Chen, Zhao Kang, Yu Bei. Machine Learning for Microarchitecture Power Modeling and Design Space Exploration:A Survey[J]. Journal of Computer Research and Development, 2024, 61(6): 1351-1369. CSTR: 32373.14.issn1000-1239.202440074
Citation: Zhai Jianwang, Ling Zichao, Bai Chen, Zhao Kang, Yu Bei. Machine Learning for Microarchitecture Power Modeling and Design Space Exploration:A Survey[J]. Journal of Computer Research and Development, 2024, 61(6): 1351-1369. CSTR: 32373.14.issn1000-1239.202440074

机器学习辅助微架构功耗建模和设计空间探索综述

基金项目: 国家重点研发计划项目(2022YFB2901100);香港特别行政区研究资助局(CUHK14210723);北京市自然科学基金项目(4244107)
详细信息
    作者简介:

    翟建旺: 1996年生. 博士,特聘副研究员. 主要研究方向为机器学习辅助的EDA算法,包括微架构功耗建模、设计空间探索、物理设计

    凌梓超: 2000年生. 学士. 主要研究方向为计算机体系结构、功耗建模

    白晨: 1998年生. 博士研究生.主要研究方向为计算机体系结构、电子设计自动化

    赵康: 1982年生.博士,教授,博士生导师. CCF高级会员.主要研究方向为电子设计自动化、面向FPGA的编译优化、异构计算系统

    余备: 1983年生. 博士,副教授,博士生导师. 主要研究方向为电子设计自动化、机器学习

    通讯作者:

    赵康(zhaokang@bupt.edu.cn

  • 中图分类号: TP332

Machine Learning for Microarchitecture Power Modeling and Design Space Exploration:A Survey

Funds: This work was supported by the National Key Research and Development Program of China (2022YFB2901100), the Research Grants Council of Hong Kong SAR (CUHK14210723), and the Beijing Natural Science Foundation (4244107).
More Information
    Author Bio:

    Zhai Jianwang: born in 1996. PhD, assistant professor. His main research interests include machine learning-assisted electronic design automation (EDA) algorithms, including microarchitecture power modeling, design space exploration, and physical design

    Ling Zichao: born in 2000. Bachelor. His main research interests include computer architecture and power modeling

    Bai Chen: born in 1998, PhD candidate. His main research interests include computer architecture and electronic design automation

    Zhao Kang: born in 1982, PhD, professor, PhD supervisor. Senior member of CCF. His main research interests include electronic design automation (EDA), compiling optimization for FPGA, and heterogenous computing systems

    Yu Bei: born in 1983. PhD, associate professor, PhD supervisor. His main research interests include electronic design automation (EDA) and machine learning

  • 摘要:

    微架构设计是处理器开发的关键阶段,处在整个设计流程的上游,直接影响性能、功耗、成本等核心设计指标. 在过去的数十年中,新的微架构设计方案,结合半导体制造工艺的进步,使得新一代处理器能够实现更高的性能和更低的功耗、成本. 然而,随着集成电路发展至“后摩尔时代”,半导体工艺演进所带来的红利愈发有限,功耗问题已成为高能效处理器设计的主要挑战. 与此同时,现代处理器的架构愈发复杂、设计空间愈发庞大,设计人员期望进行快速精确的指标权衡以获得更理想的微架构设计. 此外,现有的层层分解的设计流程极为漫长耗时,已经难以实现全局能效最优. 因此,如何在微架构设计阶段进行精确高效的前瞻性功耗估计和探索优化成为关键问题. 为了应对这些挑战,机器学习技术被引入到微架构设计流程中,为处理器的微架构建模和优化提供了高质量方案. 首先介绍了处理器的主要设计流程、微架构设计及其面临的挑战,然后阐述了机器学习辅助集成电路设计,重点在于使用机器学习技术辅助微架构功耗建模和设计空间探索的研究进展,最后进行总结展望.

    Abstract:

    Microarchitecture design is a key stage of processor development. It is at the upper level of the entire design flow and directly affects core metrics such as performance, power consumption, and cost. Over the past few decades, new microarchitecture solutions, coupled with advances in semiconductor manufacturing, have enabled newer generations of processors to achieve higher performance, lower power consumption and cost. However, as chip design enters the post-Moore era, the dividends from the evolution of semiconductor technology are increasingly limited, and power consumption has become a major challenge for energy-efficient processor design. Meanwhile, modern processors are becoming more complex in architecture and the design space is larger, requiring designers to make accurate design metrics tradeoffs to achieve the most desirable microarchitecture design. Moreover, the existing stage-by-stage decomposition of the development and validation flow is extremely lengthy and time-consuming, and it is difficult to achieve global energy efficiency optimization. Therefore, how to perform accurate and efficient power estimation and design space exploration at the microarchitecture design stage becomes a key issue. To tackle these challenges, machine learning has been introduced into the microarchitecture design process, providing efficient and accurate solutions for microarchitecture modeling and optimization. We firstly introduce the main design flow of processors, microarchitecture design and its major challenges, then amplify machine learning-assisted integrated circuit design, which focuses on research advances in the use of machine learning techniques to assist microarchitecture power modeling and design space exploration, and finally conclude with a summary and outlook.

  • 随着人工智能的发展,深度神经网络(deep neural network,DNN)作为典型的机器学习模型已经被广泛地应用于边缘设备上[1-2],例如自动驾驶、智能家居、智慧医疗等应用领域. 然而,边缘设备拥有的资源(如能源、计算单元和存储单元等)是十分有限的,这限制了DNN在边缘设备上的高效部署. 尽管许多压缩技术[3-9]通过减少神经网络模型参数在一定程度上能够节省资源的使用,但随着压缩率的持续升高,模型推理准确率会产生明显的下降. 随机计算(stochastic computing,SC)[10-12]作为一种新兴的计算技术由于其特殊的数据表示和计算模式,使得其对于神经网络在硬件上的部署具有低能耗、低开销的优势. SC通过使用简单的逻辑门近似运算以替代传统浮点数计算中复杂的算术单元,大大降低了计算单元单位时间内的能耗,以及计算单元和存储单元的使用量.

    SC使用一个随机的0/1比特串来表示数据,它不同于传统的二进制比特串—每个位置具有不同的权重值. 对于SC数据来说,每个位置的权重都是一样的. 因此,SC数据在噪声环境中具有很高的数据容错性,1个比特位发生翻转,对整体数值的影响并不大. SC数据具有2种数据类型:单极(unipolar)数据和双极(bipolar)数据. 单极数据表示的是[0, 1]范围内的实数,双极数据表示[−1, 1]范围内的实数. 对单极数据来说,对任意的实数x(0x1),0/1比特串中的每个比特都有x的概率为1,都有1x的概率为0,即x=P(1). 图1(a)(c)中的比特串ABC均为单极数据表示. 例如,比特串A:11010100的长度为8,其中出现4个1,因此该比特串表示的数据xa=4/8=0.5. SC也可以表示−1~1的数据x,即双极数据. 这种数据表示方式只需要对比特串中1出现的概率进行简单地变换即可,即x=2×P(1)1. 因为概率P的范围一定是[0, 1],因此双极数据x通过线性变换被调整到[−1, 1]范围内. 图1(b)(d)中的比特串ABC均为双极数据表示. 例如,比特串A:11000000的长度为8,其中出现2个1,则P=2/8=0.25,那么数据xa=2×0.251=0.5. 对于SC数据来说,数据精度由比特串长度决定,数据比特串的位数越长数据表示越精确.

    图  1  基于随机计算的算术单元示例
    Figure  1.  Examples of SC based arithmetic units

    基于这样的数据表示方式,传统计算中的算术运算就可以利用概率知识来近似计算. 利用SC技术,传统浮点数运算中复杂的加法器、乘法器等算术单元可以用简单的逻辑门代替. 例如,对于单极数据来说,可以利用一个简单的与门(AND)来近似乘法运算(见图1(a)). 它是利用概率计算中,2个独立事件ABP(AB)=P(A)×P(B)来近似计算,即P(AB)=xa×xb. 对于双极数据的乘法来说(见图1(b)),可以用同或门(XNOR)来近似. 在概率计算中,P(AB)=P(A)P(¯B)+P(¯A)P(B),即P(AB)=xa+12×(1xb+12)+(1xa+12)×xb+12=xaxb+12P(AB)的结果正好就是xaxb结果的双极数据表示. 因此,双极数据的乘法可以用同或门来近似见. 类似地,单极数据和双极数据的加法都可以用或门来近似,见图1(c)(d). 利用概率计算,SC算术单元的复杂度被极大地简化,这减少了算术单元的运行能耗和硬件使用面积. 但是,这种近似方式会产生较大的计算误差. 因为要满足上述的概率计算公式,比特流A和流B的生成需要是独立事件,且在用或门近似加法运算时需要满足AB是互斥事件. 因此,对于SC来说,设计高准确率的算术单元至关重要.

    现有的基于SC的工作[13-16]大多集中于设计高准确率的算术电路,接着利用这些算术电路将DNN模型部署到硬件设备上进行推理. 这种部署往往通过启发式的方法确定一组模型配置(如模型结构、数据比特串长度等)用于硬件实施. 并且,这种部署不会考虑动态改变的硬件环境(例如,电池电量会随着消耗而减少). 这些设计往往能够获得较高的推理准确率,却忽略了硬件效率和电池使用时间. 另外一些工作[17-18]考虑设计数据精度缩放方法以灵活地改变数据比特串长度,但是神经网络依然被运行在固定的硬件配置上,使得硬件的使用效率没有被充分发挥.

    因此,面对有限且动态变化的硬件资源,为了满足模型推理的时间约束和准确率要求,本文针对基于SC的神经网络创新性地提出了一个运行时可重配置的框架RR-SC.对于电池搭载的边缘设备来说,面对动态变化的电池电量,本文提出利用动态电压和频率调节(dynamic voltage and frequency scaling,DVFS)技术来进行硬件层面重配置以节省能源使用. DVFS根据剩余的电池电量情况,对硬件的电压和频率进行相应的调节. 在电池电量充足时,使用较高的电压/频率(voltage/frequency,V/F)等级使模型保持在一个较快的速度上进行推理;在电池电量降低到一定程度时,切换至较低的硬件V/F等级以降低单位时间内的推理能耗,使得模型能够在有限的能源内运行更多次数,以延长电池的使用时间. 除了硬件层面使用DVFS进行重配置外,RR-SC还结合了软件层面的重配置以满足模型推理的实时性约束. 如果在模型推理时仅仅在不同的电量对硬件的V/F等级进行切换,会使得一组模型配置在高V/F等级时能够满足时间约束,而切换到低V/F等级时推理时间变长,预先设定的时间约束无法被满足. 因此,我们设计了RR-SC框架自动地为不同的V/F等级选择出最佳的软件配置. RR-SC利用强化学习(reinforcement learning,RL)[19-20]技术一次性为不同的V/F等级生成对应的模型配置,即模型结构、SC算术单元、数据比特串长度等,以满足模型推理的时间约束和不同V/F等级下的准确率要求,同时尽可能地延长电池的使用时间. 为了实现运行时的轻量级切换,RR-SC只生成1组模型结构作为主干网络,从而能够在不同的硬件配置下快速切换.

    本文的主要贡献包括3个方面:

    1) 为了满足基于SC的神经网络推理的实时性要求,并尽可能地延长电池搭载的边缘设备的使用时间,本文创新性地提出将硬件重配置和软件重配置相结合.

    2) 基于自动机器学习技术提出了一个运行时可重配置的框架RR-SC,以自动地生成硬件配置对应的模型配置(即软件重配置). 选择的软件配置拥有最好的准确率和运行效率的权衡. 除此之外,模型运行时在一个搜索出来的主干网络上进行软件配置切换,以实现轻量级软件重配置.

    3) 实验结果表明,RR-SC能够保证在所有硬件级别下满足实时约束,并且可以在准确率损失仅为1%的情况下将模型推理次数增加7.6倍. 同时,它还能在110 ms内满足不同软件配置的轻量级切换.

    SC近似计算产生的高计算误差使得基于SC的DNN实现的相关研究[13-16]主要集中于设计高准确率的硬件电路. 由于乘积累加(multiply-accumulate,MAC)运算是DNN实现中的基本运算,因此我们主要讨论乘法器和加法器的设计与实现. 文献[13]提出使用同或门作为乘法器,并且提出了一个基于多选器树(MUX-tree)的加法器,我们称这个算术电路为XNOR-MUX.XNOR-MUX受制于比特流间的相关性问题(即概率近似失效),使得计算误差较大. 文献[14]将正负数据分开计算,并利用与门作为乘法器. 同时,它提出一种新的加法器,这种加法器分别计算正数数据的和(POS)与负数数据的和(NEG),最后利用POSNEG+12对结果进行巧妙地转换,这种转换只需要一个MUX门,使得单极数据计算的结果正好为双极数据表示下正数部分和负数部分的差. 我们称这个电路为AND-SEP. 但当输入数据数量较多时,该加法器在没有数据缩放时会产生计算溢出问题使得计算误差较大. 文献 [15]为双极数据设计了新的乘法器uMUL和加法器uNSADD,并利用并行计数器来缓解输入的相关性问题. 但在某些特殊情况下会出现冗余1或缺失1的问题从而产生计算误差,这种电路被称为uGEMM. 文献[16]进一步提出了一种基于累加器的块内加法器以减少计算错误,并设计了一种输出修正方案来解决块之间的冗余/缺失1的问题. 块内的算术电路被称为AND-ACC,带有输出修正方案的电路被称为AND-LOOP.这些设计虽然相比传统的二进制电路具有更低的运行能耗,但它们都没有考虑电池搭载的边缘设备电量动态改变的情况,因此没有涉及任何软件和硬件的重配置. 当神经网络被部署到硬件上时,模型推理始终运行在相同的V/F等级下,模型的推理会快速消耗电池电量,使得模型最终推理总次数较少.

    另一方面,文献[17-18]考虑了运行时比特串长度的动态改变. 文献[17]提出一个新的计算提前终止方法,使得模型推理时可以只利用较少位数的比特串就能获得较好的推理准确率. 文献[18]扩展了文献[21]的方法并设计了新的数据表示方式,使得输入、输出数据的精度可以在运行时任意更改. 这些工作虽然实现了运行时软件层面的重配置,一定程度上延长了电池的使用时间,但它们都运行在固定的硬件配置下,使得硬件资源没有被充分利用.

    因此本文提出一种软/硬件协同重配置的方式,利用硬件重配置以尽可能地延长电池使用时间,增加模型的推理总次数. 同时搭配软件重配置以满足机器学习任务的实时性要求. 本文提出的方法充分利用硬件资源,实现高效实时的模型推理. 同时,保证了模型推理的准确率.

    动机1:电池搭载的边缘设备的能源是有限且动态变化的. 大多数移动设备都是电池供电的,例如手机、无人机、机器人等[22]. 延长能源有限的电池使用时间是很重要的. 同时,任务执行需要符合实时性要求. 面对有限的能源资源,许多模型压缩方法[3-5]通过减小模型大小和参数数量在一定程度上提高模型推理速度以降低能源消耗. 但是这些压缩方法依然依赖于复杂的浮点数算术电路运算,在能源消耗方面仍有很大的优化空间. SC利用新的数据表达方式和简化的算术电路进一步降低模型推理能耗,但由于数据表示精度、电路计算误差等问题,使得许多研究者都致力于研究高准确率的算术电路,忽略了硬件的效率和动态变化的硬件资源. 因此,面对逐渐减少的电池电量情况,DVFS[23]技术常被用于硬件重配置,以节省能源使用. 表1 展示了 Odroid-XU3平台中Cortex A7内核的可用V/F等级. 本文针对电池搭载的边缘设备,在电池电量较高时配置较高的V/F等级;当电池电量降低到一定程度时,切换到更低的V/F等级. 在本文中,我们称这种动态电压和频率等级调节为硬件重配置.

    表  1  Odroid-XU3 移动平台中 ARM Cortex A7 内核支持的电压/频率等级
    Table  1.  V/F Levels Supported by ARM Cortex A7 Core in Odroid-XU3 Mobile Platform
    等级频率/MHz电压/mV
    l1400916.25
    l2600917.5
    l3800992.5
    l410001066.25
    l512001141.25
    l614001240
    下载: 导出CSV 
    | 显示表格

    动机2:仅仅使用硬件重配置无法满足实时性要求. 我们通过对比实验验证了硬件重配置能够延长电池使用时间,实验结果展示在表2中. 为了度量电池的使用时间,本文用模型在一定能源总量下的推理总次数来表示,表2中所有的方法都具有相同的能源总量. 实验设置S1和S2使用了相同的多层感知机(multi-layer perceptrons,MLP)模型. 我们设定MLP模型的结构为784-100-200-10,表示MLP的3层全连接层分别有100,200,10个神经元,784表示输入数据的大小. 模型推理时使用AND-ACC算术电路. 在本实验中的模型配置均使用默认设置,但对于RR-SC方法,模型的配置通过优化方法确定. 实验设置S1仅使用一种模型配置,且模型推理运行在固定的硬件配置下,这里的SC数据使用32 b的0/1串表示. 在实验设置S2中使用了硬件重配置(即DVFS),S2一共设置了3个V/F等级F,N,E. F模式表示使用高V/F等级下的快速执行模式;N模式表示使用中间V/F等级下的普通速度执行模式;E模式表示使用低V/F等级下的节省能耗的执行模式. 相应地,我们选择表1中的l6l4l3分别作为F模式、N模式和E模式下的V/F设置. 从表2中我们可以看出,在S2实验设置下,由于配置了DVFS技术,模型的总的推理次数相比于S1实验设置提升了1.4倍,这表明DVFS能够在一定程度上延长电池使用时间. 然而,当V/F等级降低时,如S2实验设置下的N模式和E模式的模型推理时间无法满足时间约束. 因为当频率降低时,计算速度也相应地变慢. 在本实验中,我们设置的时间约束为45 ms.

    表  2  时间约束 45 ms下的3种实验设置运行结果对比
    Table  2.  Running Results Comparison of Three Experimental Settings with the Time Constraint of 45 ms
    设置 模型 数据精度 准确率/% DVFS 推理时间/ms TC Satisfy 能耗/mJ 推理次数 提升
    S1 M1 32 95.4 F 32.7 298.1 2.0×105 -
    S2 M1 F 32.7 298.1 1.0×105
    32 95.4 N 45.8 × 230.2 7.8×104 1.4倍
    E 57.2 × 124.1 9.7×104
    S3 M1 32 95.4 F 32.7 298.1 1.0×105
    M2 16 88.1 N 28.9 142.1 1.3×105 2.3倍
    M3 8 62.2 E 23.8 51.8 2.3×105
    注:实验设置S1表示没有任何运行时重配置,S2表示仅具有硬件重配置,S3表示同时具有软件和硬件重配置;“-”表示性能比较基准.
    下载: 导出CSV 
    | 显示表格

    为了解决仅使用硬件重配置无法满足实时性要求的问题,我们探索了软件重配置以搭配不同的硬件配置. 在不同的硬件V/F等级下搭配不同的数据精度,以降低运行的时间和能耗、满足实时性要求和增加模型推理总次数. 我们同样用实验来证明,如表2中的S3实验设置:结合硬件重配置和软件重配置. 实验结果表明,S3设置下模型推理总次数是S1模式下的2.3倍,并且相比于S2模式提升了近40%. 与此对应的是,模型推理准确率产生了一定程度的损失. 通过搭配DVFS,模型推理总次数显著增加,电池一次放电的使用时间延长. 接着搭配软件重配置,也就是不同的模型配置,模型推理的时间约束能够被满足.

    本文为了解决动机1和动机2对应的问题,提出了一个完整的基于自动机器学习的框架,能够为不同的硬件配置一次性选择多种软件配置. 本文的问题定义为:

    定义1. 给定边缘设备能源总预算TE,推理时间约束TC,一组运行时用于切换的V/F等级L={l1,l2,,li,},各等级下的准确率约束AC={Ac1,Ac2,,Aci,},本文框架主要用于决定:

    1) 一个主干网络模型结构BM

    2) 一个随机计算算术电路C

    3) 多组用于软件重配置的比特串长度BL={bl1,bl2,,bli,}.

    运行时,硬件根据剩余的能源(即电池电量)切换相应的V/F等级,被选择出来的主干模型BM使用算术电路C进行推理运算,根据不同的V/F等级切换相应的数据精度BL. 通过RR-SC选择出来的软件配置可以满足时间约束TC和各级准确率约束AC,同时最大化模型BM在不同V/F等级下的推理次数总和以及模型推理准确率. 本文使用模型在总能源预算TE下的推理次数来表示硬件的效率. 因此本文的优化问题可以表示为:

    MaximumRuns+Accs.t.latiTCandAiAci,

    其中Runs表示模型在V/F等级L下的总运行次数,Acc表示多个模型推理的平均准确率,latiAi分别表示各V/F等级下的模型推理时间和准确率.

    图2展示了RR-SC框架的整体设计. 我们建立了一个基于循环神经网络(recurrent neural network,RNN)的RL控制器(见3.2节),用来从预先定义好的离散的搜索空间选择出相应的软件配置. RL控制器利用深度机器学习的方法,可以通过训练优化以预测出更好的结果. 离散搜索空间由模型结构(包括层数、每层神经元个数、卷积核大小等)、SC算术电路库、数据精度(即数据比特串长度)组成. RL控制器选择出来一组模型结构作为主干网络BM,在不同的V/F等级下均使用相同的SC算术单元C推理以节省能耗和切换开销. 同时RL控制器生成多种数据精度BL,以在不同的V/F等级下进行轻量级切换. 当模型配置确定后,主干网络接着被训练和推理以获得各等级的能耗、时延和准确率(见3.3节). 这些指标被输入设计好的反馈函数(见3.4节)得到奖励值RR值被用于更新RL控制器参数使其能够快速收敛. RL控制器的选择过程被执行EP次,每次通过从环境中获得的奖励值R来更新RNN网络的参数以指导下一次的参数选择.

    图  2  RR-SC框架
    Figure  2.  RR-SC framework

    为了一次性地获得能够满足时间约束TC和准确率约束AC的软件配置,本文利用RL技术来为基于SC的DNN智能、高效地选择最好的参数,以在固定能源总量下获得最多的模型推理次数和最好的推理准确率. RL控制器是RR-SC框架的核心部件,它的设计基于深度学习网络模型. DNN的应用使得RL控制器在收敛到全局最优解方面具有很大的优势. 智能体(agent)每次自动地观察环境状态并通过奖励值进行参数的自我更新,以在未来的执行过程中得到更好的动作预测结果.

    1)状态空间(state space). 本文使用基于SC的DNN在相应参数配置下的推理准确率Acc,及在给定能源总量和V/F设置下的推理总次数Runs来表征当前的环境状态,如表3所示. RL控制器利用以往动作及相应的反馈值作为输入以学习以往的经验,用以训练自身网络,使其未来能够预测出拥有更高反馈值的参数组合. 反馈函数中的性能值能够全面反映模型在嵌入式设备上推理时的不同方面,即推理总次数反映了运行时的硬件效率,平均推理准确率反映了模型的分类水平. 它们能够使智能体更好地理解复杂的系统,并能及时捕捉环境的动态变化.

    表  3  RL控制器的状态空间
    Table  3.  State Space of RL Controller
    状态 描述
    Acc 基于SC的DNN在相应动作下的推理准确率
    Runs 基于SC的DNN在给定能源总量
    及相应V/F设置下的推理总次数
    下载: 导出CSV 
    | 显示表格

    2)动作空间(action space). 本文的强化学习的动作空间由3类参数的组合空间组成:模型结构、SC算术电路以及数据精度. 其中,模型结构决定了推理模型的大小,它包括模型的层数、每层的神经元个数、卷积核大小、卷积步长、输入通道数等要素,包含哪些要素由具体的模型决定. 接着,本文根据现有的SC算术电路设计工作构建SC算术电路库,包括XNOR-MUX,AND-SEP,uGEMM,AND-ACC,AND-LOOP这5种电路. 数据精度指不同的SC数据表示位数,越长的数据表示越高的数据精度. 值得注意的是,RR-SC是一个可重新配置的框架,它允许将其他因素包含在内,动作空间的值可以根据不同的需求和场景进行调整.

    3)智能体. 在RR- SC的设计中,强化学习中的智能体被称为RL控制器. RL控制器的实现基于一个RNN网络,这和文献[24]中的实现类似. RNN相关的网络能够很好地处理序列相关的输入,提取和保留序列中的上下文关系及信息,因此RL控制器有助于通过学习以往动作中的经验,不断训练出更好的RNN网络以做出更好的选择. 首先,RL控制器从动作空间内预测出一组模型结构,一个SC算术单元和多组数据精度用于在不同的V/F等级下进行切换,这种预测是基于一个Softmax分类器. 选择出来的参数用于构建主干模型. 接着进行模型的预训练和硬件推理,通过训练和推理,模型的能耗、时延和准确率会被获得以用于构建反馈函数. 接着,基于反馈函数计算得到奖励值R,一个蒙特卡罗策略梯度算法[25]被应用于更新RL控制器中的参数θ. 更新θ的计算公式为:

    J(θ)=1mmk=1Tt=1γTtθlbπθ(at|a(t1):1,θ)(Rkb)

    其中,m表示RNN输入的批次大小,T表示每次选择的步数. 奖励值R在每一步都按指数因子减少,基线bR的平均指数移动. θ的更新是为了让RL控制器在下一轮的搜索中选择拥有更高R值的配置,使其可以更快地收敛到全局最优解.

    为了获得更稳定的结果[26],我们对RR-SC执行多次,并以拥有最高R值的配置作为我们最终的结果. RR-SC的搜索时间开销以多次运行的平均时间计算得到.

    当RL控制器选择出来一组模型配置后,模型训练和推理过程被启动. RL控制器选择出来的模型配置包括模型结构,即模型层数、每层神经元个数、卷积层核数、步长等,SC算术电路和多种数据精度. 当选择出来的模型配置通过性能预测器(见3.4节)计算得到的推理时间满足设定的时间约束TC时,开始相应的训练器和模型推理过程. 如果任意V/F等级下的时间约束和准确率约束没有被满足,那么模型的训练和推理过程被提前终止,以节省RR-SC的搜索开销. 图3展示了模型训练和推理模块的主要流程. 首先,对于选择出来的参数,模型结构被解析,对应结构的浮点数模型被构建. 接着,浮点数模型被预训练多次,以获得拥有高准确率的模型参数,即权重和偏置. 为了获得模型在硬件上的推理准确率,基于SC的模型被建立. 模型的结构与选择出来的主干网络模型相同,只是数据的表示由浮点数据转换为SC数据,即单极数据和双极数据. 所有浮点数输入数据和模型参数均通过随机数生成器(stochastic number generator,SNG)转换成SC的数据比特串. 随后,选择出来的算术电路C被用于实现基于SC的DNN模型. 对于不同的硬件配置,即V/F等级来说,被选择出来的多个数据精度分别对应多个V/F等级,应用不同数据精度的模型通过算术电路C推理得到各自的准确率. 多个模型推理的平均准确率用于计算奖励值R. 理论上讲,当硬件配备高V/F等级时,相应的高数据精度被选择出来,也就是更长的比特串长度. 这样,在硬件能源(即电池电量)相对充足时,模型推理能够尽可能的准确. 当硬件能源减少到一定程度后,数据精度也相应地被调低,这样在损失一定准确率的情况下,能够尽可能降低模型推理能耗,以延长电池的使用时间.

    图  3  模型训练和推理阶段用以获得能耗、时延和推理准确率
    Figure  3.  Model training and inference stages used for obtaining energy, latency and accuracy

    为了获得基于SC的模型推理时间,我们设计了一个性能预测器. 我们在高级综合(high-level synthesis,HLS)工具上模拟基于SC的加法器和乘法器,并获得当前数据精度下每个操作数计算所需的时间. 接着,我们根据选择出来的模型结构计算所有操作的数量. 这样,就可以获得模型在当前V/F等级下的推理时间. 那么当模型被切换至其他V/F等级时,推理时间可以通过频率的线性变换计算得到. 频率越高,推理的速度越快,推理时间越短. 另外,为了获得当前硬件设置下的模型推理次数,我们通过总能源TE和模型一次推理所需要花费的能耗Ei计算得到. 模型一次推理所花费的能耗Ei通过功率乘以时间得到,即Ei=Poweri×lati. 其中,当前V/F等级下的功率和时延通过模型在HLS中模拟得到. 那么模型的推理总次数Runs即为当前等级的总能源TEi与一次推理所需的能耗Ei的比值,即

    Runs=iTEi/Ei.

    本文假定在相同的工作负载和不变的物理环境下设计,因此忽略工作负载和环境变化带来的功率的动态变化. 除此之外,温度对能耗也有一定的影响,但本文所使用的随机计算技术是一种显著降低模型推理能耗的技术,低能耗技术对工作温度的影响很小甚至没有[27]. 并且,本文在相同的起始温度下对不同的软硬件配置进行能耗预估,温度对能耗的影响对于最后的配置的选择几乎没有影响. 因此本文不考虑温度对能耗的影响.

    经过模型训练和推理过程,以及模型预测器的高级综合之后,可以得到模型在各个V/F等级下的推理次数和准确率. 接下来,当前轮的奖励值R可以通过反馈函数计算用以更新RL控制器. 反馈函数同时也用来表示我们的优化目标,即在时间约束TC及准确率约束AC下,最大化模型推理次数和准确率. 反馈函数的计算公式为:

    R={1+Rrs,lati>TCAi<AciAvg(AiAlAuAl)+Rrs,latiTCcond=TrueAvg(AiAlAuAl)pen+Rrs,.

    在介绍具体的函数之前,我们先介绍5个符号:1) Rrs指的是多个模型推理总次数的归一化值,它的范围在[0,1];2)lati表示每一种V/F等级下模型的推理时间;3)Ai表示各种V/F等级下的模型推理准确率,AuAl是我们预先设置的最高准确率和最低准确率,用以对准确率进行归一化;4)Aci表示各V/F等级下的准确率约束; 5)cond是一个二值条件,cond=True表示对于i<j,我们有Ai>Aj,意味着运行在高V/F等级的模型拥有更高的推理准确率,否则cond=False,在这种情况下我们会给奖励值R一个惩罚pen.

    那么,对于计算奖励值R有3种情况:

    1) 如果lati>TC或者Ai<Aci意味着时间约束TC和准确率约束AC并不是在任意的V/F等级下都被满足,这里我们直接设置R=1+Rrs. 这意味着,当通过性能预测器得到的模型在选择的动作参数下无法满足边缘设备要求的时间约束TC时,就不需要进行真正的模型训练和推理以获得准确率,因此直接将准确率反馈值设置成−1. 这样, RR-SC的搜索开销在一定程度上就可以减少. 同样地,如果基于SC的神经网络模型在某些V/F等级下的推理准确率无法满足预期的要求,那么其他V/F等级下的模型就不需要再耗费时间和资源进行推理.

    2) 如果任意V/F等级下的推理时间约束和准确率约束都能够被满足,并且cond=True,也就是期望拥有高V/F等级的硬件配置能够获得更高的准确率,那么我们使用归一化后的平均准确率和模型推理总次数作为奖励值R. 这种情况对应着本文优化问题的目标函数,RR-SC期望在满足时间约束和准确率约束的情况下,最大化运行总次数和推理准确率.

    3) 否则,我们在第2种情况下的奖励值R增加一个惩罚值pen. 因为RR-SC更希望能够在高V/F等级下拥有更高的推理准确率,给定一个惩罚值相当于告诉智能体这是一种不被期望的结果.

    1)实验方法对比. 首先,我们将RR-SC框架与之前的基于SC的工作[13-16]进行对比. 本文方法结合了软件和硬件的重配置,在满足实时性约束的前提下最大限度地延长电池使用时间. 通过利用RL技术一次性选择多种软件配置对应于多种硬件配置. 硬件配置根据剩余能源电量进行V/F等级的调整,选择出来的软件配置对应各个硬件配置. 而现有的前沿工作主要针对算术电路进行设计,缺少硬件和软件重配置. 同时,RR-SC框架选择出来的模型被可视化以便于展示. 接着,我们利用RR-SC选择出来的模型结构和配置,进一步探究软件重配置和硬件重配置分别对推理时间和能源消耗的影响.

    2)实验指标及平台设置. 我们使用MNIST数据集在MLP和LeNet模型上评估本文方法,使用Cifar10数据集在AlexNet模型上验证. 搜索空间的设置包括模型结构、SC算术单元、数据精度3个部分. 通过探究,我们将搜索空间内所有因素的值都收缩到一个合理的范围内,本文实验设置的搜索空间被总结在表4中. 对于硬件指标,算术电路由 Bluespec SystemVerilog实现,然后编译为 Verilog 以在Vivado v2020.2 上评估能耗、时间等硬件指标. 对于准确率指标,我们在2× NVIDIA Tesla P100 GPU 服务器(16 GB GPU 内存)上进行模型推理和RL的搜索过程. 实验在 Python 3.6.0,GCC 9.3.0,PyTorch 1.5.1 和 CUDA 10.1 环境上进行. 对于边缘设备,我们使用移动平台 Odroid-XU3 [28]. 在实现SC模型中,Sobol[29-30]随机数生成器被用于从浮点数到SC数据的转换.

    表  4  MLP,LeNet,AlexNet的具体搜索空间设置
    Table  4.  Specific Search Space Settings of MLP, LeNet and AlexNet
    模型 搜索空间 设置
    MLP 层数 1, 2, 3
    每层神经元数 32, 64, 100, 128, 200, 256, 400, 512, 1024
    SC算术电路库 XNOR-MUX, AND-SEP, uGEMM, AND-ACC, AND-LOOP
    数据精度 4, 8, 16, 32, 64, 128
    配置组合数 241920
    LeNet 卷积层、池化层步长 1, 2
    卷积核大小 3, 5, 7
    池化层核大小 1, 2
    卷积层输出通道数 6, 16, 32, 64
    全连接层神经元数 32, 64, 100, 128, 200, 256, 400, 512, 1024
    SC算术电路库 XNOR-MUX, AND-SEP, uGEMM, AND-ACC, AND-LOOP
    数据精度 4, 8, 16, 32, 64, 128
    配置组合数 940584960
    AlexNet 卷积层、池化层步长 1, 2
    卷积核大小 3, 5, 7
    池化层核大小 1, 2
    卷积层输出通道数 6, 16, 32, 64, 256
    全连接层神经元数 32, 64, 100, 128, 200, 256, 400, 512, 1024
    SC算术电路库 XNOR-MUX, AND-SEP, uGEMM, AND-ACC, AND-LOOP
    数据精度 4, 8, 16, 32, 64, 128
    配置组合数 30233088000000
    下载: 导出CSV 
    | 显示表格

    本文使用LSTM网络作为RL控制器,LSTM输入的批次大小m = 35,每次选择的步数T = 50,学习率lr = 0.99. 本文实验探究2种时间约束下的RR-SC搜索结果:对于MLP来说,本文选择95 ms和120 ms这2种时间约束来进行实验探究;对于LeNet来说,时间约束分别为540 ms和2700 ms;对于AlexNet来说,时间约束分别设置为21000 ms和125000 ms. 本文共设置3种V/F等级,从高到低分别为表1中的l6l4l3这3个等级. 相应地,对于在MNIST数据集上进行训练的MLP和LeNet这2种模型来说,3种V/F等级下的模型推理准确率约束分别设置为95%,90%,85%;对于在Cifar10数据集上进行训练的AlexNet模型来说,3个V/F等级下的模型推理准确率约束分别设置为90%,85%,80%. 同时,对于反馈函数中的AuAl分别设置为98%和60%.

    首先对于RR-SC框架的评估,我们与现有的SC相关工作[13-16]进行对比. 这些工作主要针对SC算术电路进行设计,没有充分考虑硬件环境的动态改变. 为了对比公平,将SC相关的工作与通过RR-SC搜索到的模型结构设置成一样的,并且数据精度取RR-SC方法中搜索出来的最高精度,然后对它们的模型推理准确率、时延及模型推理次数进行比较.

    MLP模型在不同时间约束下的结果与SC相关工作的对比展示在表5表6中. 表5展示了时间约束设置为95 ms时的结果,表6展示时间约束为120 ms时的结果. 表5实验得到的MLP的模型结构为784-200-32-10,表示模型具有3层全连接层,并且全连接层的神经元的个数分别为200,32,10. 表6实验得到的模型结构为784-128-100-10这2组实验选择的SC算术电路均为AND-LOOP. 我们将RR-SC选择出来模型结构及相应的算术电路进行可视化展示,如图4所示. RR-SC实验中的硬件配置均设置成表1中的l6l4l3. 对于其他对比工作来说,V/F等级设置为l6. 从实验结果中可以看出,AND-LOOP方法[16]拥有最高的推理准确率,XNOR-MUX方法[13]拥有最低的推理准确率. RR-SC方法的平均准确率仅比AND-LOOP分别低1个百分点和1.5个百分点. 然而,RR-SC的推理次数是AND-LOOP推理次数的2.0倍和2.8倍. 在众多参数中,RR-SC找到了最好的配置. 对于XNOR-MUX和uGEMM来说,它们的模型推理准确率和时间约束都无法满足我们的要求的. 同时,RR-SC在推理次数方面实现了高达7.6倍的提升. 对于AND-SEP和AND-ACC来说,它们在MLP 784-200-32-10模型能够满足我们的时间约束要求,但是在MLP 784-128-100-10这个模型上的时间约束要求无法被满足. 从准确率和推理时间来说,AND-ACC是最具竞争力的一个方法. 对于推理次数来说,由于结合了硬件重配置和软件重配置,RR-SC比AND-ACC实现了约1.8倍的性能提升. RR-SC方法可以在满足一定的时间约束和准确率约束的情况下,最大化模型推理次数和平均准确率,拥有最好的性能权衡.

    表  5  MLP上SC相关工作和RR-SC在时间约束为95 ms时的比较结果
    Table  5.  Comparative Results of SC Relative Work and RR-SC with the Time Constraint 95 ms on MLP
    方法 算术电路 数据精度 准确率/% 推理时间/ms TC Satisfy 能耗/mJ 推理次数 提升倍数(本文方法/该方法)
    文献[13] XNOR-MUX 64 12.8 627.1 × 2527.3 23741 3.9倍
    文献[14] AND-SEP 64 25.5 94.7 762.6 78678 1.2倍
    文献[15] uGEMM 64 64.8 430.5 × 3378.3 17760 5.2倍
    文献[16] AND-ACC 64 94.6 93.3 818.9 73269 1.3倍
    文献[16] AND-LOOP 64 97.8 90.7 1306.7 45917 2.0倍
    RR-SC(本文) AND-LOOP 64 97.8 90.7 1306.7 22959
    32 96.3 73.22 582.3 30912
    32 96.3 91.5 313.8 38241
    下载: 导出CSV 
    | 显示表格
    表  6  MLP上SC相关工作和RR-SC在时间约束为120 ms时的比较结果
    Table  6.  Comparative Results of SC Relative Work and RR-SC with the Time Constraint 120 ms on MLP
    方法 算术电路 数据精度 准确率/% 推理时间/ms TC Satisfy 能耗/mJ 推理次数 提升倍数(本文方法/该方法)
    文献[13]XNOR-MUX12820.8649.3×2606.1230234.3倍
    文献[14]AND-SEP12859.2123.9×954.2628801.6倍
    文献[15]uGEMM12884.3589.8×4623.1129787.6倍
    文献[16]AND-ACC12894.3121.9×1072.3559541.8倍
    文献[16]AND-LOOP12898.3118.21682.1356702.8倍
    RR-SC(本文)AND-LOOP12898.3118.21682.117835
    6496.488.6695.325888
    3295.663.9216.355478
    下载: 导出CSV 
    | 显示表格
    图  4  RR-SC搜索到的模型架构和SC算术电路可视化
    Figure  4.  Visualization of the model architecture and SC arithmetic circuit searched by RR-SC

    对于LeNet来说,同样地,一个较紧的时间约束实验结果和一个较松的时间约束实验结果分别被展示在表7表8中. 表7中的实验设置时间约束为540 ms,表8实验设置时间约束为2 700 ms. AlexNet的实验结果被展示在表9表10中,设置时间约束分别为21000 ms和125000 ms. 因为LeNet和AlexNet相较于MLP更大、也更复杂,因此我们设置了更长的时间约束. 对于表7中的实验,一个结构为Conv1(k=3,s=1, c=6)-Pooling1(k=1, s=2)-Conv2(k=7, s=1, c=64)-Pooling2(k=1, s=2)-FC1(32)-FC2(128)-FC3(10)的主干网络被选择出来. 对于表8中的实验来说,主干网络结构为Conv1(k=3, s=1, c=32)-Pooling1(k=1, s=1)-Conv2(k=5, s=1, c=6)-Pooling2(k=1, s=1)-FC1(32)-FC2(512)-FC3(10). 其中,k表示卷积层或池化层的核大小,s表示卷积层和池化层的滑动步长,c表示卷积层的输出通道数. 在卷积层和池化层之后紧接2个全连接层. 对于AlexNet网络来说,表9实验下选择出来的主干网络模型为Conv1(k=5, s=1, c=256)-Pooling1(k=1, s=1)-Conv2(k=3, s=2, c=32)-Pooling2(k=1, s=1)-Conv3(k=7, s=2, c=16)-Conv4(k=5, s=2, c=16)-Conv5(k=3, s=1, c=256) -Pooling3(k=1, s=1)-FC1(512)-FC2(1024)-FC3(10),表10实验下选择出来的主干网络模型为Conv1(k= 7, s=2, c=256)-Pooling1(k=1, s=1)-Conv2(k=7, s=1, c=64)-Pooling2(k=1, s=1)-Conv3(k=3, s=1, c=256)-Conv4(k=7, s=1, c=32)-Conv5(k=7, s=1, c=256)-FC1(1024)-FC2(512)-FC3(10). 同样地,对于LeNet和AlexNet的实验中选择出来的模型参数也被展示在图4中. 对于LeNet来说,当TC = 540 ms时,RR-SC选择出来的SC算术电路是AND-LOOP,对于TC = 2700 ms时,RR-SC在AND-ACC上有更好的表现. 从准确率的角度来说,AND-LOOP依然能够获得最高的推理准确率,但RR-SC在产生高达3.1倍的硬件效率的同时,只产生了1.2%的准确率丢失. 从推理时间的角度来说,有些SC工作在推理时能够满足我们约定的时间约束,但由于缺乏软件和硬件的重配置,使得硬件效率没有被充分发挥. 对比所有的方法,RR-SC能够产生最高4.4倍的性能提升. 对于AlexNet来说,当TC = 21000 ms时,RR-SC能够产生高达4.9倍的硬件效率提升,但比拥有最高准确率的AND-LOOP电路只产生了1.7%的准确率损失. 类似地,当TC = 125000 ms时,RR-SC比其他方法最高能达到7.3倍的运行数提升,相比AND-LOOP电路准确率损失只有0.9%. 同时,RR-SC也能够满足设定的时间约束和准确率约束.

    表  7  LeNet上SC相关工作和RR-SC在时间约束为540 ms时的比较结果
    Table  7.  Comparative Results of SC Relative Work and RR-SC with the Time Constraint 540 ms on LeNet
    方法 算术电路 数据精度 准确率/% 推理时间/ms TC Satisfy 能耗/mJ 推理次数 提升倍数(本文方法/该方法)
    文献[13] XNOR-MUX 64 10.8 3675.9 × 1845.5 32512 1.4倍
    文献[14] AND-SEP 64 56.3 555.2 × 1538.6 38996 1.2倍
    文献[15] uGEMM 64 66.3 2523.2 × 2720.9 22051 2.1倍
    文献[16] AND-ACC 64 95.1 547.0 × 1637.9 36632 1.2倍
    文献[16] AND-LOOP 64 97.6 531.5 2129.5 28175 1.6倍
    RR-SC(本文) AND-LOOP 64 97.6 531.5 2129.5 14088
    32 95.8 429.5 1275.3 14114
    32 95.8 536.9 687.4 17457
    下载: 导出CSV 
    | 显示表格
    表  8  LeNet上SC相关工作和RR-SC在时间约束为2700 ms时的比较结果
    Table  8.  Comparative Results of SC Relative Work and RR-SC with the Time Constraint 2700 ms on LeNet
    方法 算术电路 数据精度 准确率/% 推理时间/ms TC Satisfy 能耗/mJ 推理次数 提升倍数(本文方法/该方法)
    文献[13] XNOR-MUX 128 19.5 14320.7 × 2961.9 20257 2.1倍
    文献[14] AND-SEP 128 62.5 2621.5 2550.4 23525 1.8倍
    文献[15] uGEMM 128 74.3 13008.4 × 6244.0 9609 4.4倍
    文献[16] AND-ACC 128 96.8 2687.9 2635.8 22763 1.8倍
    文献[16] AND-LOOP 128 97.2 2607.6 4432.9 13535 3.1倍
    RR-SC(本文) AND-ACC 128 96.8 2687.9 2635.8 11381
    32 95.7 1147.4 1321.8 13617
    32 95.7 1434.3 712.4 16844
    下载: 导出CSV 
    | 显示表格
    表  9  AlexNet上SC相关工作和RR-SC在时间约束为21000 ms时的比较结果
    Table  9.  Comparative Results of SC Relative Work and RR-SC with the Time Constraint 21000 ms on AlexNet
    方法 算术电路 数据精度 准确率/% 推理时间/ms TC Satisfy 能耗/mJ 推理次数 提升倍数(本文方法/该方法)
    文献[13] XNOR-MUX 64 9.8 138038.7 × 899459.9 66 3.6倍
    文献[14] AND-SEP 64 48.2 20850.7 285989.9 209 1.1倍
    文献[15] uGEMM 64 60.2 94754.1 × 1237486.5 48 4.9倍
    文献[16] AND-ACC 64 89.8 20542.9 310091.0 193 1.2倍
    文献[16] AND-LOOP 64 90.1 19960.4 500412.8 119 2.0倍
    RR-SC(本文) AND-LOOP 64 90.1 19960.4 500412.8 59
    32 87.6 16131.8 223012.7 80
    32 87.6 20164.7 120201.5 99
    下载: 导出CSV 
    | 显示表格
    表  10  AlexNet上SC相关工作和RR-SC在时间约束为125000 ms时的比较结果
    Table  10.  Comparative Results of SC Relative Work and RR-SC with the Time Constraint 125000 ms on AlexNet
    方法 算术电路 数据精度 准确率/% 推理时间/ms TC Satisfy 能耗/mJ 推理次数 提升倍数(本文方法/该方法)
    文献[13] XNOR-MUX 128 13.6 682697.7 × 6059624.1 9 4.0倍
    文献[14] AND-SEP 128 57.4 124975.3 2317931.8 25 1.5倍
    文献[15] uGEMM 128 70.3 620135.8 × 11001805.0 5 7.3倍
    文献[16] AND-ACC 128 90.0 128138.5 × 2631405.5 22 1.7倍
    文献[16] AND-LOOP 128 91.3 124310.2 4202999.0 14 2.8倍
    RR-SC(本文) AND-LOOP 128 91.3 124310.2 4202999.0 7
    64 91.1 93190.2 1737447.2 10
    32 88.7 67245.5 540599.9 22
    下载: 导出CSV 
    | 显示表格

    除此之外,RR-SC产生的模型在不同配置中进行切换时产生的开销也非常小. 对于MLP来说,模型切换需要约9 ms;对于LeNet来说,模型切换需要约110 ms;对于AlexNet来说,模型切换需要约4030 ms. RR-SC支持实时轻量级的模型切换. MLP,LeNet,AlexNet每次因V/F等级切换而切换数据精度时产生的能耗开销分别为18 μJ,220 μJ,8.1 mJ.

    在本节中,我们对软硬件重配置方式进行比较. MLP,LeNet和AlexNet的配置使用RR-SC选择出来的模型结构、算术电路和数据精度进行实验对比. 我们分别对比了无任何重配置、只有硬件重配置(HW)、只有软件重配置(SW)和结合软硬件重配置(RR-SC)4种方法. 对于所有的方法,MLP结构设置为784-200-32-10,LeNet结构设置为Conv1(k=3, s=1, c=6)-Pooling1(k=1, s=2)-Conv2(k=7, s=1, c=64)-Pooling2(k=1, s=2)-FC1(32)-FC2(128)-FC3(10),AlexNet模型结构设置为Conv1(k=5, s=1, c=256)-Pooling1(k=1, s=1)-Conv2(k=3,s=2, c=32)-Pooling2(k=1, s=1)- Conv3(k=7, s=2, c=16)-Conv4(k=5, s=2, c=16)- Conv5(k=3, s=1, c=256)-Pooling3(k=1, s=1)-FC1(512)-FC2(1024)-FC3(10),均使用在相对低的时间约束下RR-SC选择出来的模型结构. 为了公平比较,这4种方法均使用相同的SC算术电路,即AND-LOOP. 对于硬件重配置来说,3个V/F等级依然设置为l6l4l3. 类似地,只有软件重配置的设置和只有硬件重配置的其他配置被展示在表11表12表13中.

    表  11  MLP模型上搭配/不搭配软硬件重配置方法的实验结果
    Table  11.  Experimental Results of Methods with/Without Hardware and Software Reconfiguration on MLP
    方法 数据精度 准确率/% 推理时间/ms TC Satisfy 能耗/mJ 推理次数 提升倍数(本文方法/该方法)
    文献[16] 64 97.8 90.7 1306.7 45917 2.0倍
    HW 64 97.8 90.7 1306.7 22959 1.5倍
    127.0 × 1008.8 17842
    158.7 × 543.7 22070
    SW 64 97.8 90.7 1306.7 22959 1.5倍
    32 96.3 52.3 754.3 23863
    32 96.3 52.3 754.3 15908
    RR-SC(本文) 64 97.8 90.7 1306.7 22959
    32 96.3 73.22 582.3 30912
    32 96.3 91.5 313.8 38241
    下载: 导出CSV 
    | 显示表格
    表  12  LeNet上搭配/不搭配软硬件重配置方法的实验结果
    Table  12.  Experimental Results of Methods with/Without Hardware and Software Reconfiguration on LeNet
    方法 数据精度 准确率/% 推理时间/ms TC Satisfy 能耗/mJ 推理次数 提升倍数(本文方法/该方法)
    文献[16] 64 97.6 531.5 2129.5 28175 1.6倍
    HW 64 97.6 531.5 2129.5 14088 1.2倍
    744.1 × 1644.0 10948
    930.1 × 886.1 13542
    SW 64 97.6 531.5 2129.5 14088 1.4倍
    32 95.8 306.8 1651.9 10896
    32 95.8 306.8 1651.9 7264
    RR-SC(本文) 64 97.6 531.5 2129.5 14088
    32 95.8 429.5 1275.3 14114
    32 95.8 536.9 687.4 17457
    下载: 导出CSV 
    | 显示表格
    表  13  AlexNet上搭配/不搭配软硬件重配置方法的实验结果
    Table  13.  Experimental Results of Methods with/Without Hardware and Software Reconfiguration on AlexNet
    设置 数据精度 准确率/% 推理时间/ms TC Satisfy 能耗/mJ 推理次数 提升倍数(本文方法/该方法)
    文献[16] 64 90.1 19960.4 500412.8 119 2.0倍
    HW 64 90.1 19960.4 500412.8 59 1.5倍
    27944.6 × 386318.7 46
    34930.7 × 208221.8 57
    SW 64 90.1 19960.4 500412.8 59 1.5倍
    32 87.6 19960.4 288876.6 62
    32 87.6 19960.4 288876.6 41
    RR-SC(本文) 64 90.1 19960.4 500412.8 59
    32 87.6 16131.8 223012.7 80
    32 87.6 20164.7 120102.5 99
    下载: 导出CSV 
    | 显示表格

    表11~13实验结果表明,当模型不搭配任何的软硬件重配置时,虽然其拥有最高的推理准确率,且时间约束能够被满足,但是它能进行的模型推理次数是最少的. 当模型只搭配硬件重配置时,模型推理的时间约束无法被满足,但其对延长电池使用时间有一定的优化. 对于只有软件重配置的实验来说,模型的时间约束都能被满足,但推理准确率有一定的下降,且推理次数也比只搭配硬件和RR-SC方法更少. 对于RR-SC方法来说,能够在满足时间约束的条件下,最大限度延长电池的使用时间,相比于无任何软硬件配置的实验有接近2.0倍的性能提升;对比只有硬件重配置或只有软件重配置的方法来说,能够达到1.5倍的性能提升;而且,RR-SC相比于最高的准确率来说,在MLP,LeNet和AlexNet中分别只产生了1.0个百分点,1.2个百分点,1.7个百分点的下降.

    对于电池搭载的边缘设备来说,能源(即电池电量)是有限且动态改变的. 面对这种硬件环境,本文针对基于SC的神经网络创新性地提出了硬件和软件重配置相结合的方法以最大限度地延长电池使用时间. 对于不断改变的电池电量来说,本文设置电量阈值以便于在电量降低到一定程度之后进行硬件配置的切换(即切换V/F等级). 同时,为了选择最好的软件配置,本文提出一个运行时可重配置框架RR-SC,在满足模型推理时间约束和准确率约束的前提下,最大化模型推理准确率和推理总次数. RR-SC利用强化学习技术能够一次性选择多组软件配置以对应不同的硬件配置. 每组配置能够同时满足规定的时间约束和准确率约束. 同时,多个模型配置在同一个主干网络上进行切换,从而在运行时实现轻量级的软件重配置. 实验结果表明,RR-SC在给定能源总量的情况下最高可以将模型推理次数增加7.6 倍,且精度损失相较于最高准确率方法小于1.7个百分点. 同时,可以在110 ms内进行LeNet模型配置的轻量级切换,并且可以满足不同硬件配置下的实时性要求.

    作者贡献声明:宋玉红提出论文方案,完成实验和撰写论文;沙行勉提出指导意见和分析方案;诸葛晴凤提出指导意见和讨论方案;许瑞和王寒参与方案讨论和修改论文.

  • 图  1   处理器芯片设计流程示意图

    Figure  1.   Illustration of processor chip design flow

    图  2   RISC-V BOOM微架构示意图

    Figure  2.   Illustration of RISC-V BOOM microarchitecture

    图  3   基于机器学习的EDA出版物数量及占比统计[21]

    Figure  3.   Statistics of numbers and percentage on EDA publications based on machine learning[21]

    图  4   处理器功耗建模方法对比

    Figure  4.   Comparison of processor power modeling methods

    图  5   运行时模型转换为设计时模型[57]

    Figure  5.   Converting runtime models to design-time models[57]

    图  6   Kumar等人[60]提出的功耗建模流程

    Figure  6.   Power modeling flow proposed by Kumar et al[60]

    图  7   PowerTrain示意图[35]

    Figure  7.   Illustration of PowerTrain[35]

    图  8   McPAT-Calib框架流程图[64]

    Figure  8.   Flowchart of McPAT-Calib framework[64]

    图  9   PANDA框架示意图[64]

    Figure  9.   Illustration of PANDA framework[64]

    图  10   Zhai等人[65]提出的基于迁移学习的微架构功耗建模流程

    Figure  10.   Transfer learning-based microarchitecture power modeling flow proposed by Zhai et al. [65]

    图  11   NoCeption框架示意图[68]

    Figure  11.   Illustration of NoCeption framework [68]

    图  12   功耗建模一般流程

    Figure  12.   Common power modeling flow

    图  13   ArchRanker框架示意图[75]

    Figure  13.   Illustration of ArchRanker framework[75]

    图  14   结合统计采样和AdaBoost学习的设计空间探索方法[77]

    Figure  14.   Design space exploration methodology combining statistical sampling and AdaBoost learning[77]

    图  15   BOOM-Explorer框架示意图[79]

    Figure  15.   Illustration of BOOM-Explorer framework[79]

    图  16   基于强化学习的微架构设计空间探索[80]

    Figure  16.   RL-based microarchitecture design space exploration[80]

    图  17   IT-DSE框架示意图[83]

    Figure  17.   Illustration of IT-DSE framework[83]

    图  18   微架构DAG和VGAE的训练方法[84]

    Figure  18.   Training methods of microarchitecture DAG and VGAE [84]

    图  19   设计空间探索一般流程

    Figure  19.   The general flow of design space exploration

    表  1   机器学习辅助的微架构功耗建模方法总结

    Table  1   A Summary of Machine Learning-Assisted Methods for Microarchitecture Power Modeling

    模型/文献 使用阶段 适用范围 建模特征 建模方法 模型误差
    PowerTrain[35] 运行时 不同微架构、不同负载 PMC+硬件描述 线性回归 约2%
    WattWatcher[56] 运行时 不同微架构、不同负载 PMC+硬件描述 线性回归 平均2.67%
    文献[53] 运行时 单一微架构、不同负载 PMC 线性回归 <9%
    文献[54] 运行时 单一微架构、不同负载 PMC 线性回归 2.8%~3.8%
    文献[55] 运行时 单一微架构、不同负载 PMC 非线性回归 平均6.8%
    文献[51] 设计时 不同微架构 微架构设计参数 非线性回归 中位5.4%
    文献[52] 设计时 单一微架构、不同负载 仿真活动统计 线性回归 约2.5%
    文献[57] 设计时 单一微架构、不同负载 仿真活动统计 线性回归 平均5.9%
    文献[5859] 设计时 不同微架构 微架构设计参数 神经网络 <2%
    文献[60] 设计时 单一微架构、不同负载 外部输入信号 机器学习模型 约3.6%
    McPAT-Calib[6364] 设计时 不同微架构、不同负载 架构参数、活动统计 解析模型+机器学习 3%~6%
    PANDA[65] 设计时 不同微架构、不同负载 架构参数、活动统计 解析函数+机器学习 2%~8%
    文献[66] 设计时 不同微架构、不同负载 架构参数、活动统计 神经网络+迁移学习 平均4.4%
    TrEnDSE[67] 设计时 不同微架构、跨负载 架构参数 集成模型+迁移学习 <1%
    NoCeption[68] 设计时 不同NoC配置及拓扑 架构参数 图神经网络 约2.5%
    下载: 导出CSV

    表  2   BOOM的微架构设计空间

    Table  2   Microarchitecture Design Space of BOOM

    模块 组件参数 描述 备选值
    前端 FetchWidth 一次性可取回指令数 4,8
    FetchBufferEntry 取指缓冲条目数 8,16,24,32,35,40
    RasEntry 返回地址堆栈条目数 16,24,32
    BranchCount 同时推测分支数 8,12,16,20
    ICacheWay ICache组相连数 2,4,8
    ICacheTLB ICache地址翻译缓冲路 8,16,32
    ICacheFetchBytes ICache行容量 2,4
    指令解码单元 DecodeWidth 一次性最多解码指令数 1,2,3,4,5
    RobEntry 重排序缓冲条目数 32,64,96,128,130
    IntPhyRegister 整型寄存器数 48,64,80,96,112
    FpPhyRegister 浮点型寄存器数 48,64,80,96,112
    执行单元 MemIssueWidth 存储型指令发射宽度 1,2
    IntIssueWidth 整型指令发射宽度 1,2,3,4,5
    FpIssueWidth 浮点型指令发射宽度 1,2
    加载存储单元 LDQEntry 加载缓冲条目 8,16,24,32
    STQEntry 存储缓冲条目 8,16,24,32
    DCacheWay D-Cache 组相联数 2,4,8
    DCacheMSHR 缺失状态处理寄存器数 2,4,8
    DCacheTLB DCache地址翻译缓冲路 8,16,32
    下载: 导出CSV

    表  3   BOOM处理器的不同微架构设计参数选择

    Table  3   Design Parameters Selectivity of Different Microarchitecture for BOOM Processors

    方法 微架构组件配置参数
    原始两发射BOOM[1415] {4, 16, 32, 12, 4, 8, 2, 2, 64, 80, 64, 1, 2, 1, 16, 16, 4, 2, 8}
    BOOM-Explorer[78] {4, 16, 16, 8, 2, 8, 2, 2, 32, 64, 64, 1, 3, 1, 24, 24, 8, 4, 8}
    BOOM-Explorer[79] {4, 16, 16, 8, 4, 8, 2, 2, 32, 64, 64, 1, 3, 1, 24, 24, 8, 4, 8}
    下载: 导出CSV

    表  4   基于机器学习的微架构设计空间探索方法总结

    Table  4   A Summary of Machine Learning-Based Methods for Microarchitecture Design Space Exploration

    方法/文献 探索目标 探索方法 PPA等数据来源
    文献[51] 帕累托前沿、流水线深度以及异构性分析 设计空间采样、统计学习 Turandot仿真器、PowerTimer工具
    文献[5859] 设计空间的预测模型 使用ANN建模遍历子空间 SESC仿真器、CACTI等
    文献[73] 设计空间的预测模型 使用ANN和线性回归建模遍历子空间 仿真器、Wattch、CACTI等
    ArchRanker[75] 特定目标下最优设计 基于RankBoost排名模型遍历子空间 仿真器、Wattch、CACTI等
    文献[77] 预测模型及最优设计 基于AdaBoost.RT模型和正交阵列采样 gem5仿真器
    BOOM-Explorer[7879] 帕累托最优设计 基于贝叶斯优化和深度核高斯过程建模 商业EDA工具
    文献[80] 特定偏好下最优设计 基于微架构缩放图的强化学习 商业EDA工具
    文献[82] 帕累托最优设计 基于集成树建模和主动学习 商业EDA工具
    IT-DSE[83] 帕累托最优设计 基于贝叶斯优化、不变风险最小化和Transformer 商业EDA工具
    GRL-DSE[84] 帕累托最优设计 基于图神经网络、集成模型、贝叶斯优化 商业EDA工具
    文献[86] 帕累托最优设计 基于BagGBRT和上置信界超体积提升 仿真器、McPAT等工具
    MoDSE[8788] 帕累托最优设计 基于AdaGBRT和帕累托超体积提升 仿真器、McPAT等工具
    文献[89] ML加速器最优设计 机器学习模型、图神经网络、贝叶斯优化 商业EDA工具
    SoC-Tuner[90] SoC帕累托最优设计 设计空间剪枝、贝叶斯优化 商业EDA工具
    下载: 导出CSV
  • [1] 国务院. 新时期促进集成电路产业和软件产业高质量发展若干政策[EB/OL]. [2023-12-25]. https://www.gov.cn/zhengce/content/2020-08/04/content_5532370.htm

    The State Council. Several policies to promote the high-quality development of integrated circuit industry and software industry in the new era[EB/OL]. [2023-12-25]. https://www. gov. cn/zhengce/content/2020-08/04/content_5532370. htm (in Chinese)

    [2] 陈云霁,蔡一茂,汪玉,等. 集成电路未来发展与关键问题——第347期“双清论坛(青年)”学术综述[J]. 中国科学:信息科学,2024,54(1):1−15

    Chen Yunqi, Cai Yimao, Wang Yu, et al. Integrated circuit technology: Future development and key issues–review of the 347th Shuangqing Forum (Youth)[J]. SCIENTIA SINICA Informationis, 2024, 54(1): 1−15 (in Chinese)

    [3]

    Xiang Chengxiang, Yang Yongan, Penner R M. Cheating the diffraction limit: Electrodeposited nanowires patterned by photolithography[J]. Chemical Communications, 2009, 8: 859−873

    [4]

    Chaudhry A, Kumar M J. Controlling short-channel effects in deep-submicron SOI MOSFETs for improved reliability: A review[J]. IEEE Transactions on Device and Materials Reliability, 2004, 4(1): 99−109

    [5]

    Thimbleby H. Modes, WYSIWYG and the von Neumann bottleneck[C]//Proc of IEE Colloquium on Formal Methods and Human-Computer Interaction: II. London: IET, 1988: 4/1−4/5

    [6]

    Zhou Zhihua. Machine Learning[M]. Singapore: Springer Nature Singapore , 2021

    [7] 梁云,卓成,李永福. EDA左移融合设计范式的发展现状、趋势与挑战[J]. 中国科学:信息科学,2024,54(1):121−129

    Liang Yun, Zhuo Cheng, Li Yongfu. The shift-left design paradigm of EDA: Progress and challenges[J]. SCIENTIA SINICA Informationis, 2024, 54(1): 121−129 (in Chinese)

    [8] 包云岗,常轶松,韩银和,等. 处理器芯片敏捷设计方法:问题与挑战[J]. 计算机研究与发展,2021,58(6):1131−1145

    Bao Yungang, Chang Yisong, Han Yinhe, et al. Agile design of processor chips: Issues and challenges[J]. Journal of Computer Research and Development, 2021, 58(6): 1131−1145 (in Chinese)

    [9]

    Scheffer L, Lavagno L. EDA for IC System Design, Verification, and Testing[M]. FL: CRC Press, Inc, 2018

    [10]

    Wu C M, Shieh M D, Wu C H, et al. VLSI architectural design tradeoffs for sliding-window log-MAP decoders[J]. IEEE Transactions on Very Large Scale Integration Systems, 2005, 13(4): 439−447

    [11] Brown S, Vranesic Z. 数字逻辑基础与Verilog设计[M]. 夏宇闻,须毓孝译. 原书第2版. 北京:机械工业出版社,2008

    Brown S, Vranesic Z. Fundamentals of Digital Logic with Verilog Design[M]. Translated by Xia Yuwen, Xu Yuxiao. 2nd. Beijing: China Machine Press, 2008 (in Chinese)

    [12]

    Rudell R L. Logic synthesis for VLSI design[R/OL]. Berkeley, California: University of California, Berkeley, 1989. [2023-12-25]. https://www2.eecs.berkeley.edu/Pubs/TechRpts/1989/1223.html

    [13]

    Sherwani N A. Algorithms for VLSI Physical Design Automation[M]. New York: Springer Science & Business Media New York, 2013

    [14]

    Celio C, David A P, Krste A. The Berkeley out-of order machine (BOOM): An industry-competitive, synthesizable, parameterized RISC-V processor[R]. Berkeley, CA: EECS Department, University of California, Berkeley, 2015

    [15]

    Zhao J, Abraham G. SonicBOOM: The 3rd generation Berkeley out-of-order machine[C]// Proc of 4th Workshop Computer Architecture Research with RISC-V. New York: ACM, 2020:1−7

    [16]

    Asanovic K, Rimas A, Jonathan B, et al. The rocket chip generator[R]. Berkeley, CA: EECS Department, University of California, Berkeley, 2015

    [17]

    Chen Chen, Xiang Xiaoyan, Liu Chang, et al. , Xuantie-910: A commercial multi-core 12-stage pipeline out-of-order 64-bit high performance RISC-V processor with vector extension: Industrial product[C]//Proc of ACM/IEEE Annual Int Symp on Computer Architecture. New York: ACM, 2020: 52−64

    [18] 徐易难,余子濠,王凯帆,等. 香山开源高性能RISC-V处理器设计与实现[J]. 计算机研究与发展,2023,60(3):476−493 doi: 10.7544/issn1000-1239.202221036

    Xu Yinan, Yu Zihao, Wang Kaifan, et al. XiangShan Open-source high performance RISC-V processor design and implementation[J]. Journal of Computer Research and Development, 2023, 60(3): 476−493 (in Chinese) doi: 10.7544/issn1000-1239.202221036

    [19]

    Bachrach J, Vo H, Richards B, et al. Chisel: Constructing hardware in a scala embedded language[C]//Proc of DAC Design Automation Conf. Piscataway, NJ: IEEE , 2012: 1212−1221

    [20]

    Winston P H. Artificial Intelligence[M]. London: Addison-Wesley Longman Publishing Co. , Inc. , 1984

    [21]

    Rapp M, Amrouch H, Lin Yibo, et al. MLCAD: A survey of research in machine learning for CAD keynote paper[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2021, 41(10): 3162−3181

    [22]

    Synopsys. PrimeTime[CP/OL]. [2023-12-25]. https://www.synopsys.com/implementation-and-signoff/signoff/primetime.html

    [23]

    Nesset S R. RTL Power Estimation Flow and Its Use in Power Optimization[M]. Norway: Norwegian University of Science and Technology, 2018

    [24]

    Brooks D, Tiwari V, Martonosi M. Wattch: A framework for architectural-level power analysis and optimizations[C]//Proc of IEEE/ACM Annual Int Symp on Computer Architecture. New York: ACM, 2000: 83−94

    [25]

    Thoziyoor S, Ahn J H, Monchiero M, et al, A comprehensive memory modeling tool and its application to the design and analysis of future memory hierarchies[C]//Proc of Int Symp on Computer Architecture. Piscataway,NJ: IEEE, 2008: 51-62

    [26]

    Li Sheng, Ahn J H, Strong R D, et al. McPAT: An integrated power, area, and timing modeling framework for multicore and manycore architectures[C]//Proc of IEEE/ACM Int Symp on Microarchitecture. New York: ACM, 2009: 469−480

    [27]

    Burger D, Todd M A. The SimpleScalar tool set, version 2.0[J]. ACM SIGARCH Computer Architecture News, 1997, 25: 13−25

    [28]

    Alec R, Mircea R S. RISC5: Implementing the RISC-V ISA in gem5[C]//Proc of the 1st Workshop on Computer Architecture Research with RISC-V. Piscataway, NJ: IEEE, 2017: 1−7

    [29]

    Binkert N L, Dreslinski R G, Hsu L R, et al. The M5 simulator: Modeling networked systems [J]. IEEE Micro, 2006, 26(4): 52−60

    [30]

    Carlson T E, Heirman W, Eeckhout L. Sniper: Exploring the level of abstraction for scalable and accurate parallel multi-core simulation[C]//Proc of Int Conf for High Performance Computing, Networking, Storage and Analysis. Piscataway, NJ: IEEE, 2011: 1−12

    [31]

    Semiconductor industries association. model for assessment of CMOS technologies and roadmaps (MASTAR)[EB/OL]. [2023-12-25] https://web.archive.org/web/20130709053354/http://www.itrs.net/models.html

    [32]

    Brooks D, Bose P, Srinivasan V, et al. New methodology for early-stage, microarchitecture-level power-performance analysis of microprocessors[J]. IBM Journal of Research and Development, 2003, 47((5/6): ): 653−670

    [33]

    Wang Hangsheng, Zhu Xinping, Li-Shiuan P, et al. Orion: A power-performance simulator for interconnection networks[C]//Proc of IEEE/ACM Int Symp on Microarchitecture. Piscataway, NJ: IEEE, 2002: 294−305

    [34]

    Xi S L, Jacobson H, Bose P, et al. Quantifying sources of error in McPAT and potential impacts on architectural studies[C]//Proc of IEEE Int Symp on High Performance Computer Architecture. Piscataway, NJ: IEEE, 2015: 577−589

    [35]

    Lee W, Kim Y, Ryoo J H, et al. PowerTrain: A learning-based calibration of McPAT power models[C]//Proc of IEEE Int Symp on Low Power Electronics and Design. Piscataway, NJ: IEEE, 2015: 189−194

    [36]

    Tang A, Yang Y, Lee C Y et al. McPAT-PVT: Delay and power modeling framework for FinFET processor architectures under PVT variations[J]. IEEE Transactions on Very Large Scale Integration Systems, 2015, 23(9): 1616−1627

    [37]

    Guler A, Jha N K. McPAT-Monolithic: An area/power/timing architecture modeling framework for 3-D hybrid monolithic multicore systems[J]. IEEE Transactions on Very Large Scale Integration Systems, 2020, 28(10): 2146−2156

    [38]

    Ravipati D P, Van S, Victor M, et al. Performance and energy studies on NC-FinFET cache-based systems with FN-McPAT[J]. IEEE Transactions on Very Large Scale Integration Systems, 2023, 31(9): 1280−1293

    [39]

    Van den Steen S, De Pestel S, Mechri M, et al. Micro-architecture independent analytical processor performance and power modeling[C]//Proc of IEEE Int Symp on Performance Analysis of Systems and Software. Piscataway, NJ: IEEE, 2015: 32−41

    [40]

    Park Y H, Pasricha S, Kurdahi F J , et al. A multi-granularity power modeling methodology for embedded processors[J]. IEEE Transactions on Very Large Scale Integration Systems, 2010, 19(4): 668−681

    [41]

    Ansys. PowerArtist[CP/OL]. [2023-12-25]. https://www.ansys.com/products/semiconductors/ansys-powerartist

    [42]

    Mentor. PowerPro RTL low-power[CP/OL]. [2023-12-25]. https://www.mentor.com/hls-lp/powerpro-rtl-low-power/

    [43]

    Bogliolo A, Benini L, De Micheli G. Regression-based RTL power modeling[J]. ACM Transactios on Design Automation of Electronic Systems, 2000, 5(3): 337−372

    [44]

    Sunwoo D, Wu G Y, Patil N A. PrEsto: An FPGA-accelerated power estimation methodology for complex systems[C]//Proc of IEEE Int Conf on Field Programmable Logic and Applications. Piscataway, NJ: IEEE, 2010: 310−317

    [45]

    Yang Jianlei, Ma Liwei, Zhao Kang, et al. Early stage real-time SoC power estimation using RTL instrumentation[C]//Proc of IEEE/ACM Asia and South Pacific Design Automation Conf. Piscataway, NJ: IEEE, 2015: 779−784

    [46]

    Zhou Yuan, Ren Haoxing, Zhang Yanqing, et al. PRIMAL: Power inference using machine learning [C]//Proc of ACM/IEEE Design Automation Conf. New York: ACM, 2019: 1−6

    [47]

    Kim D, Zhao J, Bachrach J, et al. Simmani: Runtime power modeling for arbitrary RTL with automatic signal selection[C]//Proc of IEEE/ACM Int Symp on Microarchitecture. Piscataway, NJ: IEEE, 2019: 1050−1062

    [48]

    Zhang Yanqing, Ren Haoxing, Khailany B. GRANNITE: Graph neural network inference for transferable power estimation[C]//Proc of ACM/IEEE Design Automation Conf. New York: ACM, 2020: 1−6

    [49]

    Xie Zhiyao, Xu Xiaoqing, Walker M, et al. APOLLO: An automated power modeling framework for runtime power introspection in high-volume commercial microprocessors[C]//Proc of IEEE/ACM Int Symp on Microarchitecture. Piscataway, NJ: IEEE, 2021: 1−14

    [50]

    Fang Wenji, Lu Yao, Liu Shang, et al. MasterRTL: A pre-synthesis PPA estimation framework for any RTL design[C]//Proc of IEEE/ACM Int Conf on Computer Aided Design. Piscataway, NJ: IEEE, 2023: 1−9

    [51]

    Lee B C, Brooks D M. Illustrative design space studies with microarchitectural regression models[C]//Proc of IEEE Int Symp on High Performance Computer Architecture. Piscataway, NJ: IEEE, 2007: 340−351

    [52]

    Jacobson H, Buyuktosunoglu A, Bose P, et al. Abstraction and microarchitecture scaling in early-stage power modeling[C] // Proc of IEEE Int Symp on High Performance Computer Architecture. Piscataway, NJ: IEEE, 2011: 394−405

    [53]

    Bircher W L, John L K. Complete system power estimation: A trickle-down approach based on performance events[C] // Proc of IEEE Int Symp on Performance Analysis of Systems & Software. Piscataway, NJ: IEEE, 2007: 158−168

    [54]

    Walker M J, Diestelhorst S, Hansson A, et al. Accurate and stable run-time power modeling for mobile and embedded CPUs[J]. IEEE Transactios on Computer-Aided Design of Integrated Circuits and Systems, 2017, 36(1): 106−119

    [55]

    Sagi M, Doan N A V, Rapp M, et al. A lightweight nonlinear methodology to accurately model multicore processor power[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2020, 39(11): 3152−3164

    [56]

    Lebeane M, Ryoo J H , Panda R, et al. WattWatcher: Fine-grained power estimation for emerging workloads[C]//Proc of Int Symp on Computer Architecture and High Performance Computing. New York: ACM, 2015: 106−113

    [57]

    Reddy B K, Walker M J , Balsamo D et al. Empirical CPU power modelling and estimation in the gem5 simulator[C] // Proc of IEEE Int Workshop on Power and Timing Modeling, Optimization and Simulation. Piscataway, NJ: IEEE, 2017: 1−8

    [58]

    Ipek E, McKee S A, Caruana R, et al. Efficiently exploring architectural design spaces via predictive modeling[C]//Proc of ACM Int Conf on Architectural Support for Programming Languages and Operating Systems. New York: ACM, 2006: 195−206

    [59]

    Ipek E, McKee S A, Singh K, et al. Efficient architectural design space exploration via predictive modeling[J]. ACM Transactions on Architecture and Code Optimization, 2008, 4(4): 1−34

    [60]

    Kumar A K A, Al-Salamin S, Amrouch H, et al. Machine learning-based microarchitecturelevel power modeling of CPUs[J]. IEEE Transactions on Computers, 2023, 72(4): 941−956

    [61]

    Wilson S Verilator [CP/OL]. [2023-12-25]. https://www.veripool.org/wiki/verilator

    [62]

    Rossi D, Conti F, Marongiu A, et al. PULP: A parallel ultra low power platform for next generation IoT applications[C]//Proc of IEEE Hot Chips Symp. Piscataway, NJ: IEEE, 2015: 1−39

    [63]

    Zhai Jianwang, Bai Chen, Zhu Binwu, et al. McPAT-Calib: A microarchitecture power modeling framework for modern CPUs[C]//Proc of IEEE/ACM Int Conf on Computer-Aided Design. Piscataway, NJ: IEEE, 2021: 1−9

    [64]

    Zhai Jianwang, Bai Chen, Zhu Binwu, et al. McPAT-Calib: A RISC-V BOOM microarchitecture power modeling framework[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2023, 42(1): 243−256

    [65]

    Zhang Qijun, Li Shiyu, Zhou Guanglei, et al. PANDA: Architecture-level power evaluation by unifying analytical and machine learning solutions[C]//Proc of IEEE/ACM Int Conf on Computer Aided Design. Piscataway, NJ: IEEE, 2021: 1−9

    [66]

    Zhai Jianwang, Cai Yici, Yu Bei. Microarchitecture power modeling via artificial neural network and transfer learning[C]//Proc of IEEE/ACM Asia and South Pacific Design Automation Conf. Piscataway, NJ: IEEE, 2023: 1−6

    [67]

    Wang Duo, Yan Mingyu, Teng Yihan, et al. A Transfer learning framework for high-accurate cross-workload design space exploration of CPU[C]//Proc of IEEE/ACM Int Conf on Computer Aided Design. Piscataway, NJ: IEEE, 2023: 1−9

    [68]

    Li Fuping, Wang Ying, Liu Cheng et al. NoCeption: A fast PPA prediction framework for network-on-chips using graph neural network[C]//Proc of Design, Automation & Test in Europe Conf & Exhibition. Piscataway, NJ: IEEE, 2022: 1035−1040

    [69]

    Guo Qi, Chen Tianshi, Chen Yunji, et al. Accelerating architectural simulation via statistical techniques: A survey[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2016, 35(3): 433−446

    [70]

    Karkhanis T S, Smith J E. A first-order superscalar processor model[C]//Proc of IEEE/ACM Int Symp on Computer Architecture. Piscataway, NJ: IEEE, 2004: 338−349

    [71]

    Karkhanis T S, Smith J E. Automated design of application specific superscalar processors: An analytical approach[C]//Proc of IEEE/ACM Int Symp on Computer Architecture. Piscataway, NJ: IEEE, 2007: 402−411

    [72]

    Lee J, Jang H, Kim J. RPStacks: Fast and accurate processor design space exploration using representative stall-event stacks[C]//Proc of IEEE/ACM Int Symp on Microarchitecture. Piscataway, NJ: IEEE, 2014: 255−267

    [73]

    Bai Chen, Huang Jiayi, Wei Xuechao, et al. ArchExplorer: Microarchitecture exploration via bottleneck analysis[C]//Proc of Annual IEEE/ACM Int Symp on Microarchitecture. Piscataway, NJ: IEEE, 2023: 268−282

    [74]

    Dubach C, Jones T, O'Boyle M. Microarchitectural design space exploration using an architecture-centric approach[C]//Proc of IEEE/ACM Int Symp on Microarchitecture. Piscataway, NJ: IEEE, 2007: 262−271

    [75]

    Chen Tianshi, Guo Qi, Tang Ke, et al. ArchRanker: A ranking approach to design space exploration[J]. ACM SIGARCH Computer Architecture News, 2014, 42(3): 85−96

    [76]

    Freund Y, Iyer R, Schapire R E, et al. An efficient Boosting algorithm for combining preferences[J]. Journal of Machine Learning Research, 2003, 4(9): 933−969

    [77]

    Li Dandan, Yao Shuzhen, Liu Yuhang, et al. Efficient design space exploration via statistical sampling and AdaBoost learning[C]//Proc of ACM/IEEE Design Automation Conf. New York: ACM, 2016: 1−6

    [78]

    Bai Chen, Sun Qi, Zhai Jianwang, et al. BOOM-Explorer: RISC-V BOOM microarchitecture design space exploration framework[C]//Proc of IEEE/ACM Int Conf on Computer-Aided Design. Piscataway, NJ: IEEE, 2021: 1−9

    [79]

    Bai Chen, Sun Qi, Zhai Jianwang, et al. BOOM-Explorer: RISC-V BOOM microarchitecture design space exploration framework[J]. ACM Transactions on Design Automation of Electronic Systems, 2024, 29(1): 1−23

    [80]

    Bai Chen, Zhai Jianwang, Ma Yuzhe, et al. Towards automated RISC-V microarchitecture design with reinforcement learning[C]//Proc of AAAI Conf on Artificial Intelligence. Menlo, CA: AAAI, 2024: 1−9

    [81]

    Eyerman S, Eeckhout L, Karkhanis T, et al. A mechanistic performance model for superscalar out-of-order processors[J]. ACM Transactions on Computer Systems, 2009, 27(2): 1−37

    [82]

    Zhai Jianwang, Cai Yici. Microarchitecture design space exploration via Pareto-driven active learning[J]. IEEE Transactions on Very Large Scale Integration Systems, 2023, 31(11): 1727−1739

    [83]

    Yu Ziyang, Bai Chen, Hu Shoubo, et al. IT-DSE: Invariance risk minimized transfer microarchitecture design space exploration[C]//Proc of IEEE/ACM Int Conf on Computer Aided Design. Piscataway, NJ: IEEE, 2023: 1−9

    [84]

    Yi Xiaoling, Lu Jialin, Xiong Xiankui, et al. Graph representation learning for microarchitecture design space exploration[C]//Proc of ACM/IEEE Design Automation Conf. New York: ACM, 2023: 1−6

    [85]

    Zhang Muhan, Jiang Shali, Cui Zhicheng, et al. D-VAE: A variational autoencoder for directed acyclic graphs[J]. arXiv preprint, arXiv: 1904.11088, 2019

    [86]

    Wang Duo, Yan Mingyu, Teng Yihan, et al. A high-accurate multi-objective ensemble exploration framework for design space of CPU microarchitecture[C]//Proc of the Great Lakes Symp on VLSI. New York: ACM, 2023: 379–383

    [87]

    Wang Duo, Yan Mingyu, Teng Yihan, et al. A high-accurate multi-objective exploration framework for design space of CPU[C] // Proc of ACM/IEEE Design Automation Conf. Piscataway, NJ: IEEE, 2023: 1−6

    [88]

    Wang Duo, Yan Mingyu, Teng Yihan, et al. MoDSE: A high-accurate multi-objective design space exploration framework for CPU microarchitectures[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and System, 2024, 43(5): 1525−1537

    [89]

    Esmaeilzadeh H, Ghodrati S, Kahng A B, et al. An Open-source ML-based full-stack optimization framework for machine learning accelerators[J]. arXiv preprint, arXiv: 2308.12120, 2023

    [90]

    Chen Shixin, Zheng Su, Bai Chen, et al. SoC-Tuner: An importance-guided exploration framework for DNN-targeting SoC design[C] // Proc of IEEE/ACM Asian and South Pacific Design Automation Conf. Piscataway, NJ: IEEE, 2024: 1−6

    [91]

    Genc H, Kim S, Amid A, et al. Gemmini: Enabling systematic deep-learning architecture evaluation via full-stack integration[C] // Proc of ACM/IEEE Design Automation Conf. New York: ACM, 2021: 769–774

    [92]

    Li Sicheng, Bai Chen, Wei Xuechao, et al. 2022 ICCAD CAD contest problem C: Microarchitecture design space exploration[C] // Proc of IEEE/ACM Int Conf on Computer-Aided Design. Piscataway, NJ: IEEE, 2022: 1−7

    [93]

    Bai chen. ICCAD contest platform [EB/OL]. [2024-01-02]. http://47.93.191.38/

  • 期刊类型引用(0)

    其他类型引用(1)

图(19)  /  表(4)
计量
  • 文章访问数:  792
  • HTML全文浏览量:  194
  • PDF下载量:  221
  • 被引次数: 1
出版历程
  • 收稿日期:  2024-01-31
  • 修回日期:  2024-03-18
  • 网络出版日期:  2024-04-14
  • 刊出日期:  2024-05-31

目录

/

返回文章
返回