掌桥专利:专业的专利平台
掌桥专利
首页

基于高斯混合回归的微架构设计空间探索方法

文献发布时间:2023-06-19 19:28:50


基于高斯混合回归的微架构设计空间探索方法

技术领域

本发明涉及处理器设计的技术领域,尤其涉及到一种基于高斯混合回归的微架构设计空间探索方法。

背景技术

近年来,开源指令集RISC-V正逐渐成为CPU设计的焦点。相比于其他指令集,RISC-V具有精简的特点,非常适合于开发小型、快速和低功耗的处理器。从2010年RISC-V被开源出来至今,行业内已为其开发出了完整的工具链,因此开发者可以使用其开研发出一个功能完善的处理器。然而随着芯片的发展,处理器行业开始面临巨大的挑战。第一,处理器内部越来越复杂,晶体管数量越来越庞大,这给设计者带来了巨大的设计挑战。第二,随着工艺的发展,芯片的制造快接近物理极限,想要通过提升晶体管的密度来提高芯片性能已经很难了,因此行业需要在芯片的其他方面进行研究,例如功耗、面积。第三,在芯片的开发周期当中,芯片的验证与仿真所需时间在整个周期中占比最大。为了解决以上问题,行业需要更加快速、方便的手段开发处理器。

现有的解决办法有:借助统计学方法和代理模型来逼近处理器微架构和处理器效果之间的关系;例如文献[1]郭崎,陈天石,and陈云霁,“基于模型树的多核设计空间探索技术,”计算机辅助设计与图形学学报24,no.06(2012):710–20.提出了一种基于模型树的体系结构建模方法,该方法属于白盒模型,能够对模型进行解释,但鲁棒性较差;文献[2]Dandan Li et al.,“Efficient Design Space Exploration via Statistical Samplingand AdaBoost Learning,”in Proceedings of the 53rd Annual Design AutomationConference(DAC’16:The 53rd Annual Design Automation Conference 2016,AustinTexas:ACM,2016),1–6,https://doi.org/10.1145/2897937.2898012.提出了一种基于以ANN作为弱学习器的提升学习的设计空间探索方法,该方法对目标值和输入之间的关系的逼近效果突出,但缺乏对多目标优化之间的平衡,且所需仿真和验证次数仍然较多;文献[3]Qi Guo et al.,“Robust Design Space Modeling,”ACM Transactions on DesignAutomation of Electronic Systems 20,no.2(March2,2015):1–22,https://doi.org/10.1145/2668118.使用堆叠算法,将SVM,ANN和M5模型树作为弱学习器,使用M5模型树对弱学习器的结果进行整合,提出了一种鲁棒性较强的设计空间探索算法,但该方法所需训练时间较长;文献[4]Bai C,Sun Q,Zhai J,et al.BOOM-Explorer:RISC-V BOOMMicroarchitecture Design Space Exploration Framework[C]//2021IEEE/ACMInternational Conference On Computer Aided Design(ICCAD).0.使用了相关贝叶斯优化方法作为框架,减少处理器微架构仿真和验证的次数,并且实现了多目标优化的功能,但作者并没有给出更加具体的实现方法,并且该方法只能在已生成的微架构数据集中选择最优微架构,但无法估计出数据集以外的微架构。

发明内容

本发明的目的在于克服现有技术的不足,提供一种基于高斯混合回归的微架构设计空间探索方法,该方法结合帕累托前沿,对设计目标进行多目标优化;使用贝叶斯优化作为框架,减少探索过程中所需仿真和验证的次数,缩短算法执行速度的同时保持较高的模型拟合精度;使用共轭梯度法对最优微架构的特征向量进行估计。

为实现上述目的,本发明所提供的技术方案为:

基于高斯混合回归的微架构设计空间探索方法,包括:

S1、提取微架构的特征属性,设定微架构的约束规则,确定需要探索的设计空间D;

S2、从设计空间中随机采样若干个特征点X,对这些特征点X进行仿真和验证,得到相应的PPA值Y,并在设计空间中剔除已采样特征点,得到剩余的设计空间D’;

S3、在Y中找到帕累托集合Y’以及对应的帕累托解集X’,求出Y’的帕累托超体积;

S4、将X和Y放进高斯混合回归模型当中进行模型训练,得到模型G;

S5、在设计空间D’中随机采样多个特征点组成集合X*,放进模型G中进行预测,得到预测值期望集合Y*和目标值的协方差矩阵集合Σ*;

S6、将X*,Σ*,Y*和Y放进CEIPV采集函数中,分别以X*中的每一个特征向量和Σ*每一个协方差矩阵作为初始输入,使用共轭梯度法求解出使得CEIPV函数取得最大值时的特征向量x’;

S7、判断x’是否符合微架构的约束,若符合,则直接进入下一步,若不符合,则在设计空间中寻找与x’距离最近的特征点作为真正的x’,再进入下一步;

