一种面向微结构的硬件设计空间快速探索方法及系统

摘要: 本发明涉及计算机体系结构性能评估与硬件设计空间探索,尤其涉及一种面向微结构的硬件设计空间快速探索方法及系统。背景技术:1、在当代高性能处理器与系统级芯片的设计流...
一种面向微结构的硬件设计空间快速探索方法及系统

本发明涉及计算机体系结构性能评估与硬件设计空间探索,尤其涉及一种面向微结构的硬件设计空间快速探索方法及系统。

背景技术:

1、在当代高性能处理器与系统级芯片的设计流程中,缓存层次结构、tlb(旁路转换缓冲)容量与关联度、乱序执行窗口大小、加载/存储队列深度、发射宽度、分支预测器策略、流水线级数以及片上互连拓扑等微结构参数共同构成了一个极为庞大的设计空间,这些参数之间高度耦合且其最终性能表现强烈依赖于所运行的目标程序行为,因此芯片设计团队往往无法在流片前依赖实物验证,而必须借助gem5等周期级或指令级体系结构模拟器,在多个测试程序与多组微结构配置组合上反复执行仿真,从而获取ipc(每周期指令数)、运行时间以及各类微结构瓶颈事件(如缓存缺失率、分支误预测惩罚等)等关键评估指标。

2、尽管上述基于周期精确模拟的评估方法在准确性上具有显著优势,但其仿真速度通常比真实硬件低数个数量级,真实硬件上仅需数秒完成的程序片段在周期级仿真环境中往往需要数小时才能运行完毕,当测试程序集的规模与待探索的微结构配置组合数同步增长时,完整遍历整个设计空间所消耗的时间和计算资源将呈指数级膨胀并严重制约早期架构探索的效率,为缓解这一瓶颈,现有工作尝试引入基于机器学习的代理模型或采样策略来加速评估,但这些方案大多仅将程序静态或运行时特征与硬件参数做简单的向量拼接,缺乏对硬件参数内在语义关联(例如缓存容量与行大小之间的协同效应)、程序热点行为的动态权重、不同配置之间性能排序的一致性和评估结果置信度等要素的联合建模与约束,导致模型在面对未见程序或未见过微结构配置时外推预测能力显著下降,难以在广阔的设计空间内可靠地指导架构搜索方向。

技术实现思路

1、本发明所要解决的技术问题是提供一种面向微结构的硬件设计空间快速探索方法及系统,能够联合建模程序热点行为与硬件参数的结构化内在关联,并利用融合不确定性感知与排序一致性的迭代式主动采样机制,在有限仿真预算下高效且可靠地定位最优微结构配置。

2、本发明解决上述技术问题所采用的技术方案为:一种面向微结构的硬件设计空间快速探索方法,包括以下步骤:

3、步骤1,获取待评估应用中的多个热点代码区域,并对每个热点代码区域进行特征化处理,得到对应的应用侧特征表征;

4、步骤2,获取待探索的硬件设计空间中的多个候选硬件配置,所述的候选硬件配置包括多个硬件参数,根据硬件参数的类型对每个硬件参数进行结构化编码,并将所有硬件参数的编码结果进行拼接,得到每个候选硬件配置对应的硬件侧特征表征;

5、步骤3,对于每个热点代码区域与每个候选硬件配置所构成的每一软硬件组合,将该软硬件组合对应的应用侧特征表征与硬件侧特征表征映射到统一维度,得到包含软硬件交互上下文的统一多模态联合输入;

6、步骤4,将统一多模态联合输入输入至预训练后的软硬件关联探索代理网络,所述的软硬件关联探索代理网络包括多层编码层,通过编码层的多头自注意力机制和跨模态注意力与门控融合机制对统一多模态联合输入进行编码建模,并通过多任务输出头计算候选硬件配置的多任务预测标签;

7、步骤5,根据多任务预测标签计算各软硬件组合对应的综合性能评分,并对综合性能评分、估计不确定性、空间新颖度和瓶颈-参数匹配得分进行加权聚合以构造采集函数,根据采集函数从候选硬件配置中选择部分配置进行底层仿真,得到真实多任务标签;

8、步骤6,利用真实多任务标签对采集函数的权重进行更新,并对预训练后的软硬件关联探索代理网络进行微调;

