一种基于运行状态特征的GPU电压频率建模及运行参数确定方法

摘要: 本技术属于gpu芯片硅后测试、运行状态表征、电压频率关系建模以及运行参数管理,具体涉及一种基于运行状态特征的gpu电压频率建模及运行参数确定方法。背景技术:1、...
一种基于运行状态特征的GPU电压频率建模及运行参数确定方法

本技术属于gpu芯片硅后测试、运行状态表征、电压频率关系建模以及运行参数管理,具体涉及一种基于运行状态特征的gpu电压频率建模及运行参数确定方法。

背景技术:

1、现有gpu运行参数配置通常依赖静态vf表;该vf表一般在芯片测试或产品标定阶段按照较保守的工作负载、温度和工艺条件确定,以保证允许工作范围内的稳定运行;这种方式实现简单,但在实际工作负载未达到最坏状态时,仍会沿用保守频率或保守电压设置,从而牺牲可用性能空间或能效空间。

2、另一类方案利用程序阶段、性能计数器或者微架构活动信息预测安全电压或电压裕量;例如ibm us10114449b2以及与其高度相关的micro 2015论文《safe limits onvoltage reduction efficiency in gpus: a direct measurement approach》已公开使用gpu kernel 或epoch的microarchitectural performance counters预测标量vmin/safe voltage,并结合over-prediction误差增加margin的思路;但仍然存在以下技术问题:

3、(1)静态vf表采用one-vf-for-all或worst-envelope思路,难以反映工作负载状态导致的稳定边界差异。

4、(2)仅预测标量vmin或单点安全电压,难以表达同一运行状态在多个电压点上的完整fmax(v)边界。

5、(3)为每个工作负载或每类状态分别存储完整vf表,会带来标定、存储和维护开销随状态数量线性增长的问题。

6、(4)直接使用高维counter黑盒预测边界,容易缺乏可解释性和部署可控性,也难以判断预测结果是否满足稳定性约束。

7、(5)若只看平均误差而不评估over-prediction、unsafe rate和safety margin,可能将不稳定频点误判为可用频点。

8、(6)即使能够得到某个状态下的安全电压,若缺少对多电压边界曲线的使用步骤,也难以同时支持固定电压提频、固定频率降压、功率预算约束和能效目标约束下的vf工作点选择。

9、因此,亟需一种新的方法,以实测vf稳定边界为建模对象,用m0-m2分析工作负载边界差异及其共享结构,通过m3将运行时性能计数器特征映射到电压频率边界或模型参数,根据安全裕量确定可用工作点。

技术实现思路

1、为了解决现有技术中存在的上述技术问题,本发明的目的形成一条从实测边界到可部署运行参数选择的完整方法链,其技术方案如下:

2、一种基于运行状态特征的gpu电压频率建模及运行参数确定方法,包括如下步骤:

3、步骤1:获取图形处理器gpu稳定性测试结果,并根据所述稳定性测试结果提取每个运行状态的多电压最大稳定频率-电压边界;

4、步骤2:将所述多电压最大稳定频率-电压边界组成边界矩阵,并提取共享基线及残差矩阵;

5、步骤3:对所述残差矩阵进行主成分分析/奇异值分解,得到共享残差基函数和状态坐标;

6、步骤4:从所述gpu运行性能计数器中筛选运行状态特征,建立所述运行状态特征到电压频率边界或电压频率模型参数的映射;

7、步骤5:根据运行时的当前状态特征预测电压频率边界或模型参数,并重建当前状态下的电压频率边界;

8、步骤6:根据预测误差或任务风险档位施加安全裕量,形成修正后的运行边界;

9、步骤7:根据固定电压提频、固定频率降压、功率预算、能耗目标或风险档位在所述修正后的边界约束下确定目标电压频率工作点。

10、进一步的,所述步骤1中,所述稳定性测试结果至少包括:工作负载或用例标识、电压、频率、重复运行编号、通过、失败、超时、可选的功耗、温度、以及性能计数器日志。

11、进一步的,所述步骤2的具体过程为:

12、步骤2.1:对于工作负载集合,在每个电压点取最差工作负载的稳定频率边界,表达式为:

13、

14、其中,表示跨工作负载的静态最差包络边界;表示第个电压点;表示已覆盖的工作负载集合;表示集合中的一个工作负载;表示工作负载的最大稳定频率边界;表示取最小值;

15、步骤2.2:将所述跨工作负载的静态最差包络边界拟合为二次函数,表达式为:

16、

17、其中,表示静态包络模型给出的频率边界;表示电压;、和分别表示二次函数的常数项、一次项系数和二次项系数;

18、步骤2.3:将每个工作负载的实测电压频率边界作为独立曲线:

19、

20、其中,表示工作负载独立边界模型;表示工作负载对应的电压频率边界曲线;

21、步骤2.4:将所述所有工作负载对应的电压频率边界堆叠形成边界矩阵,表达式为:

22、

23、其中,表示多工作负载电压频率边界矩阵;至表示第至第个工作负载的边界曲线;至表示第至第个电压点;表示工作负载数量;表示电压点数量;

24、步骤2.5:提取共享基线,表达式为:

25、

26、其中,表示跨工作负载共享基线曲线;表示对工作负载集合求和;表示工作负载集合中的工作负载数量;表示工作负载的最大稳定频率边界;

