[发明专利]一种GPU线程负载均衡方法与装置有效
申请号: | 201911086251.5 | 申请日: | 2019-11-08 |
公开(公告)号: | CN111078394B | 公开(公告)日: | 2022-12-06 |
发明(设计)人: | 王凯;周玉龙 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06T1/20 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 张涛 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 gpu 线程 负载 均衡 方法 装置 | ||
1.一种GPU线程负载均衡方法,其特征在于,包括执行以下步骤:
基于轮询的方式访问GPU的计算单元和加载存储单元,以获取所述计算单元和所述加载存储单元的繁忙状态信息、等待状态信息、死锁状态信息、准备状态信息,并将所述计算单元和所述加载存储单元的所述繁忙状态信息、所述等待状态信息、所述死锁状态信息、所述准备状态信息写入寄存器状态表,其中,所述繁忙状态信息包括以下之一:不繁忙、指示指令运行到一半的半繁忙、完整繁忙,所述等待状态信息包括以下之一:等待指令发出、等待加载存储数据、等待上一步结果,所述死锁状态信息包括以下之一:无解死锁、无效加载数据获取、上一步结果丢失,所述准备状态信息包括以下之一:准备接受指令、准备接收数据、准备指令跳转;
根据所述计算单元和所述加载存储单元的所述繁忙状态信息、所述等待状态信息、所述死锁状态信息、和所述准备状态信息分析所述计算单元和所述加载存储单元正在执行的指令类型,确定所述计算单元和所述加载存储单元的执行指令是占用时钟周期大于阈值的长指令还是占用时钟周期小于阈值的短指令;
响应于确定所述计算单元和所述加载存储单元正在执行长指令,而在历史存储负载表中将正在执行长指令的所述计算单元和所述加载存储单元所对应的寄存器长指令访问次数的记载数值加一;
响应于确定所述计算单元和所述加载存储单元正在执行短指令,而在所述历史存储负载表中将正在执行短指令的所述计算单元和所述加载存储单元所对应的寄存器短指令访问次数的记载数值加一;
根据所述寄存器状态表和所述历史存储负载表向各线程分配新工作任务。
2.根据权利要求1所述的方法,其特征在于,轮询访问GPU的计算单元和加载存储单元包括:
向每个所述计算单元和所述加载存储单元轮流发送第一访问请求,所述第一访问请求要求所述计算单元或所述加载存储单元在预定时间内反馈第一数据包;
向所有在预定时间内未反馈所述第一数据包的所述计算单元和所述加载存储单元发送第二访问请求,所述第二访问请求要求所述计算单元或所述加载存储单元在预定时间内反馈第二数据包,其中所述第一数据包与所述第二数据包相同或不同。
3.根据权利要求1所述的方法,其特征在于,根据所述寄存器状态表和所述历史存储负载表向各线程分配新工作任务包括:
为所述死锁状态为无解死锁的所述计算单元解除死锁以恢复所述计算单元的可用性;
向等待状态为等待指令发出的计算单元分配新工作任务;
向准备状态为准备接受指令的计算单元分配新工作任务。
4.一种GPU线程负载均衡装置,其特征在于,包括:
处理器;和
存储器,存储有处理器可运行的程序代码,所述程序代码在被运行时执行以下步骤:
基于轮询的方式访问GPU的计算单元和加载存储单元,以获取所述计算单元和所述加载存储单元的繁忙状态信息、等待状态信息、死锁状态信息、准备状态信息,并将所述计算单元和所述加载存储单元的所述繁忙状态信息、所述等待状态信息、所述死锁状态信息、所述准备状态信息写入寄存器状态表,其中,所述繁忙状态信息包括以下之一:不繁忙、指示指令运行到一半的半繁忙、完整繁忙,所述等待状态信息包括以下之一:等待指令发出、等待加载存储数据、等待上一步结果,所述死锁状态信息包括以下之一:无解死锁、无效加载数据获取、上一步结果丢失,所述准备状态信息包括以下之一:准备接受指令、准备接收数据、准备指令跳转;
根据所述计算单元和所述加载存储单元的所述繁忙状态信息、所述等待状态信息、所述死锁状态信息、和所述准备状态信息分析所述计算单元和所述加载存储单元正在执行的指令类型,确定所述计算单元和所述加载存储单元的执行指令是占用时钟周期大于阈值的长指令还是占用时钟周期小于阈值的短指令;
响应于确定所述计算单元和所述加载存储单元正在执行长指令,而在历史存储负载表中将正在执行长指令的所述计算单元和所述加载存储单元所对应的寄存器长指令访问次数的记载数值加一;
响应于确定所述计算单元和所述加载存储单元正在执行短指令,而在所述历史存储负载表中将正在执行短指令的所述计算单元和所述加载存储单元所对应的寄存器短指令访问次数的记载数值加一根据所述寄存器状态表和所述历史存储负载表向各线程分配新工作任务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911086251.5/1.html,转载请声明来源钻瓜专利网。