9、步骤7,重复执行步骤4至步骤6,直至满足预设的终止条件时停止,从已完成底层仿真的硬件配置集合中,对各候选硬件配置在各热点代码区域下的真实综合性能评分按照各热点代码区域的执行权重进行加权求和,得到每个已完成仿真的候选硬件配置的真实应用级综合性能评分,选择所述真实应用级综合性能评分最大的候选硬件配置作为最终推荐的硬件配置并输出,完成硬件设计空间的探索。

10、与现有技术相比,本发明的优点在于:通过对热点代码区域进行特征化处理并对硬件参数依据其类型进行结构化编码,本发明既聚焦于程序执行中的关键行为片段,又保留了各硬件参数之间的协同关系,为后续建模提供了富含内在关联的输入基础;通过将应用侧与硬件侧特征映射到统一维度形成多模态联合输入,并利用软硬件关联探索代理网络中的多头自注意力机制和跨模态注意力与门控融合机制对统一输入进行编码建模,该网络能够动态挖掘不同热点代码模式与不同硬件参数之间的深层交互权重,同时多任务输出头并行预测多个性能相关标签,使得模型在同一框架内兼顾了性能绝对值估计与瓶颈方向指示,有利于保持配置间性能排序的一致性;通过构造融合综合性能评分、估计不确定性、空间新颖度和瓶颈-参数匹配得分的采集函数,并基于该采集函数主动选择最有信息价值的配置进行底层仿真,其中不确定性度量引导探索预测方差大的区域,新颖度项鼓励覆盖未访问的配置子空间,瓶颈-参数匹配得分则将预测瓶颈与可调参数方向关联,使得每次仿真采样都具备高度针对性;进一步通过利用仿真获得的真实标签更新采集函数权重并对代理网络进行微调,在迭代循环中逐步修正预测偏差,最终在满足终止条件时输出聚合评分最高的配置。整个过程显著减少了对周期级仿真的依赖次数,同时在预测外推能力和搜索收敛性上均得到增强,为硬件设计空间探索提供了一种高效且可信的自动决策途径。在测试集上的实验验证进一步支持了上述结论。将本发明所提方法中的软硬件关联探索代理网络对未见过程序的ipc和top-down瓶颈指标预测值与gem5仿真真实值进行对比,结果表明:对于占主导地位的backend bound瓶颈,三个测试热点样本的预测相对误差分别约为2.2%、1.4%和0.4%;同时,ipc预测值对高ipc的gromacs(预测1.84 vs 真实1.89)和低ipc的openfoam(预测0.32 vs 真实0.31)均能合理反映不同热点间的性能差异。上述实验数据表明本发明所提方法在关键性能指标上具备高保真预测能力,为后续迭代探索和最优配置筛选提供了可信的输入基础。

11、进一步的,步骤2中,所述的硬件参数的类型包括容量型参数、计数型参数和策略型参数;

12、结构化编码具体包括:

13、对于容量型参数,采用log2变换后的区间归一化编码;

14、对于计数型参数,采用区间归一化编码;

15、对于策略型参数,采用嵌入编码。依据容量型、计数型和策略型三类硬件参数的不同物理属性,分别采用log2变换归一化、区间归一化和嵌入编码,其中容量型参数(如缓存容量)的尺寸差异通常呈指数级变化,log2变换能将其映射为线性尺度以符合感知规律,计数型参数直接归一化保持比例关系,而策略型参数(如分支预测器类型)通过嵌入编码在低维空间中表达离散选项间的语义相似度;这种差异化结构化编码方式使得各类参数均能以最适合其特性的数值形式参与建模,从而增强代理网络对硬件配置语义的理解能力和泛化性能。

16、进一步的,步骤3中,得到包含软硬件交互上下文的统一多模态联合输入的具体操作为:

17、对应用侧特征表征施加第一线性映射,对硬件侧特征表征施加第二线性映射,使二者处于同一向量空间;

18、将映射后的应用侧特征表征构造为应用侧token序列,将映射后的硬件侧特征表征构造为硬件侧token序列,并在序列中加入全局聚合token和序列结束token以形成基础token序列;

19、向基础token序列叠加模态嵌入、参数组嵌入和位置嵌入,得到统一多模态联合输入。