27、步骤2.6:构造所述共享基线的残差矩阵:

28、

29、其中,表示工作负载相对于共享基线的状态偏移。

30、进一步的,所述步骤2中,所述共享基线还可选择加权均值、分组均值或经平滑拟合后的共享曲线。

31、进一步的,所述步骤3中,所述共享残差基函数表达式为:

32、

33、其中,表示低维残差基函数编号;表示保留的低维基函数数量;表示工作负载在第个基函数上的坐标系数;表示第个共享残差基函数。

34、进一步的,所述步骤4中,所述从gpu运行性能计数器中筛选运行状态特征的筛选流程为:

35、a.记录全部可用性能计数器及派生指标,并保留原始计数器来源、硬件分组和公式;

36、b.对每个指标进行基础质量过滤;

37、c.按工作负载状态区分能力进行排序,筛选能区分精度、内核行为或工作负载状态的指标;

38、d.按边界敏感性进行排序,筛选与最大稳定频率边界、相对m0差值或残差相关的指标;

39、e.按硬件模块和语义类别进行分组,对高度相关的指标进行冗余控制,保留稳定、可解释、公式简单的代表指标;

40、f.输出运行状态特征;

41、所述运行状态特征用于如下三类m3映射路线:

42、第一类:直接边界映射路线,该路线直接由性能计数器特征和电压项预测当前状态下的最大稳定频率-电压边界,表达式为:

43、

44、其中,表示预测得到的电压频率边界;表示电压;表示时刻采集的运行状态特征;表示直接边界映射函数;表示电压的二次项;

45、第二类:性能计数器到低维坐标的结构化路线,该路线由性能计数器预测m2a的低维残差坐标,再重建整条电压频率vf边界,表达式为:

46、

47、

48、其中,表示时刻预测得到的低维状态坐标;表示由运行状态特征到低维状态坐标的映射函数;表示预测边界;表示共享基线;表示低维残差基函数编号;表示第个共享残差基函数;表示求和;

49、第三类:性能计数器到仿射参数counter-to-affine路线,该路线将运行状态映射到m2b的两个参数,表达式为:

50、

51、

52、其中,和分别表示时刻预测得到的仿射缩放参数和平移参数;表示由运行状态特征到仿射参数的映射函数。

53、进一步的,所述基础质量过滤包括:可用覆盖率、活跃率以及重复测量稳定性。

54、进一步的,所述步骤6中,所述安全裕量是通过过度预测来标定,其表达式为:

55、

56、其中,表示过度预测误差。

57、进一步的,所述步骤6中,所述安全裕量包括:

58、①固定裕量:取验证集最大过度预测或向上取整后的工程值;

59、②统计裕量:根据预测误差的标准差设置安全裕量=风险系数*标准差,即=;

60、③分档裕量:根据任务恢复能力、任务重要性、温度区间、模型置信度或工作负载类别设置不同;

61、④分位裕量:取过度预测分布的指定分位数并加工程余量。

62、进一步的,所述步骤7中,所述目标电压频率工作点通过如下方式确定:

63、(1)固定电压下提升可用频率:当电压已由平台、电源轨或功率管理策略确定时,在满足安全边界的频率中选择最高或较高频率,表达式为:

64、

65、其中,表示目标频率;表示第个候选频率;表示扣除安全裕量后的运行可用边界;表示目标电压;表示时刻运行状态特征;表示取最大值;

66、(2)固定性能目标下降低可用电压:当目标频率或性能需求已确定时,在满足安全边界的候选电压中选择较低电压,表达式为:

67、

68、其中,表示第个候选电压;表示所需频率或性能目标对应频率;表示取最小值;

69、(3)功率或能耗约束下选择电压频率:当系统同时给定性能需求、功率预算或能耗目标时,在满足的候选点中,选择满足功率预算且能耗估计较低的工作点,或选择单位能耗性能更优的工作点;

70、(4)风险分档下选择电压频率:对可快速恢复的任务,采用较小安全裕量并选择更积极的电压频率点;对稳定性要求高的任务,采用较大安全裕量并选择更保守的电压频率点。

71、有益效果:(1)提高了vf建模的状态感知能力;相比静态one-vf-for-all表,本发明能够根据运行状态特征对gpuvf边界进行建模,使不同工作负载状态对应的可用工作空间得到区分。(2)提高了性能或能效利用空间;在安全裕量约束下,状态相关边界可用于在同一电压下选择更高可用频率,或在目标频率固定时选择更低电压,从而具备提升性能或能效的应用价值;当前数据直接支持存在可利用边界差异;具体能效收益幅度仍需功耗/能耗实验验证。(3)降低了多状态vf表的存储和维护开销;m2a/m2b将多workload vf边界表示为共享基线加少量参数,有助于减少为每个状态完整存储vf曲线的需求。(4)增强了模型解释性和部署可控性;本发明使用共享残差基函数、仿射参数和compact counter特征集合,而不是直接依赖高维黑盒模型,有利于固件部署和工程调试。(5)提高了稳定性风险可控性;本发明在运行参数选择前显式评估over-prediction,并通过m_q安全裕量修正预测边界,避免仅凭平均误差选择工作点。(6)支持灵活运行策略;安全裕量可根据任务恢复能力、模型置信度、温度区间或工作负载类别分档设置,使激进模式和保守模式可在同一建模框架中实现。