S8、对x’进行仿真和验证,得到x’的实际PPA值y’,并且把x’从设计空间D’中剔除;

S9、将x’加入X'和X,y’加入Y和Y’;

S10、在Y’中找到帕累托集合并求解相应的帕累托超体积,若该帕累托超体积比原来的帕累托超体积大,则直接执行下一步,否则将x’,y’分别从集合X’和Y’中剔除掉,再执行下一步;

S11、循环步骤S4~S10,直到达到循环终止条件为止;

S12、最终输出的X’即为处理器微架构的帕累托解集,Y’为相应的PPA值。

进一步地,步骤S1提取微架构的特征属性后,使用标号法代替微架构实际的特征值。

进一步地,步骤S3中,求Y’的帕累托超体积时,先人为选定两个参考点v

进一步地,步骤S4中,所述的高斯混合回归模型属于生成模型,即先求解输入与输出的联合概率密度,再通过贝叶斯公式求解出给定输入下的输出的条件概率分布,具体包括:

给定训练集的输入X,输出Y,待预测输入x,则x相应的输出y的概率分布如式(1)所示:

其中μ

μ

其中μ

其中∑

最终得到x的输出y的估计值μ

其中

公式(2),(3)中提到的第i个高斯分布的均值和协方差为需要训练的参数;使用EM方法对这些参数进行迭代优化,并且将高斯混合回归模型的初始聚类个数设定为与处理器微架构中的某一特征的数量类别的数量相等;最后使用贝叶斯信息准则来评估数据中聚类的数量以减少高斯分量。

进一步地,对于步骤S6中的采集函数CEIPV,假设目标值之间相关,计算目标值构成的帕累托超体积的增量期望。

进一步地,步骤S7中,通过Euclidean Distance距离算法在设计空间中寻找与x’距离最近的特征点作为真正的x’。

进一步地,步骤S8中,进行仿真和验证时,把特征值向量转换成实际的微架构,再对微架构进行验证仿真。

与现有技术相比,本方案原理及优点如下:

1、使用贝叶斯优化方法进行不完全监督学习,能减少数据集的标注成本,利用先验概率加速模型的训练。

2、使用的高斯混合回归模型是混合模型中最快的模型,并且具有无偏差性,其已在机器人路径优化上取得卓越的效果;高斯混合回归模型能同时计算目标值的预测均值和多目标之间的协方差,与其他模型对比,能更好地进行多目标优化。

3、使用贝叶斯信息优化准则来确定最终的高斯分量数量,实现了动态优化高斯分量数量的功能,使模型更好地逼近真实函数。

4、使用的采集函数CEIPV将目标值相结合,在提供不确定性最高的观测点的同时考虑了目标间的平衡问题;而传统的计算下一个观测点的方法为:对不同的目标使用不同的采集函数,然后对这些采集函数采取一定的策略选出最终的下一个观测点,不能同时兼顾目标间的平衡和模型不确定性预测。由此产生的影响是未必能选出模型不确定性最大处的输入,且目标的平衡方法较复杂。因此本方案所使用的方法与传统方法相比更加简便和有效。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的服务作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明基于高斯混合回归的微架构设计空间探索方法的原理流程图;

图2为帕累托超体积示意图;

图3为帕累托超体积增量示意图。

具体实施方式

下面结合具体实施例对本发明作进一步说明:

如图1所示,本实施例所述的基于高斯混合回归的微架构设计空间探索方法,包括以下步骤:

S1、提取微架构的特征属性,设定微架构的约束规则,确定需要探索的设计空间D;

本步骤中,设计空间D内所有特征点都需要符合待设计处理器微架构的架构约束。为了统一输入特征的单位,本实施例使用标号法代替实际处理器微架构的特征值,例如,处理器微架构的fetch缓冲寄存器的条目数有{8,16,24,32,35,40}六种,则用{1,2,3,4,5,6}这6个元素依次代替实际特征值。

S2、从设计空间中随机采样若干个特征点X,对这些特征点X进行仿真和验证,得到相应的PPA值Y,并在设计空间中剔除已采样特征点,得到剩余的设计空间D’;

S3、在Y中找到帕累托集合Y’以及对应的帕累托解集X’,求出Y’的帕累托超体积;

本步骤中,帕累托超体积的确定需要先人为选定两个参考点v

S4、将X和Y放进高斯混合回归模型当中进行模型训练,得到模型G;

本步骤中,高斯混合回归模型属于生成模型,即先求解输入与输出的联合概率密度,再通过贝叶斯公式求解出给定输入下的输出的条件概率分布,具体包括:

给定训练集的输入X,输出Y,待预测输入x,则x相应的输出y的概率分布如式(1)所示:

/>

其中μ

μ

其中μ

Σ

Σ

其中Σ

最终得到x的输出y的估计值μ

其中