20、进一步的,步骤4中,多层编码层中的每一层对输入的序列依次执行:多头自注意力操作、跨模态注意力与门控融合操作、残差连接与层归一化操作、前馈网络操作,并将前馈网络输出的结果经残差连接与层归一化后作为当前层的输出;

21、跨模态注意力与门控融合操作包括:基于硬件侧token生成键矩阵和值矩阵,基于基础token序列生成查询矩阵,计算跨模态交叉注意力输出;将应用侧token的平均表示和硬件侧token的平均表示拼接后经sigmoid门控网络计算融合权重,利用融合权重对跨模态交叉注意力输出和多头自注意力输出进行加权融合;

22、通过多任务输出头计算候选硬件配置的多任务预测标签的具体操作包括:从最后一层编码层输出中提取全局聚合token对应的隐藏表示,将隐藏表示输入至多层感知机进行映射,得到多任务预测标签;

23、所述的多任务预测标签包括ipc估计值和top-down微结构瓶颈指标。每层编码层通过多头自注意力操作捕获同模态内部的长程依赖,继而由跨模态注意力与门控融合操作实现硬件侧token对应用侧全局token的定向关注,其中门控网络基于两侧token的平均表示计算sigmoid融合权重,动态调节多头自注意力输出与跨模态交叉注意力输出的占比,随后残差连接与层归一化确保深层网络训练稳定性,前馈网络进一步增强非线性表达能力;最终从末层输出的全局聚合token中提取隐藏表示并由多层感知机映射为ipc估计值和top-down微结构瓶颈指标,这一多任务输出设计使得单个网络能够同时提供宏观吞吐率与细粒度瓶颈分解,为后续综合评分和瓶颈感知采集函数提供了统一且一致的预测来源。

24、进一步的,步骤5中,所述的综合性能评分由多任务预测标签中的ipc估计值和top-down微结构瓶颈指标加权计算得到;所述的估计不确定性通过对软硬件关联探索代理网络执行多次前向推理并计算综合性能评分的方差得到;所述的空间新颖度通过计算当前候选硬件配置与已完成仿真的硬件配置集合之间的最小特征距离得到;所述的瓶颈-参数匹配得分通过评价当前候选硬件配置的硬件参数对缓解预测得到的top-down瓶颈的潜在收益得到;所述的采集函数构造为经归一化后的所述综合性能评分、估计不确定性、空间新颖度和瓶颈-参数匹配得分的加权和;

25、所述的真实多任务标签包括真实ipc值和真实top-down微结构瓶颈指标。采集函数将综合性能评分、估计不确定性、空间新颖度和瓶颈-参数匹配得分经归一化后加权求和,使得每次采样既能利用当前预测的高分配置(利用),又能兼顾预测方差大的区域(探索)和稀疏配置空间(新颖性),同时专门针对瓶颈进行参数调整导向(匹配性),从而在有限的仿真预算内最大化每次底层采样的信息增益与优化推进效率。

26、进一步的,首次执行步骤5之前还包括:从候选硬件配置中选择初始种子配置进行底层仿真,将仿真得到的真实多任务标签存入反馈数据池,并将初始种子配置存入已仿真配置集合,以初始化反馈数据池和已仿真配置集合。在首次执行步骤5之前增加初始种子配置的底层仿真,并将其真实多任务标签和配置本身分别存入反馈数据池和已仿真配置集合,这一操作为后续迭代过程提供了初始监督信号与参照基准,避免了代理网络在无任何真实数据时首次微调缺乏有效梯度的冷启动问题,确保从第一轮迭代起即可基于实际仿真结果进行有根据的权重更新和网络校准。

27、进一步的,步骤6中对采集函数的权重进行更新,包括:根据本轮仿真结果的平均相对误差和有效发现率,分别自适应调整采集函数中综合性能评分权重、估计不确定性权重、空间新颖度权重和瓶颈-参数匹配得分权重;

28、步骤6中对预训练后的软硬件关联探索代理网络进行微调,包括:冻结多层编码层中前l-2层编码层的参数,仅更新后两层编码层、门控融合层和多任务输出头的参数;微调采用低于初始训练阶段的学习率,并利用真实多任务标签和预先保留的参考数据共同计算微调损失。这种部分微调策略既能快速适应新采集的仿真数据,又可防止因参数更新过猛而破坏已有良好表征,从而兼顾了适应速度与模型稳定性。

