一种通过调节GPU频率来降低GPU故障率的方法技术

技术编号:4234267 阅读:1777 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种通过调节GPU频率来降低GPU故障率的方法,目的是降低GPU故障率。技术方案是对GPU建立GPU频率级别表,表项包括GPU核心频率、GPU显存频率、平均无故障时间、GPU温度阈值;由GPU实时温度监控器跟踪并记录用户程序运行过程中GPU温度变化情况,每隔固定时间根据当前GPU的平均温度和温度阈值之间的关系判断是否调频,当GPU的温度超过阈值时,将频率降低一级,当GPU温度处在更高级别的温度阈值范围且连续多个时间间隔未进行频率调节时,将频率提升一级。采用本发明专利技术可实现对GPU频率的自适应调节,降低GPU故障率,避免因GPU温度超过阈值导致的隐患和过多次的频率调节而导致的GPU不稳定。

【技术实现步骤摘要】

本专利技术涉及降低GPU故障率的方法,尤指通过调节GPU频率来降低GPU故障率的 方法。
技术介绍
GPU (Graphics Processing Unit,图形处理单元)过去通常用于图形图像应用领 域,该领域对GPU故障具有一定的容忍度,通常GPU故障发生在GPU显存上,偶发的显存存 储位错误只会导致个别像素点的计算错误,不会对整体图形图像产生本质影响。但随着GPU 用于科学计算程序中,GPU的故障会对科学计算程序的正确性产生很大影响,使程序产生较 大误差。目前通常的做法有以下几种 (1)通过在存储控制器中加入错误校验码ECC (Error Correction Code)来纠正存 储位错误。但这种方法增加了硬件开销,提高了硬件成本。同时由于在访存时需要增加一 拍的编码和解码时间,降低了 GPU的访存性能。因此,在考虑硬件成本和访存性能因素时, 不适宜采用该方法。 (2)通过控制GPU温度平衡从而降低故障率。通过驱使系统风扇提前运行以降低 显卡芯片的散热压力,达到控制GPU核心温度以降低GPU故障率的目的。但是若温度变化 过快容易导致显卡缺陷,导致多重图像、白屏、花屏、无法开机等。 (3)通过调节GPU频率来降低GPU故障率。GPU频率持续过高会导致GPU温度过 高,故障率增大,因此调节GPU频率可有效控制GPU温度持续过高,达到降低GPU故障率的 目的。但是该方法目前仅限于采用静态设置较低的GPU频率来实现,存在很多局限性,包 括设置单一的较低GPU频率会影响科学计算的性能;频率设置方面没有统一标准,靠用户 的经验设置,不具有可操作性。 第三种方法由于硬件支持较为完善,是目前前景较大的降低GPU故障率的方法。 但是该方法仍存在以下问题一方面GPU频率调节包括两部分GPU核心频率和GPU显存频 率,为了保证GPU能够正常工作,两者频率必须按照一定比例同步调节,降频的比例也必须 严格控制,否则容易导致GPU访存性能受到影响;且对不同型号的GPU,频率调节的幅度应 区别对待。 目前GPU生产厂商为用户提供了大部分GPU产品的频率调节接口 ,为GPU降频提 供了条件。
技术实现思路
本专利技术要解决的技术问题在于针对温度过高情况下GPU故障率高的问题,提出 一种通过调节GPU频率来降低GPU故障率的方法,使用户在不需要了解GPU频率实时变化 细节的情况下,实现对GPU频率的自适应调节,从而有效降低GPU故障率,提高程序的正确 率。 为了解决上述技术问题,本专利技术的技术方案为对待测GPU建立GPU频率级别表,表项包括GPU核心频率、GPU显存频率、平均无故障时间、GPU温度阈值四项内容。表项编号 代表GPU频率级别,表项的个数代表可调频的总级数。GPU频率级别表用于在进行GPU频 率调节过程中选择合适的GPU核心频率、GPU显存频率。在程序执行过程中,由GPU实时温 度监控器全程跟踪并记录GPU芯片温度变化情况,每隔固定时间(称为频率调节间隔时间) 根据当前GPU的平均温度和温度阈值之间的关系判断是否实施调频,GPU核心频率和显存 频率严格对应表项中的值进行设置,完成程序运行过程中自适应的GPU频率调节。 具体技术方案为 第一步、构造GPU频率级别表。GPU频率级别表包括M组值,代表GPU有M级可调 频的取值,M为正整数,满足5《M《IO,过多的频率调节级别会导致频率调节过于频繁,造 成GPU不稳定。每组值包括四项内容GPU核心频率f。。M(i) 、GPU显存频率fra(i)、平均无 故障时间MTBF(i) (Mean Time Between Failure) 、GPU温度阈值Tup (i),其中i为GPU频率 级别表项的编号,i = 1. . . M。编号数字越高代表GPU频率级别越高,往i递增的方向调节 频率级别称为"GPU频率往上调节一级",反之称为"GPU频率往下调节一级"。根据应用所 需达到的平均无故障时间查找GPU频率级别表,获得该平均无故障时间对应的表项,记录 下此项的GPU核心频率、GPU显存频率和GPU温度阈值。用户程序运行过程中,根据实测的 GPU平均温度,对照GPU频率级别表中同一级别的GPU温度阈值,决定是否调节及如何调节 GPU频率。GPU频率级别表的每项内容建立过程如下 1. 1设置GPU频率级别数为M,依据GPU规格说明书,将GPU可正常工作的最高核 心频率设置为第M组GPU核心频率,将GPU可正常工作的最低核心频率设置为第1组GPU 核心频率。根据第1组和第M组GPU核心频率,设置等间隔的第2, 3, . . . , M-l级GPU核心 频率值。再依据GPU规格说明书中规定的GPU核心频率和显存频率的对应关系,设置1, 2, 3, . . . ,M级GPU显存频率值; 1. 2针对每组GPU核心频率和显存频率值,用衡量计算机性能的国际标准测试程 序HPLinpack(High Performance Linpack)测试GPU的平均无故障时间和GPU温度阈值,得 到每组GPU核心频率和显存频率值对应的GPU平均无故障时间和GPU温度阈值,填入GPU频 率级别表中。平均无故障时间指GPU执行用户程序从一次故障到下一次故障的平均时间, 单位是秒。故障包括GPU死机或者HPLinpack测试结果错。GPU温度阈值指GPU正常工作 的上限温度值,GPU温度阈值设置为用户程序持续运行至GPU出现故障时的温度值,该温度 值应采取保守设置方法,取所有故障条件下的最低温度,以确保在该温度值下GPU可正常 工作。 第二步、根据用户程序要求的平均无故障时间,在GPU频率级别表中选择对应的项I, I为当前选择的频率级别,1《I《M。将GPU核心频率设置为GPU频率级别表中第I项对应的GPU核心频率f。,(D ,将GPU显存频率设置为GPU频率级别表中第I项对应的GPU显存频率fM (I),记下GPU频率级别表中第I项对应的GPU温度阈值Tup (I)。第三步、启动用户程序运行,同时启动GPU实时温度监控器全程监控并记录GPU温度,采样间隔时间为tint^d,取值范围为5 10秒,持续5 10秒的高温极易导致GPU出错。第四步、判断用户程序是否执行完毕,是,则执行第十一步;否则执行第五步; 第五步、每隔时间tintCTval对GPU温度进行统计,将tintCTval时间内的GPU温度平均值记为7。 第六步、如果满足7s7;(/;),说明当前GPU的温度并没有超过当前频率级别的温度阈值,执行第八步;否则,执行第七步; 第七步、此时满足^^;(/),说明GPU的温度已超过当前频率级别的温度阈值,需 启动频率调节方案,将GPU频率往下调低一级,同时将处理结果记录在日志文件中,具体步 骤如下 7. 1在日志文件中添加一项,包括当前系统时间、当前GPU核心频率、GPU显存频 率、前一个t^r^时间内的GPU温度平均值7和调频情况,前四项内容此时填写,调频情况 在调频后填写; 7. 2如果I为最低级别,执行步骤7. 5 ;否则,执行步骤7. 3 ; 7. 3将当前的频率级别I减1,即I = 1-1 ; 7. 4如果^^;(/),则确定当前频率级别为I,将GPU核心频率和GPU显存频率分别调节至f。本文档来自技高网
...

【技术保护点】
一种通过调节GPU频率来降低GPU故障率的方法,其特征在于包括以下步骤:第一步、构造GPU频率级别表,GPU频率级别表包括M组值,代表GPU有M级可调频的取值,M为正整数,每组值包括四项内容:GPU核心频率f↓[core](i)、GPU显存频率f↓[mem](i)、平均无故障时间MTBF(i)、GPU温度阈值T↓[up](i),其中i为GPU频率级别表项的编号,i=1...M;编号数字越高代表GPU频率级别越高,往i递增的方向调节频率级别称为“GPU频率往上调节一级”,反之称,即I=I+1;9.2确定当前频率级别为I,将GPU核心频率和GPU显存频率分别调节至f↓[core](I)、f↓[mem](I);9.3在日志文件中添加一项,包括当前系统时间、当前GPU核心频率、GPU显存频率、前一个t↓[intral]时间内的GPU温度平均值和调频情况,调频情况一项中填写“频率成功增高一级”,执行第四步;第十步、保持当前GPU核心频率和GPU显存频率不变,在日志文件中添加一项,包括当前系统时间、当前GPU核心频率、GPU显存频率、前一个t↓[interval]时间内的GPU温度平均值和调频情况,在调频情况一项中填写“未调频”,执行第四步;第十一步、本次调频结束,等待下一个用户程序运行,实施同样的GPU调频过程。为“GPU频率往下调节一级”;第二步、根据用户程序运行要求的平均无故障时间,在GPU频率级别表中选择对应的项I,I为当前选择的频率级别,1≤I≤M,将GPU核心频率设置为GPU频率级别表中第I项对应的GPU核心频率f↓[core](I),将GPU显存频率设置为GPU频率级别表中第I项对应的GPU显存频率f↓[mem](I),记下GPU频率级别表中第I项对应的GPU温度阈值T↓[up](I);第三步、启动用户程序运行,同时启动GPU实时温度监控器全程监控并记录GPU温度,采样间隔时间为t↓[interval];第四步、判断用户程序是否执行完毕,是,则执行第十一步;否则执行第五步;第五步、每隔时间t↓[interval]对GPU温度进行统计,将t↓[interval]时间内的GPU温度平均值记为*;第六步、如果满足*≤T↓[up](I),说明当前GPU的温度并没有超过当前频率级别的温度阈值,执行第八步;否则,执行第七步;第七步、此时满足*>T↓[up](I),说明GPU的温度已超过当前频率级别的温度阈值,需启动频率调...

【技术特征摘要】

【专利技术属性】
技术研发人员:徐炜遐杨灿群陈娟杜云飞易会战王锋黄春赵克佳
申请(专利权)人:中国人民解放军国防科学技术大学
类型:发明
国别省市:43[中国|湖南]

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

1