System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种用于探索CPU微架构的设计空间的方法和装置制造方法及图纸_技高网

一种用于探索CPU微架构的设计空间的方法和装置制造方法及图纸

技术编号:41131484 阅读:8 留言:0更新日期:2024-04-30 18:01
本发明专利技术提供了一种用于探索CPU微架构的设计空间的方法和装置,该方法包括:获取所有设计点和负载;利用运行负载的模拟器对部分设计点进行模拟输出对应的性能指标,并构建训练集训练性能预测模型;利用经训练的性能预测模型预测剩余设计点的性能指标,并执行以下操作:计算设计点的超体积值并确定候选设计点,若有候选设计点,将该候选设计点输入模拟器;若没有候选设计点,利用预设选择算法选择一个设计点输入模拟器;判断训练集中设计点的数量与所有设计点的数量的比值是否超过预设阈值,若否,对输入的设计点进行模拟并输出性能指标,将其加入训练集对性能预测模型进行迭代训练;若是,根据帕累托等级算法计算并输出CPU微架构的帕累托最优解集。

【技术实现步骤摘要】

本专利技术涉及针对指定应用的通用处理器微架构设计空间探索方法,具体来说涉及处理器以及机器学习领域,更具体地说,涉及一种用于探索cpu微架构的设计空间的方法和装置。


技术介绍

1、通用处理器(central processing unit,cpu)是使用最为广泛的计算硬件,而设计空间探索(design space exploration,dse)是cpu设计中一项重要且耗时的任务。架构师通常使用性能指标(如性能、功率和面积)来探索整个设计空间,以搜索最优设计点,如帕累托最优解集。设计点是总微架构参数的配置实例,所有设计点构成到设计空间。为了实现准确的探索,提出了各种模拟器来模拟cpu的行为,并获得每个设计点的精确性能指标。

2、不幸的是,现代cpu设计空间中数十亿的设计点造成了无法忍受的模拟时间,特别是在设计空间随着微架构参数呈指数增长的情况下,很难在合理的时间内完成dse。为了加速设计空间探索的过程,现有技术一般基于两阶段对设计空间进行探索,一方面:训练性能预测模型,使用来自抽样设计点的模拟的性能指标进行训练;另一方面:通过经过训练的性能预测模型预测设计空间中所有设计点的指标,得到最优设计点。

3、由于探索效果受性能预测模型精度的影响较大,而现有的单一性能预测模型预测精度有限,可以考虑使用多个模型的融合来提高预测精度,但是通过简单地组合多个性能预测模型来解决多目标问题并不能获得理想的性能。

4、需要说明的是:本
技术介绍
仅用于介绍本专利技术的相关信息,以便于帮助理解本专利技术的技术方案,但并不意味着相关信息必然是现有技术。在没有证据表明相关信息已在本专利技术的申请日以前公开的情况下,相关信息不应被视为现有技术。


技术实现思路

1、因此,本专利技术的目的在于克服上述现有技术的缺陷,提供一种用于探索cpu微架构的设计空间的方法和装置。

2、本专利技术的目的是通过以下技术方案实现的:

3、根据本专利技术的第一方面,提供了一种用于探索cpu微架构的设计空间的方法,所述方法包括:获取cpu微架构的设计空间中的所有设计点和负载,将所有设计点划分为第一设计点集和第二设计点集,每个设计点包括多个微架构参数;并根据所述第一设计点集和第二设计点集一次或多次执行以下操作:利用运行所述负载的模拟器对所述第一设计点集进行模拟输出所述第一设计点集中每个设计点在该负载下的性能指标评估值,并根据所述第一设计点集以及对应的性能指标评估值构建训练集,利用所述训练集对性能预测模型进行训练,得到经训练的性能预测模型,在训练中,利用预设的权重更新算法对所述训练集中各个设计点的初始权重进行更新,其中,所述各个设计点的初始权重根据设计点对应的帕累托等级确定;利用所述经训练的性能预测模型预测所述第二设计点集中各个设计点的性能指标;根据各个设计点的性能指标预测值计算各个设计点的超体积值,并根据各个设计点的超体积值确定候选设计点,在有候选设计点的情况下,将该候选设计点输入模拟器进行模拟;在没有候选设计点的情况下,利用预设选择算法从所述第二设计点集中选择一个设计点,并将选择的设计点输入模拟器进行模拟;判断所述训练集中设计点的数量与所有设计点的数量的比值是否超过预设阈值,若否,通过模拟器对候选设计点或者选择的设计点进行模拟,得到该设计点对应的性能指标评估值,将该设计点以及对应的性能指标评估值加入所述训练集,对所述性能预测模型进行迭代训练;若是,根据预设的帕累托等级算法计算并输出所述cpu微架构的帕累托最优解集。

4、在本专利技术的一些实施例中,所述初始权重按照以下方式得到:根据预设的帕累托等级算法确定各个设计点对应的帕累托等级,并将各个设计点对应的帕累托等级取倒数后再进行归一化处理,得到各个设计点对应的初始权重。