29、进一步的,步骤7中,预设的终止条件包括:最优真实应用级综合性能评分收敛、达到预设的最大迭代轮次、或底层仿真的总配置数量达到预设的仿真预算;

30、最优真实应用级综合性能评分收敛的判断方式为:计算当前轮次已知的最优真实综合性能评分与上一轮次已知的最优真实综合性能评分的相对变化量,当相对变化量小于预设阈值时判定为收敛。该多条件终止机制既保证了探索过程不会因过早停止而遗漏更优配置,也防止了在收敛后继续无效迭代造成计算浪费,同时仿真预算上限为实际工程资源限制提供了硬性约束,使得整个探索流程在精度、时间和资源三者之间取得可控的平衡。

31、进一步的,所述的预训练后的软硬件关联探索代理网络通过以下预训练步骤获得:

32、步骤a1,获取预训练样本集,预训练样本集包含多个已知应用的热点代码区域、多个已知硬件配置、以及通过底层仿真器获得的对应真实多任务标签;

33、步骤a2,对每个热点代码区域进行特征化处理,得到应用侧特征表征;

34、步骤a3,对每个已知硬件配置中的硬件参数,根据硬件参数的类型进行结构化编码,并将所有硬件参数的编码结果拼接,得到硬件侧特征表征;

35、步骤a4,对于每个热点代码区域与每个已知硬件配置所构成的每一软硬件组合,将该软硬件组合对应的应用侧特征表征与硬件侧特征表征映射到统一维度,得到统一多模态联合输入;

36、步骤a5,将统一多模态联合输入输入至软硬件关联探索代理网络,软硬件关联探索代理网络包括多层编码层,通过编码层的多头自注意力机制和跨模态注意力与门控融合机制对统一多模态联合输入进行编码建模,并通过多任务输出头计算多任务预测标签;

37、步骤a6,根据多任务预测标签与真实多任务标签计算联合损失,反向传播更新软硬件关联探索代理网络的参数,直至满足预训练终止条件,得到预训练后的软硬件关联探索代理网络。

38、一种面向微结构的硬件设计空间快速探索系统,包括:

39、应用特征提取模块,用于获取待评估应用中的多个热点代码区域,并对每个热点代码区域进行特征化处理,得到对应的应用侧特征表征;

40、硬件编码模块,用于获取待探索的硬件设计空间中的多个候选硬件配置,所述的候选硬件配置包括多个硬件参数,根据硬件参数的类型对每个硬件参数进行结构化编码,并将所有硬件参数的编码结果进行拼接,得到每个候选硬件配置对应的硬件侧特征表征;

41、联合token构造模块,用于对于每个热点代码区域与每个候选硬件配置所构成的每一软硬件组合,将该软硬件组合对应的应用侧特征表征与硬件侧特征表征映射到统一维度,得到包含软硬件交互上下文的统一多模态联合输入;

42、多任务输出模块,用于将统一多模态联合输入输入至预训练后的软硬件关联探索代理网络,软硬件关联探索代理网络包括多层编码层,通过编码层的多头自注意力机制和跨模态注意力与门控融合机制对统一多模态联合输入进行编码建模,并通过多任务输出头计算候选硬件配置的多任务预测标签;

43、仿真反馈模块,用于根据多任务预测标签计算各软硬件组合对应的综合性能评分,并对综合性能评分、估计不确定性、空间新颖度和瓶颈-参数匹配得分进行加权聚合以构造采集函数,根据采集函数从候选硬件配置中选择部分配置进行底层仿真,得到真实多任务标签;

44、模型校准模块,用于利用真实多任务标签对采集函数的权重进行更新,并对预训练后的软硬件关联探索代理网络进行微调;

45、配置输出模块,用于重复执行多任务输出模块至模型校准模块,直至满足预设的终止条件时停止,从已完成底层仿真的硬件配置集合中,对各候选硬件配置在各热点代码区域下的真实综合性能评分按照各热点代码区域的执行权重进行加权求和,得到每个已完成仿真的候选硬件配置的真实应用级综合性能评分,选择真实应用级综合性能评分最大的候选硬件配置作为最终推荐的硬件配置并输出。该模块化架构清晰划分了不同功能单元,既便于独立开发和维护,又保证了整个探索流程的自动化与可复现性,各模块间通过标准数据接口协作,共同实现了高效、可靠的设计空间快速探索。