公式(2),(3)中提到的第i个高斯分布的均值和协方差为需要训练的参数;使用EM方法对这些参数进行迭代优化,并且将高斯混合回归模型的初始聚类个数设定为与处理器微架构中的某一特征的数量类别的数量相等;例如设计空间中,作为特征之一的微架构的解码器位宽有5种,则高斯混合回归模型的初始分量个数也为5。最后使用贝叶斯信息准则(BIC)来评估数据中聚类的数量以减少高斯分量。

S5、在设计空间D’中随机采样多个特征点组成集合X*,放进模型G中进行预测,得到预测值期望集合Y*和目标值的协方差矩阵集合Σ*;

S6、将X*,Σ*,Y*和Y放进CEIPV采集函数中,分别以X*中的每一个特征向量和Σ*每一个协方差矩阵作为初始输入,使用共轭梯度法求解出使得CEIPV函数取得最大值时的特征向量x’;

本步骤中的采集函数CEIPV,其原理是假设目标值之间相关,计算目标值构成的帕累托超体积的增量期望。帕累托超体积的增量如图3所示。

S7、判断x’是否符合微架构的约束,若符合,则直接进入下一步,若不符合,则通过Euclidean Distance距离算法在设计空间中寻找与x’距离最近的特征点作为真正的x’,再进入下一步;

S8、对x’进行仿真和验证,得到x’的实际PPA值y’,并且把x’从设计空间D’中剔除;进行仿真和验证时,把特征值向量转换成实际的微架构,再对微架构进行验证仿真。

S9、将x’加入X'和X,y’加入Y和Y’;

S10、在Y’中找到帕累托集合并求解相应的帕累托超体积,若该帕累托超体积比原来的帕累托超体积大,则直接执行下一步,否则将x’,y’分别从集合X’和Y’中剔除掉,再执行下一步;

S11、循环步骤S4~S10,直到达到循环终止条件为止;

S12、最终输出的X’即为处理器微架构的帕累托解集,Y’为相应的PPA值。

本实施例中,处理器芯片的功耗(power)、性能(performance)和面积(area),简称PPA。

以下将选用对BOOM(Berkeley Out-of-Order Machine)架构进行空间探索作为案例来解释上述设计空间探索的方法:

A1、在BOOM架构上,可以抽取出如表1所示特征值:

表1BOOM微架构特征值

对表1进行特征值工程:根据表3的微架构约束,可以剔除掉特征属性IntPhyRegister、STQEntry和FpIssueWidth,以减小计算量。最终可得表2;

表2修改后的BOOM微架构特征值

A2、根据表2按照一定的规则随机选取12个符合表3BOOM微架构约束的特征值向量X,其中的规则为:根据DecodeWidth的类别个数,从每个类中随机选取2个特征向量;

表3 BOOM微架构约束

+″|″意思是RobEntry必须能被DecodeWidth整除A3、将X对应的微架构放进虚拟原型平台中得到仿真出来的PPA值Y,将已仿真的特征向量从设计空间中剔除;

A4、在Y中找到帕累托集合Y’以及相应的特征向量的集合X’,求出Y’的帕累托超体积PV

A5、将X和Y放进高斯混合回归模型当中进行模型训练,得到模型G,其中高斯混合回归模型的初始聚类个数K根据表2的DecodeWidth设置为K=6,训练方法使用EM,使用BIC优化高斯分量数量;

A6、根据表2随机生成符合表3的100个特征向量X*,放进模型G中进行预测,得到预测值期望集合Y*和目标值的协方差矩阵集合Σ*;

A7、将X*,Σ*,Y*和Y放进CEIPV函数中,分别以X*中的每一个特征向量和Σ*每一个协方差矩阵作为初始输入,使用共轭梯度法求解出使得CEIPV取得最大值时的特征向量x’;

A8、判断x’是否符合表3的微架构的约束,若符合,则直接进行步骤A9;若不符合,则修改x’中的某些特征生成新的特征向量,然后剔除不符合表3的特征向量,再在所生成的新的特征向量中寻找到离x’最近的特征向量作为真正的x’,最后执行步骤A9;

A9、对x’进行仿真和验证,得到x’的实际PPA值y’,并且把x’从设计空间D’中剔除;

A10、将x’加入X'和X,y’加入Y和Y’;

A11、在Y’中找到帕累托集合并求解相应的帕累托超体积,若该帕累托超体积比原来的帕累托超体积PV

A12、循环步骤A5~A11,将循环终止条件设为“帕累托解集中解的个数达到20”或者“最大循环次数达到50”;

A13、输出X’和Y’分别作为处理器微架构的帕累托解集和相应的仿真PPA值集合。

以上所述之实施例子只为本发明之较佳实施例,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。

相关技术
  • 基于相关性和高斯过程回归的设计空间参数迁移学习方法
  • 一种基于高斯回归的空间细粒度污染推断方法
技术分类

06120115928801