
本发明属于电子领域,涉及一种GPU多处理器系统的任务调度方法.
背景技术:
当前,通常将多个处理器用作GPU中数据处理的系统. 为了发挥所有处理器的功能并适应GPU的不同工作模式(高性能模式-低功耗模式),提出了一种系统的GPU多处理任务调度方法.
技术实现要素:
本发明的目的是一种GPU多处理器系统的任务调度方法,可以根据GPU的工作模式调度GPU多处理器系统,以保证系统的正常运行.
本发明的技术方案是:

一种用于GPU多处理器系统的任务调度方法,包括:
(1)为用户提供以下位段: 简单-复杂模式选择位,高性能-低功耗模式选择位,处理器数量,所有处理器的当前忙闲状态位,所有处理处理器的关闭位,处理器用户可以配置上述位段,用户配置为简单-复杂模式选择位,高性能-低功耗模式选择位,处理器开数位;
(2)任务调度方法初始化
(2-1)当简单-复杂模式选择位设置为简单模式时,GPU多处理器系统将被绕过,所有处理器的当前繁忙-空闲状态位设置为空闲,而On-关闭位设置为关闭;
(2-2)当简单(复杂模式选择位)设置为复杂模式时,高性能(低功耗模式选择位)设置为高性能模式,此时所有处理器的开关位均被设置亮起,所有处理器当前正忙—空闲状态位为空闲状态; </ p>
(2-3)当简单-复杂模式选择位设置为复杂模式,高性能-低功耗模式选择位设置为低功耗模式时,设置打开的处理器数量,并且GPU是多处理器系统仅将数字的处理器当前开关状态位设置为开,其他处理器的开关状态位设置为关;

(3)任务调度,当收到处理器使用请求时,
(3-1)如果设置方式为(2-1),则不会将处理器使用请求发送到处理器,而是直接发送到下一级模块;
(3-2)如果在(2-2)的设置模式下,当收到处理器使用请求时,将执行高性能模式下的任务映射,首先查询所有处理器的当前忙闲状态该位,当发现当前第一个当前忙闲处理器处于空闲状态时,将数据发送到该处理器,然后将该处理器的当前忙闲状态位设置为busy;如果所有处理器当前都处于繁忙状态—空闲状态位处于繁忙状态,则等待一个周期以继续查询;否则,返回0. 当接收到处理器计算完成信号时,该寄存器的当前忙闲状态位设置为空闲;
(3-3)如果在(2-3)的设置模式下,当收到处理器使用请求时,将执行低功耗模式下的任务映射,首先查询所有打开状态的当前繁忙状态处理器-空闲状态位(如果有人当前正在忙)-空闲状态位是一个空闲处理器,然后将数据发送到该处理器,然后发送该处理器的当前繁忙状态-空闲状态位设置为忙(如果全部打开)处理器当前处于忙状态-空闲状态位处于忙状态,然后查询是否存在当前处于开启状态的处理器-关闭状态位处于关闭状态(如果不存在),请等待一个周期以继续查询(如果存在),然后打开处理器-将关闭状态位设置为打开,并将此处理器的当前忙闲状态位设置为忙;收到处理器计算完成信号后,该寄存器的当前忙闲状态位将设置为空闲.
本发明的优点:
能够发挥所有处理器的性能,并适应GPU在不同工作模式(高性能模式-低功耗模式)下的工作条件,以确保在低功耗模式下尽可能少的处理器参与处理高性能操作,请确保尽可能多的处理器参与处理操作.

图纸说明
图1是用于GPU多处理器系统的任务调度方法的框图.
具体实现
下面将参考附图和具体实施例,对本发明的技术方案进行清楚多处理器调度,完整地描述. 显然,所描述的实施例仅是本发明实施例的一部分,而不是全部实施例. 基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围.
如图参照图1,GPU多处理器系统的任务调度方法的特征在于包括三个步骤: 用户配置,任务调度方法初始化,任务调度,并向用户提供以下位: 简单-复杂模式选择位(确定当前系统是否在简单或复杂模式下工作),高性能-低功耗模式选择位(确定当前系统是否在高性能-低功耗模式选择位)多处理器调度,处理器开机次数位(确定当前系统有多少个处理器) (可以打开),所有处理器的当前忙闲状态位(指示当前是否正在使用所有处理器)以及所有处理器的开-关位(指示当前处理器是否已开启),处理器用户可以配置以上部分,使任务调度模块可以在用户需要的情况下工作. 此调度方法的工作步骤如下:
(1)简单的用户配置-复杂模式选择位,高性能-低功耗模式选择位,处理器开机号位;

(2)任务调度方法的初始化,即
1)当简单复杂模式选择位设置为简单模式时,将绕过GPU多处理器系统,所有处理器的当前忙闲状态位都设置为空闲,并且所有处理器都被关闭位设置为关闭;
2)当简单-复杂模式选择位设置为复杂模式,而高性能-低功耗模式选择位设置为高性能模式时,则所有处理器的开-关位均设置为开,并且当前处于忙碌状态-空闲状态位处于空闲状态; </ p>
3)当简单-复杂模式选择位设置为复杂模式,而高性能-低功耗模式选择位设置为低功耗模式时,将设置处理器的位数. 处理器当前的开关位处于打开状态— off位设置为on,处理器剩余的开关位设置为off;
(3)任务调度,即收到处理器使用请求时,
1)如果设置模式为2-1,则不会将处理器使用请求发送给处理器,而是直接发送给下一个情节模块;
2)如果在2-2的设置模式下,当收到处理器使用请求时,将执行高性能模式下的任务映射,即查询所有处理器的当前忙闲状态位第一. 对于当前空闲状态为空闲的第一个处理器,将数据发送到该处理器,然后将该处理器的当前空闲状态位设置为busy;如果所有处理器当前都处于忙闲状态位,则如果忙,则等待一个周期继续查询;否则,返回0. 当接收到处理器计算完成信号时,将该寄存器的当前忙闲状态位设置为空闲;
3)如果在2-3的设置模式下,当接收到处理器使用请求时,将执行低功耗模式下的任务映射,即所有打开的当前忙闲状态位-首先将查询状态处理器,如果发现任何当前的忙闲处理器处于空闲状态,则将数据发送到该处理器,然后,如果所有打开的处理器当前都处于忙碌状态,则将该处理器的当前忙闲状态位设置为忙. 空闲状态位正忙,然后检查是否有电流接通—处理器的关闭状态位为关闭(如果不存在),请等待一个周期以继续查询(如果存在),则将其状态设置为开/关. 要启用此处理器,请将此处理器的当前忙闲状态位设置为busy;当接收到处理器计算完成信号时,将该寄存器的当前忙闲状态位设置为空闲.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-186149-1.html
海警
30秒后到达战场