一种GPU多处理器系统的任务调度方法与流程

文档序号:14608979发布日期:2018-06-05 20:24阅读:488来源:国知局

本发明属于电子领域,涉及一种GPU多处理器系统的任务调度方法。



背景技术:

当前GPU中一般使用多个处理器作为一个系统进行数据处理,为发挥所有处理器的功能,并适应GPU不同工作模式下(高性能模式—低功耗模式),需要一个GPU多处理器系统的任务调度方法。



技术实现要素:

本发明的目的是一种GPU多处理器系统的任务调度方法,可以根据GPU工作模式对GPU多处理器系统进行调度,保证系统的正常运行。

本发明的技术解决方案是:

一种GPU多处理器系统的任务调度方法,包括:

(1)向使用者提供以下位段:简单—复杂模式选择位、高性能—低功耗模式选择位、处理器开启数目位、所有处理器的当前繁忙—空闲状态位、所有处理器的开启—关闭位,处理器使用者可以通过配置以上位段,使用者配置简单—复杂模式选择位、高性能—低功耗模式选择位、处理器开启数目位;

(2)任务调度方法初始化

(2-1)当简单—复杂模式选择位设置为简单模式,GPU多处理器系统将被旁路,所有处理器的当前繁忙—空闲状态位均被设为空闲,所有处理器的开启—关闭位设置为关闭;

(2-2)当简单—复杂模式选择位设置为复杂模式,高性能—低功耗模式选择位设置为高性能模式,此时所有处理器的开启—关闭位设置为开启,所有处理器的当前繁忙—空闲状态位为空闲;

(2-3)当简单—复杂模式选择位设置为复杂模式,高性能—低功耗模式选择位设置为低功耗模式,处理器开启数目位设置完成,此时GPU多处理器系统只将处理器开启数目位的当前开启—关闭状态位设置为开启,其余处理器当前开启—关闭状态位设置为关闭;

(3)任务调度,当收到处理器使用请求时,

(3-1)若如(2-1)的设置模式时,处理器使用请求将不被发送到处理器,将直接被发送至下一级模块;

(3-2)若如(2-2)的设置模式时,当收到处理器使用请求时,将进行高性能模式下的任务映射,首先查询所有处理器的当前繁忙—空闲状态位,当查到第一个当前繁忙—空闲状态位为空闲的处理器,则将数据发送至此处理器,之后将此处理器的当前繁忙—空闲状态位设置为繁忙;若所有处理器当前繁忙—空闲状态位为繁忙,则等待一周期继续查询;当收到处理器计算完成信号时,则将此寄存器的当前繁忙—空闲状态位设置为空闲;

(3-3)若如(2-3)的设置模式时,当收到处理器使用请求时,将进行低功耗模式下的任务映射,首先查询所有开启状态处理器的当前繁忙—空闲状态位,若查到任意一个当前繁忙—空闲状态位为空闲的处理器,则将数据发送至此处理器,之后将此处理器的当前繁忙—空闲状态位设置为繁忙,若所有开启的处理器当前繁忙—空闲状态位为忙,则查询是否存在当前开启—关闭状态位为关闭状态的处理器,若不存在,则等待一周期继续查询,若存在,则将此处理器的开启—关闭状态位设置为开启,将此处理器的当前繁忙—空闲状态位设置为繁忙;当收到处理器计算完成信号时,则将此寄存器的当前繁忙—空闲状态位设置为空闲。

本发明所具有的优点:

能够发挥所有处理器的性能,并适应GPU不同工作模式下(高性能模式—低功耗模式)的工作情况,保证在低功耗模式下尽可能少的处理器参与处理运算,高性能模式下保证尽可能多的处理器参与处理运算。

附图说明

图1是一种GPU多处理器系统的任务调度方法框图。

具体实施方式

下面结合附图和具体实施例,对本发明的技术方案进行清楚、完整地表述。显然,所表述的实施例仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提所获得的所有其他实施例,都属于本发明的保护范围。

如图1所示,一种GPU多处理器系统的任务调度方法,其特征在于,包括3个步骤:使用者配置,任务调度方法初始化,任务调度,并向使用者提供以下位段:简单—复杂模式选择位(决定当前系统工作在简单还是复杂模式)、高性能—低功耗模式选择位(决定当前系统工作在高性能—低功耗模式选择位)、处理器开启数目位(决定当前系统能够最多开启多少个处理器)、所有处理器的当前繁忙—空闲状态位(表明当前所有处理器的是否正在使用)、所有处理器的开启—关闭位(表明当前处理器是否开启),处理器使用者可以通过配置以上位段,使得任务调度模块工作在使用者需要的情况下,此调度方法工作步骤如下:

(1)使用者配置简单—复杂模式选择位、高性能—低功耗模式选择位、处理器开启数目位;

(2)任务调度方法初始化,即

1)当简单—复杂模式选择位设置为简单模式,GPU多处理器系统将被旁路,所有处理器的当前繁忙—空闲状态位均被设为空闲,所有处理器的开启—关闭位设置为关闭;

2)当简单—复杂模式选择位设置为复杂模式,高性能—低功耗模式选择位设置为高性能模式,此时所有处理器的开启—关闭位设置为开启,所有处理器的当前繁忙—空闲状态位为空闲;

3)当简单—复杂模式选择位设置为复杂模式,高性能—低功耗模式选择位设置为低功耗模式,处理器开启数目位设置完成,此时GPU多处理器系统只将处理器开启数目位的当前开启—关闭状态位设置为开启,其余处理器当前开启—关闭状态位设置为关闭;

(3)任务调度,即当收到处理器使用请求时,

1)若如2-1的设置模式时,处理器使用请求将不被发送到处理器,将直接被发送至下一集模块;

2)若如2-2的设置模式时,当收到处理器使用请求时,将进行高性能模式下的任务映射,即首先查询所有处理器的当前繁忙—空闲状态位,当查到第一个当前繁忙—空闲状态位为空闲的处理器,则将数据发送至此处理器,之后将此处理器的当前繁忙—空闲状态位设置为繁忙;若所有处理器当前繁忙—空闲状态位为繁忙,则等待一周期继续查询;当收到处理器计算完成信号时,则将此寄存器的当前繁忙—空闲状态位设置为空闲;

3)若如2-3的设置模式时,当收到处理器使用请求时,将进行低功耗模式下的任务映射,即首先查询所有开启状态处理器的当前繁忙—空闲状态位,若查到任意一个当前繁忙—空闲状态位为空闲的处理器,则将数据发送至此处理器,之后将此处理器的当前繁忙—空闲状态位设置为繁忙,若所有开启的处理器当前繁忙—空闲状态位为忙,则查询是否存在当前开启—关闭状态位为关闭状态的处理器,若不存在,则等待一周期继续查询,若存在,则将此处理器的开启—关闭状态位设置为开启,将此处理器的当前繁忙—空闲状态位设置为繁忙;当收到处理器计算完成信号时,则将此寄存器的当前繁忙—空闲状态位设置为空闲。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1