5、在本专利技术的一些实施例中,所述根据预设的帕累托等级算法确定各个设计点对应的帕累托等级,包括:对每个设计点,将能够支配该设计点的设计点的数量初始为零,该设计点的非支配集合初始化为空集;对除该设计点的其他设计点进行遍历:若其他设计点的性能指标评估值高于该设计点的性能指标评估值,将其他设计点加入该设计点的非支配集合中;若其他设计点的性能指标评估值低于该设计点的性能指标评估值,则能够支配该设计点的数量加一;遍历完成后,若能够支配该设计点的设计点的数量为零,将该设计点加入前沿集合,并将其对应的帕累托等级设置为第一等级;根据所述非支配集合对所述前沿集合中每个设计点进行遍历,直至能够支配的数量为零,输出各个设计点的帕累托等级;其中,后续每增加一轮遍历,每一轮的前沿集合中设计点的帕累托等级在上一轮的基础上增加一个等级。

6、在本专利技术的一些实施例中,所述性能预测模型由多个gbrt模型构成,每一个gbrt模型包括多个决策树,每个gbrt模型的训练过程包括:将上一决策树训练更新的训练集作为当前gbrt模型的训练集,并将其输入当前gbrt模型中第一个决策树中,得到当前训练集中各个设计点的性能指标预测值;根据各个设计点对应的性能指标预测值和评估值确定各个设计点对应的误差值,并将所述误差值作为训练下一决策树的标签,直至该gbrt模型的最后一个决策树训练完成,将所有决策树的输出结果进行累加得到各个设计点对应的性能指标预测值;根据各个设计点对应的性能指标预测值与标签确定损失值求梯度反向更新当前决策树的参数;同时,利用预设的权重更新算法更新当前训练集中各个设计点的权重,并将更新后的训练集用于训练下一gbrt模型。

7、在本专利技术的一些实施例中,所述利用预设的权重更新算法对所述训练集中各个设计点的初始权重进行更新,包括:将所述第一设计点集构建的训练集输入gbrt模型中,得到各个设计点性能指标的预测值,并根据每个设计点性能指标的预测值和对应的评估值,确定所述训练集的绝对误差;根据各个设计点性能指标的预测值、对应的评估值以及所述绝对误差,确定每个设计点的误差率,并将所有设计点的误差率进行加权求和,得到所述gbrt模型的第一总误差率;根据所述gbrt模型的总误差率确定所述gbrt模型的权重,并基于所述gbrt模型的权重和学习率,确定所述gbrt模型的正则化权重系数;根据所述gbrt模型的正则化权重系数对所述gbrt模型的第一总误差率更正,得到所述gbrt模型的第二总误差率;根据所述第二总误差率、正则化权重系数、各个设计点的初始权重以及对应的误差率更新每个设计点的初始权重。

8、在本专利技术的一些实施例中,所述决策树的每一层根据所述设计点中的微架构参数和预设的决策值进行节点划分,最后一层节点中所有设计点的性能指标的平均值作为该决策树输出的性能指标预测值。

9、在本专利技术的一些实施例中,所述利用所述经训练的性能预测模型预测所述第二设计点集中各个设计点的性能指标,将所述性能预测模型中模型权重为中位数的gbrt模型的预测值作为所述第二设计点集中各个设计点的性能指标预测值。

10、根据本专利技术的第二方面,提供了一种用于探索cpu微架构的设计空间的装置,所述装置包括:数据获取模块,其用于获取cpu微架构的设本文档来自技高网...

【技术保护点】

1.一种用于探索CPU微架构的设计空间的方法,其特征在于,所述方法包括:

2.根据权利要求1中所述的方法,其特征在于,所述初始权重按照以下方式得到:

3.根据权利要求2中所述的方法,其特征在于,所述根据预设的帕累托等级算法确定各个设计点对应的帕累托等级,包括:

4.根据权利要求1中所述的方法,其特征在于,所述性能预测模型由多个GBRT模型构成,每一个GBRT模型包括多个决策树,每个GBRT模型的训练过程包括:

5.根据权利要求4中所述的方法,其特征在于,所述利用预设的权重更新算法对所述训练集中各个设计点的初始权重进行更新,包括:

6.根据权利要求4中所述的方法,其特征在于,所述决策树的每一层根据所述设计点中的微架构参数和预设的决策值进行节点划分,最后一层节点中所有设计点的性能指标的平均值作为该决策树输出的性能指标预测值。

7.根据权利要求5中所述的方法,其特征在于,所述利用所述经训练的性能预测模型预测所述第二设计点集中各个设计点的性能指标,将所述性能预测模型中模型权重为中位数的GBRT模型的预测值作为所述第二设计点集中各个设计点的性能指标预测值。

8.一种用于探索CPU微架构的设计空间的装置,其特征在于,所述装置包括:

9.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序可被处理器执行以实现权利要求1至7中任一项所述方法的步骤。

10.一种电子设备,其特征在于,包括:

...

【技术特征摘要】

1.一种用于探索cpu微架构的设计空间的方法,其特征在于,所述方法包括:

2.根据权利要求1中所述的方法,其特征在于,所述初始权重按照以下方式得到:

3.根据权利要求2中所述的方法,其特征在于,所述根据预设的帕累托等级算法确定各个设计点对应的帕累托等级,包括:

4.根据权利要求1中所述的方法,其特征在于,所述性能预测模型由多个gbrt模型构成,每一个gbrt模型包括多个决策树,每个gbrt模型的训练过程包括:

5.根据权利要求4中所述的方法,其特征在于,所述利用预设的权重更新算法对所述训练集中各个设计点的初始权重进行更新,包括:

6.根据权利要求4中所述的方法,其特征在于,所述决策树的每一层根...

【专利技术属性】
技术研发人员:王铎严明玉刘昕李文明黄俊英叶笑春范东睿
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1