CN110750856A - 一种基于机器学习的有效指令窗口大小评估方法 - Google Patents

一种基于机器学习的有效指令窗口大小评估方法 Download PDF

Info

Publication number
CN110750856A
CN110750856A CN201910846458.1A CN201910846458A CN110750856A CN 110750856 A CN110750856 A CN 110750856A CN 201910846458 A CN201910846458 A CN 201910846458A CN 110750856 A CN110750856 A CN 110750856A
Authority
CN
China
Prior art keywords
effective
rob
instruction window
adopting
size
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910846458.1A
Other languages
English (en)
Other versions
CN110750856B (zh
Inventor
凌明
赵彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southeast University-Wuxi Institute Of Integrated Circuit Technology
Southeast University
Original Assignee
Southeast University-Wuxi Institute Of Integrated Circuit Technology
Southeast University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Southeast University-Wuxi Institute Of Integrated Circuit Technology, Southeast University filed Critical Southeast University-Wuxi Institute Of Integrated Circuit Technology
Priority to CN201910846458.1A priority Critical patent/CN110750856B/zh
Publication of CN110750856A publication Critical patent/CN110750856A/zh
Application granted granted Critical
Publication of CN110750856B publication Critical patent/CN110750856B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提出一种基于机器学习的有效指令窗口大小评估方法,属于计算机体系结构与建模领域。该方法以有效ROB作为因变量,并以该有效ROB所对应的193维微架构无关参数及6维硬件配置参数作为自变量,采用控制变量法设计出训练样本集,采用机器学习方法对有效指令窗口大小进行建模,并采用训练样本集训练模型以获得能够预测有效指令窗口大小的经验模型。本发明以有效指令窗口大小代替ROB窗口大小,从而提高CPI栈理论模型的精度。另外,本发明实现了对有效指令窗口大小的评估,也可以作为ROB大小选择的评估依据。

Description

一种基于机器学习的有效指令窗口大小评估方法
技术领域
本发明涉及计算机体系结构与建模领域,具体涉及一种基于机器学习的有效指令窗口大小评估方法。
背景技术
在处理器的研发阶段,设计空间探索(Design space exploration,DSE)至关重要。不同微架构参数的处理器性能天壤之别,DSE旨在用最快的时间帮助研发人员找到最适合当前需求的微架构参数的取值。现有技术中,对给定微架构参数的处理器性能进行准确评估的主要手段包括:解析性能建模(Analyticalperformance modeling)和仿真(Simulation)。相对于仿真而言,解析性能建模虽然牺牲了一定的精度但是带来了大幅的评估速度提升,因而被广泛应用于学术界和工业界。
对于解析建模中的性能区间模型,程序运行的总时钟周期由流水线稳态下执行指令所需时间加上各类由缺失事件而产生的惩罚延迟时间组成。基于性能区间模型,可以将处理器执行每条指令的平均周期数(Cycles Per-Instruction,CPI)划分为相应的稳态周期数和相应的缺失事件周期数,从而构造所谓的CPI栈。为了量化CPI栈中的稳态吞吐率和访存并发度(MLP),需要采用基于滑动指令窗口的软件Trace分析方法。当前研究所采用的软件Trace分析方法中,都是以重排序缓存(Reorder Buffer,ROB)的大小作为指令窗口的大小,因此该方法中隐含了ROB总是充满指令的假设条件。然而,根据实验观察,ROB在绝大多数时间中都处于不完全充满状态,并且ROB的充满情况还随着软件的不同执行阶段而不同。以ROB大小作为指令窗口大小从本质上看仅是一种近似,因此需要研究一种准确的有效指令窗口大小评估方法以提高CPI栈理论模型的精度。
发明内容
本发明的目的是为了克服现有技术所存在的不足而提出了一种基于机器学习的有效指令窗口大小评估方法,从而以有效指令窗口大小代替ROB窗口大小,实现CPI栈模型精度的提升。
为了解决上述技术问题,本发明提出如下技术方案:
本发明提出的一种基于机器学习的有效指令窗口大小评估方法,包括以下步骤:
步骤S1:在ROB处于充满状态的各种硬件配置参数下,通过全功能时序精确型仿真获取目标程序部分执行时间内的执行流,并按照预先设定的指令数粒度将此执行流划分为固定长度的统计阶段。
ROB处于充满状态的各种硬件配置参数是采用实验法获得的。
其中,所采用的实验法是通过控制变量法分别设计的多个实验,所获取的ROB充满情况下的各种硬件配置参数包括:ROB大小、指令队列(IQ)、Cache配置参数、物理寄存器、前端宽度、后端执行单元数目等。
步骤S2:采用全功能时序精确型仿真,获取当前软件负载中每一个统计阶段的微架构无关参数、硬件配置参数以及有效ROB信息,每一个统计阶段的微架构无关参数、硬件配置参数以及有效ROB信息构成一组训练样本,以有效ROB信息作为因变量,并以该有效ROB所对应的193维微架构无关参数及6维硬件配置参数为自变量,采用控制变量法设计出训练样本集。
步骤S3:采用机器学习方法构建以训练样本集为输入、以有效指令窗口大小为输出的模型,并采用训练样本集训练该模型以获得能够预测有效指令窗口大小的经验模型;
其中,采用机器学习方法对有效指令窗口大小进行建模包括:线性回归方法和非线性方法。
采用线性回归方法进行建模的具体步骤包括:对训练样本集中微架构无关参数及硬件配置参数进行归一化处理,归一化处理后的训练样本集通过斯皮尔曼相关性分析进行降维,剔除与因变量不相关的自变量,通过逐步回归剔除与因变量虽然相关但相关度不显著的自变量。
采用非线性方法进行建模的具体步骤包括:选取BP神经网络对训练样本集进行拟合训练,依照经验公式调试获取合适的训练方法、激励函数及隐含层节点数。
采用训练样本集训练模型,从而获得面向不同软件和不同硬件参数的、能够预测有效指令窗口大小的经验模型。
步骤S4:利用指令级模拟器运行目标程序并提取目标程序的微架构无关参数。
步骤S5:目标程序中,不同的硬件配置参数下,将步骤S4所获得的目标程序微架构无关参数导入步骤S3所获得的有效指令窗口大小的经验模型,对目标程序的有效指令窗口大小进行预测和评估。
本发明提出的一种基于机器学习的有效指令窗口大小评估方法,相比现有技术,具有以下效益:
基于机器学习的有效指令窗口大小评估方法预测得到的有效指令窗口代替默认指令窗口进行分析可以提高CPI栈理论模型的精度。另外,对于有效指令窗口大小的评估,也可以用于ROB大小选择的评估依据。
附图说明
图1是本发明提出的一种基于机器学习的有效指令窗口大小评估方法中分析程序Trace以获取训练样本的方法示意图。
图2是本发明提出的一种基于机器学习的有效指令窗口大小评估方法中采用的BP神经网络的拓扑结构示意图。
具体实施方式
下面结合附图和具体实施案例对本发明的具体实施方式作进一步的详细描述。
本发明提出的一种基于机器学习的有效指令窗口大小评估方法,包括以下步骤:
步骤S1:
在ROB处于充满状态的各种硬件配置参数下,通过全功能时序精确型仿真获取目标程序部分执行时间内的执行流,并按照预先设定的指令数粒度将此执行流划分为固定长度的统计阶段。
ROB处于充满状态的各种硬件配置参数是采用实验法获得的。
其中,所采用的实验法是通过控制变量法分别设计的多个实验,所获取的ROB充满情况下的各种硬件配置参数包括:ROB大小、指令队列(IQ)、Cache配置参数、物理寄存器、前端宽度、后端执行单元数目等。
在本优选实施例中,在保持其他硬件参数不变的情况下,ROB大小分别设置为40、60、80、100。
本优选实施中,通过全功能时序确型仿真所获取的执行流,是预热后的目标程序执行时间排序在前50%的顺序执行流,其中执行流所占比例可以根据训练结果进行调整,一般取全部程序的50%。
其中,统计阶段,是以预先设定的指令数粒度为间隔对执行流进行切割而获得的。
步骤S2:采用全功能时序精确型仿真,获取当前软件负载中每一个统计阶段的微架构无关参数、硬件配置参数以及有效ROB信息,每一个统计阶段的微架构无关参数、硬件配置参数以及有效ROB信息构成一组训练样本,以有效ROB信息作为因变量,并以该有效ROB所对应的193维微架构无关参数及6维硬件配置参数为自变量,采用控制变量法设计出训练样本集。
其中,采用全功能时序精确型仿真获取的每一个统计阶段中对应的软件负载的微架构无关参数包括:指令混合比、关键路径长度分布、指令及数据的时间和空间局部性,分支行为等。本优选实施例所涉及的软件微架构无关参数详见表1。
表1软件微架构无关参数列表
Figure BDA0002193921990000041
Figure BDA0002193921990000051
Figure BDA0002193921990000061
结合上表1对微架构无关参数做进一步详细描述,微架构无关参数主要包括:
(1)指令混合比,用于表示不同类型的指令占全部指令的比例,主要包括load指令、store指令、分支指令、整数指令及浮点指令。
(2)关键路径长度分布,描述的是动态指令之间的依赖关系,定义为:以ROB大小为固定长度40的指令窗口进行滑动,计算窗口内指令间的数据依赖关系,最长的数据依赖为关键路径长度。
(3)指令的局部性,包含指令的空间局部性和指令的时间局部性。指令的空间局部性定义为:对每512条指令进行统计,计算出的每条指令地址与第一条指令地址的差的绝对值。指令的时间局部性定义为:对某一条指令,当其再次执行时,中间间隔的指令条数。
(4)数据的局部性,包含数据的空间局部性和数据的时间局部性。数据的空间局部性定义为:对于每一条load(store)指令,计算与其下一条访存指令间的访存地址差的绝对值,为全局访存地址跨度;如果下一条访存指令与当前访存指令是同一条(PC相同),则统计访存地址差的绝对值,为局部访存地址跨度。数据的时间局部性定义为:建立一个固定长度为256的load(store)指令队列,对每一load(store)指令,统计下一条访存地址相同的load(store)指令之间间隔的load(store)指令数目,为load(store)全局重用距离lqGlobalDistance(stGlobalDistince);当下一条访存地址相同的load(store)指令与当前指令是同一指令(PC值相同),两条指令间间隔的load(store)指令数为局部重用距离lqLocalDistance(stLocalDistance)。
(5)分支行为,包含基本块大小分布、前跳次数、后跳次数、不跳次数、跳转变换次数及跳转地址分布。基本块大小定义为:每两条跳转指令之间的顺序执行的指令串定义为一个基本块(未计入最后一条跳转指令),每个基本块中的指令数量为基本块大小。前跳次数定义为:每段切片中跳转目标地址小于当前跳转指令地址的次数。后跳次数定义为:每段切片中跳转目标地址大于当前跳转指令地址的次数。不跳次数定义为:每段切片中,对于条件跳转跳转条件未满足没有发生跳转的次数。跳转变换次数定义为:每段切片中,跳转指令在跳/不跳两种情况之间切换的次数。跳转地址分布定义为:每段切片中,对于每条发生跳转的分支指令,跳转的目标地址与当前分支指令地址差的绝对值。
本优选实施例中的训练样本集共包含1750个样本,样本构成满足关系式:14×(4+5+4+4+4+4)×5=1750。
其中,数字“14”表示共包含了astar、calculix、…、zeusmp等14个来自SPEC2006的基准测试程序(benchmark)。
括号内的“4+5+4+4+4+4”表示基于控制变量法设计的六组实验所获得的硬件参数配置,分别说明如下:
(1)第一个数字“4”表示ROB大小分别为40、60、80、100;
(2)第二个数字“5”表示IQ分别为8、16、24、32、40;
(3)第三个数字“4”表示Cache分别为4_4(ICache 4KB,DCache 4KB)、8_8(ICache8KB,DCache 8KB)、16_16(ICache16KB,DCache 16KB)、32_32(ICache32KB,DCache32KB);
(4)第四个数字“4”表示物理寄存器分别为128(整数寄存器)_192(浮点寄存器)_48(向量寄存器)、192(整数寄存器)_288(浮点寄存器)_72(向量寄存器)、256(整数寄存器)_384(浮点寄存器)_96(向量寄存器)、320(整数寄存器)_480(浮点寄存器)_120(向量寄存器);
(5)第五个数字“4”表示前端宽度分别为3(取指宽度)_3(译码宽度)_3(重命名宽度)、4(取指宽度)_4(译码宽度)_4(重命名宽度)、5(取指宽度)_5(译码宽度)_5(重命名宽度)、6(取指宽度)_6(译码宽度)_6(重命名宽度);
(6)第六个数字“4”表示后端执行单元数分别为2(简单整数ALU)_1(复杂整数ALU)_2(SIMD ALU)_1(LOAD单元)_1(STORE单元)、4(简单整数ALU)_2(复杂整数ALU)_4(SIMD ALU)_2(LOAD单元)_2(STORE单元),6(简单整数ALU)_3(复杂整数ALU)_6(SIMDALU)_3(LOAD单元)_3(STORE单元),8(简单整数ALU)_4(复杂整数ALU)_8(SIMD ALU)_4(LOAD单元)_4(STORE单元)。
最后一个数字“5”表示阶段性。
本优选实施例中,在固定硬件配置参数下构建五组训练样本的示意图如图1所示,其中单个训练样本需要采集的数据包括微架构无关参数所构成的193维向量、6个表示硬件配置的参数以及在该样本中所采集的平均有效ROB宽度。
步骤S3:采用机器学习方法构建以训练样本集为输入、以有效指令窗口大小为输出的模型,并采用训练样本集训练该模型以获得能够预测有效指令窗口大小的经验模型。
其中,采用机器学习方法对有效指令窗口大小进行建模包括:线性回归方法和非线性方法。
采用线性回归方法进行建模的具体步骤包括:对训练样本集中微架构无关参数及硬件配置参数进行归一化处理,归一化处理后的训练样本集通过斯皮尔曼相关性分析进行降维,剔除与因变量不相关的自变量,通过逐步回归剔除与因变量虽然相关但相关度不显著的自变量。
其中,本优选实施例中,对训练样本集中微架构无关参数及硬件配置参数进行归一化处理的过程具体如下:
以指令混合比为例,假设load、store、branch、int及float指令的数量为23750501、16393444、21511393、99680133、0,则
归一化处理后的load指令数为:
23750501×1000/(23750501+16393444+21511393+99680133+0)=147
归一化处理后的store指令数为:
16393444×1000/(23750501+16393444+21511393+99680133+0)=102
归一化处理后的branch指令数为:
21511393×1000/(23750501+16393444+21511393+99680133+0)=133
归一化处理后的int指令数为:
99680133×1000/(23750501+16393444+21511393+99680133+0)=618
归一化处理后的float指令数为:
0×1000/(23750501+16393444+21511393+99680133+0)=0
斯皮尔曼相关性分析过程具体如下:
本优选实施例中,由于训练样本集中是193维的自变量对应1维的因变量,依次对因变量与每一维度自变量之间的斯皮尔曼相关性系数进行计算。斯皮尔曼秩相关性系数一般被认为是排列后的变量间的皮尔逊线性相关系数。假设原始的数据xi和yi已经按从大到小的顺序排列,记xi′和yi′为原xi和yi在排列后数据所在的位置,则xi′和yi′称为变量xi和yi的秩次,di=xi′-yi′为xi和yi的秩次之差,则rs满足以下公式:
根据计算所得的相关性系数查表2,若相关性系数小于0.4,则认为因变量与当前维度的自变量之间的关系一般,那么直接丢弃该维度自变量,反之则认为关系紧密保留该维度的自变量。
表2相关性系数
相关系数 相关性
0≤|r|<0.2 关系较弱
0.2≤|r|<0.4 关系一般
0.4≤|r|<0.7 关系紧密
0.7≤|r|≤1 关系非常紧密
逐步回归(step-wise regression)是一种线性回归模型的自变量选择方法,其基本思想是将变量逐个引入,引入的条件是其偏回归平方和经检验是显著的。同时,每引入一个新变量后,对已入选回归模型的老变量逐个进行检验,将经检验认为不显著的变量剔除,以保证所得自变量子集中每一个变量都是显著的。此过程经过若干步直到不能再引入新变量为止。这时回归模型中所有变量对因变量都是显著的,而没有选进回归模型中的变量都是经检验不显著的。按照上述步骤得到的逐步回归模型揭示了不同软硬件参数对有效ROB的正负相关性及影响权重。
通过斯皮尔曼相关性分析和逐步回归后得到的模型在保持足够精度的同时大大降低了模型的输入维度。
采用非线性方法进行建模的具体步骤包括:选取BP神经网络对训练样本集进行拟合训练,依照经验公式调试获取合适的训练方法、激励函数及隐含层节点数。
其中,所选取的BP神经网络结构示意图如图2所示,BP神经网络的结构设计主要是针对包括网络层数、各层节点(神经元数)、激励函数和训练方法等参数的设置,其难点和重点在隐含层结构的设计。隐含层的节点数会直接影响网络的泛化能力、训练速度和精度。隐含层结构过于简单,会导致网络的学习和泛化能力降低,有可能产生不收敛的现象;隐含层结构过于复杂,往往会导致训练时间过长,训练冗余,有可能产生过拟合的现象。人工神经网络训练的具体过程如下:
(1)网络层数
BP神经网络的输入和输出层的数量是确定的,都为一层。所以网络层数的设置主要针对的是隐含层。关于隐含层层数的选择,理论指出两个隐含层就可以解决任意形式的分类问题,以及对于任意的连续函数映射关系都可以用含有一个隐含层的BP神经网络来逼近。本优选实施例中选择只含有一层隐含层的三层的BP神经网络结构,具有足够的函数映射与逼近能力。
(2)各层节点数
本发明所建立的有效ROB预测模型,输入参数为193维的软件微架构无关参数及6维硬件配置参数,输入参数共计199维度,输出层为有效ROB。也就是说输入节点数为199,输出节点数为1。本发明采用隐含层节点数目经验公式进行计算:
其中m为隐含层的节点个数,n为输入层节点个数,l为输出层节点个数,a取[1,10],因此隐含层的节点数应取[15,25]。
(3)激励函数和训练方法
激励函数主要影响的是神经网络的精度,训练方法主要影响神经网络的收敛速度。对于BP神经网络,典型的激励函数有logsig和tansig两种,训练方法有traincgb、traingda、trainscg、trainlm和traingd五种。
本发明经过重复实验对比,最终选定隐含层18个节点,激励函数tansig,训练方法traingd为最佳组合。
采用训练样本集训练模型,从而获得面向不同软件和不同硬件参数的、能够预测有效指令窗口大小的经验模型。
步骤S4:利用指令级模拟器运行目标程序并提取目标程序的微架构无关参数。
本优选实施例中,采用的指令级模拟器是Qemu,也可以采用其他高层指令级模拟器,比如Gem5模拟器的AtomicSimpleCPU模式或者其他Trace生成器。
步骤S5:目标程序中,不同的硬件配置参数下,将步骤S4所获得的目标程序微架构无关参数导入步骤S3所获得的有效指令窗口大小的经验模型,对目标程序的有效指令窗口大小进行预测和评估。
以上具体实施方式及实施例是对本发明提出的一种基于机器学习的有效指令窗口大小评估方法技术思想的支持,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在本技术方案基础上所做的任何等同变化或等效的改动,均仍属于本发明技术方案保护的范围。

Claims (5)

1.一种基于机器学习的有效指令窗口大小评估方法,其特征在于:
步骤S1:在ROB处于充满状态的各种硬件配置参数下,通过全功能时序精确型仿真获取目标程序部分执行时间内的执行流,并按照预先设定的指令数粒度将此执行流划分为固定长度的统计阶段,所述ROB处于充满状态的各种硬件配置参数是采用实验法获得;
步骤S2:采用全功能时序精确型仿真获取当前软件负载中每一个统计阶段的微架构无关参数、硬件配置参数以及有效ROB信息,每一个统计阶段的微架构无关参数、硬件配置参数以及有效ROB信息构成一组训练样本,以有效ROB信息作为因变量,并以该有效ROB所对应的193维微架构无关参数及6维硬件配置参数为自变量,采用控制变量法设计出训练样本集;
步骤S3:采用机器学习方法构建以训练样本集为输入、以有效指令窗口大小为输出的模型,并采用训练样本集训练该模型以获得能够预测有效指令窗口大小的经验模型;
步骤S4:利用指令级模拟器运行目标程序并提取目标程序的微架构无关参数;
步骤S5:目标程序中,不同的硬件配置参数下,将步骤S4所获得的目标程序微架构无关参数导入步骤S3所获得的有效指令窗口大小的经验模型,对目标程序的有效指令窗口大小进行预测和评估。
2.根据权利要求1所述的一种基于机器学习的有效指令窗口大小评估方法,其特征在于:所采用的实验法是通过控制变量法分别设计的多个实验,所获取的ROB充满情况下的各种硬件配置参数包括:ROB大小、指令队列(IQ)、Cache配置参数、物理寄存器、前端宽度、后端执行单元数目等。
3.根据权利要求1所述的一种基于机器学习的有效指令窗口大小评估方法,其特征在于:所述采用机器学习方法对有效指令窗口大小进行建模包括:线性回归方法和非线性方法。
4.根据权利要求3所述的一种基于机器学习的有效指令窗口大小评估方法,其特征在于:所述采用线性回归方法进行建模的具体步骤包括:对训练样本集中微架构无关参数及硬件配置参数进行归一化处理,归一化处理后的训练样本集通过斯皮尔曼相关性分析进行降维,剔除与因变量不相关的自变量,通过逐步回归剔除与因变量虽然相关但相关度不显著的自变量。
5.根据权利要求3所述的一种基于机器学习的有效指令窗口大小评估方法,其特征在于:所述采用非线性方法进行建模的具体步骤包括:选取BP神经网络对训练样本集进行拟合训练,依照经验公式调试获取合适的训练方法、激励函数及隐含层节点数。
CN201910846458.1A 2019-09-06 2019-09-06 一种基于机器学习的有效指令窗口大小评估方法 Active CN110750856B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910846458.1A CN110750856B (zh) 2019-09-06 2019-09-06 一种基于机器学习的有效指令窗口大小评估方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910846458.1A CN110750856B (zh) 2019-09-06 2019-09-06 一种基于机器学习的有效指令窗口大小评估方法

Publications (2)

Publication Number Publication Date
CN110750856A true CN110750856A (zh) 2020-02-04
CN110750856B CN110750856B (zh) 2023-06-06

Family

ID=69276238

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910846458.1A Active CN110750856B (zh) 2019-09-06 2019-09-06 一种基于机器学习的有效指令窗口大小评估方法

Country Status (1)

Country Link
CN (1) CN110750856B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102110013A (zh) * 2009-12-23 2011-06-29 英特尔公司 用于有效生成处理器体系结构模型的方法和设备
US20150193242A1 (en) * 2012-06-17 2015-07-09 Universiteit Gent Instruction window centric processor simulation
CN107771318A (zh) * 2015-06-26 2018-03-06 微软技术许可有限责任公司 基于块大小将指令块映射到指令窗口

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102110013A (zh) * 2009-12-23 2011-06-29 英特尔公司 用于有效生成处理器体系结构模型的方法和设备
US20150193242A1 (en) * 2012-06-17 2015-07-09 Universiteit Gent Instruction window centric processor simulation
CN107771318A (zh) * 2015-06-26 2018-03-06 微软技术许可有限责任公司 基于块大小将指令块映射到指令窗口

Also Published As

Publication number Publication date
CN110750856B (zh) 2023-06-06

Similar Documents

Publication Publication Date Title
Zhang et al. Performance and power analysis of ATI GPU: A statistical approach
Joshua et al. The future of simulation: A field of dreams
Cabezas et al. Extending the roofline model: Bottleneck analysis with microarchitectural constraints
Khan et al. Using predictivemodeling for cross-program design space exploration in multicore systems
Van den Steen et al. Micro-architecture independent analytical processor performance and power modeling
US20090199138A1 (en) Method and Apparatus for Evaluating Integrated Circuit Design Model Performance Using Basic Block Vectors and Fly-By Vectors Including Microarchitecture Dependent Information
Eeckhout et al. Hybrid analytical-statistical modeling for efficiently exploring architecture and workload design spaces
Mueller Generalizing timing predictions to set-associative caches
Lee et al. Rpstacks: Fast and accurate processor design space exploration using representative stall-event stacks
Jongerius et al. Analytic processor model for fast design-space exploration
CN110399182B (zh) 一种cuda线程放置优化方法
CN102520984B (zh) 目标软件在指定硬件环境中最差时间的计算方法
Taha et al. An instruction throughput model of superscalar processors
CN110750856A (zh) 一种基于机器学习的有效指令窗口大小评估方法
Sazeides Modeling value speculation
Li et al. Efficient microarchitectural vulnerabilities prediction using boosted regression trees and patient rule inductions
Van Biesbrouck et al. Representative multiprogram workloads for multithreaded processor simulation
Meng et al. Nonlinear approach for estimating WCET during programming phase
Uddin et al. Signature-based high-level simulation of microthreaded many-core architectures
Heirman et al. Sniper: Simulation-based instruction-level statistics for optimizing software on future architectures
Jiang et al. Quantifying throughput of basic blocks on arm microarchitectures by static code analyzers: A case study on kunpeng 920
Wang et al. Multi-dimensional optimization for approximate near-threshold computing
Zhang et al. ANN-based performance estimation of embedded software for risc-v processors
US20040054515A1 (en) Methods and systems for modeling the performance of a processor
Duan et al. Comprehensive and efficient design parameter selection for soft error resilient processors via universal rules

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant