一种任务调度方法、任务调度装置、图形处理器及电子设备。该方法用于图形处理器,该方法包括:基于图形处理器的任务池中任务的优先级和权重以及硬件缓存的容量,在任务池中选择至少一个任务加载至硬件缓存中以作为待处理任务,被选择的任务具有相同的优先级,被选择的任务的优先级高于或等于任务池中未被选择的任务的优先级或者被选择的任务是所述任务池中的全部任务,权重反映在相同优先级下的运行时间分配比重;基于待处理任务的权重确定待处理任务的单次运行时长,根据预设顺序将待处理任务依次从硬件缓存加载至运算单元中并由运算单元依据单次运行时长对待处理任务进行处理。该方法可以在多任务情况下减少由于任务调度而产生的性能损失。调度而产生的性能损失。调度而产生的性能损失。
【技术实现步骤摘要】
任务调度方法、任务调度装置、图形处理器及电子设备
[0001]本公开的实施例涉及一种任务调度方法、任务调度装置、图形处理器及电子设备。
技术介绍
[0002]通用图形处理器(General
‑
purpose Computing on Graphics Processing Unit,GPGPU)是一种利用处理图形任务的图形处理器来计算原本由中央处理器(Central Processing Unit,CPU)处理的通用计算任务的处理器。这些通用计算通常与图形处理无关。由于现代图形处理器强大的并行处理能力和可编程流水线,因此可以处理非图形数据。特别在面对单指令流多数据流且数据处理的运算量远大于数据调度和传输的需要时,通用图形处理器在性能上大大超越了传统的中央处理器应用程序。
技术实现思路
[0003]本公开至少一个实施例提供一种任务调度方法,用于图形处理器,其中,所述方法包括:基于所述图形处理器的任务池中各个任务的优先级和权重以及所述图形处理器的硬件缓存的容量,在所述任务池中选择至少一个任务加载至所述硬件缓存中以作为待处理任务,其中,被选择的任务具有相同的优先级,所述被选择的任务的优先级高于或等于所述任务池中未被选择的任务的优先级或者所述被选择的任务是所述任务池中的全部任务,所述权重反映在相同优先级下的运行时间分配比重;基于所述待处理任务的权重确定所述待处理任务的单次运行时长,根据预设顺序将所述待处理任务依次从所述硬件缓存加载至所述图形处理器的运算单元中并由所述运算单元依据所述单次运行时长对所述待处理任务进行处理。
[0004]例如,在本公开一实施例提供的方法中,基于所述图形处理器的任务池中各个任务的优先级和权重以及所述图形处理器的硬件缓存的容量,在所述任务池中选择至少一个任务加载至所述硬件缓存中以作为所述待处理任务,包括:获取所述任务池中各个任务的优先级,其中,所述任务池包括一个或多个任务,所述任务池中的任务划分为至少一个优先级;在所述任务池的任务中确定至少一个任务作为备选任务,其中,所述备选任务具有相同的优先级,所述备选任务的优先级高于所述任务池中除所述备选任务以外的任务的优先级或者所述备选任务是所述任务池中的全部任务;响应于所述备选任务的数量小于或等于预设阈值,将所述备选任务均加载至所述硬件缓存中以作为所述待处理任务,其中,所述预设阈值反映所述硬件缓存的容量,所述预设阈值是所述硬件缓存能够存储的任务的数量;响应于所述备选任务的数量大于所述预设阈值,基于所述备选任务的权重在所述备选任务中选择至少一个备选任务,并将所述至少一个备选任务加载至所述硬件缓存中以作为所述待处理任务,其中,被选择的所述至少一个备选任务的数量等于所述预设阈值。
[0005]例如,在本公开一实施例提供的方法中,所述权重基于对应的任务的存活时间和运行时间而确定,所述存活时间指从所述任务建立至当前时刻的时长,所述运行时间指从所述任务建立至所述当前时刻所述任务被处理的累计时长。
[0006]例如,在本公开一实施例提供的方法中,所述权重等于所述存活时间与所述运行时间的比值。
[0007]例如,在本公开一实施例提供的方法中,基于所述备选任务的权重在所述备选任务中选择至少一个备选任务,并将所述至少一个备选任务加载至所述硬件缓存中以作为所述待处理任务,包括:将所述备选任务按照所述权重的数值从大到小进行排序;在所述备选任务的排序中选择前N个备选任务,并将选择的备选任务加载至所述硬件缓存中以作为所述待处理任务,其中,N等于所述预设阈值。
[0008]例如,在本公开一实施例提供的方法中,基于所述待处理任务的权重确定所述待处理任务的单次运行时长,根据所述预设顺序将所述待处理任务依次从所述硬件缓存加载至所述图形处理器的运算单元中并由所述运算单元依据所述单次运行时长对所述待处理任务进行处理,包括:根据所述待处理任务的权重计算各个待处理任务的所述单次运行时长;确定处理所述待处理任务的所述预设顺序;根据所述预设顺序将所述待处理任务依次从所述硬件缓存加载至所述运算单元中,并由所述运算单元依据所述单次运行时长对所述待处理任务进行处理,其中,所述待处理任务被所述运算单元处理的时间等于对应的单次运行时长。
[0009]例如,在本公开一实施例提供的方法中,所述单次运行时长采用如下公式计算:Tc=T0
×
(Wz
÷
Wc),其中,Tc表示所述单次运行时长,T0表示所述图形处理器的时间片的时长,Wz表示所述硬件缓存中所有待处理任务的权重的和,Wc表示当前计算的单次运行时长对应的待处理任务的权重。
[0010]例如,在本公开一实施例提供的方法中,所述时间片的时长为10ms的数量级。
[0011]例如,在本公开一实施例提供的方法中,所述预设顺序包括按照先进先出规则确定的顺序。
[0012]例如,在本公开一实施例提供的方法中,所述优先级包括第一优先级至第十六优先级,所述第一优先级至所述第十六优先级的优先等级依次降低。
[0013]例如,在本公开一实施例提供的方法中,所述优先级采用4比特位的二进制数表示。
[0014]例如,在本公开一实施例提供的方法中,所述任务包括图形处理器进程。
[0015]例如,在本公开一实施例提供的方法中,所述图形处理器包括通用图形处理器。
[0016]本公开至少一个实施例还提供一种任务调度装置,用于图形处理器,其中,所述装置包括:第一加载单元,配置为基于所述图形处理器的任务池中各个任务的优先级和权重以及所述图形处理器的硬件缓存的容量,在所述任务池中选择至少一个任务加载至所述硬件缓存中以作为待处理任务,其中,被选择的任务具有相同的优先级,所述被选择的任务的优先级高于或等于所述任务池中未被选择的任务的优先级或者所述被选择的任务是所述任务池中的全部任务,所述权重反映在相同优先级下的运行时间分配比重;第二加载单元,配置为基于所述待处理任务的权重确定所述待处理任务的单次运行时长,根据预设顺序将所述待处理任务依次从所述硬件缓存加载至所述图形处理器的运算单元中并由所述运算单元依据所述单次运行时长对所述待处理任务进行处理。
[0017]本公开至少一个实施例还提供一种图形处理器,包括本公开任一实施例提供的任务调度装置。
[0018]本公开至少一个实施例还提供一种电子设备,包括本公开任一实施例提供的图形处理器。
附图说明
[0019]为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
[0020]图1示出了GPGPU编程模型中的处理流程;
[0021]图2为一种GPGPU的架构示意图;
[0022]图3为本公开一些实施例提供的一种任务调度方法的流程示意图;
[0023]图4为图3中步骤S10的示例性流程图;
[0024]图5为图4中步骤S14的示例性流程图;
[0025]图6为图本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种任务调度方法,用于图形处理器,其中,所述方法包括:基于所述图形处理器的任务池中各个任务的优先级和权重以及所述图形处理器的硬件缓存的容量,在所述任务池中选择至少一个任务加载至所述硬件缓存中以作为待处理任务,其中,被选择的任务具有相同的优先级,所述被选择的任务的优先级高于或等于所述任务池中未被选择的任务的优先级或者所述被选择的任务是所述任务池中的全部任务,所述权重反映在相同优先级下的运行时间分配比重;基于所述待处理任务的权重确定所述待处理任务的单次运行时长,根据预设顺序将所述待处理任务依次从所述硬件缓存加载至所述图形处理器的运算单元中并由所述运算单元依据所述单次运行时长对所述待处理任务进行处理。2.根据权利要求1所述的方法,其中,基于所述图形处理器的任务池中各个任务的优先级和权重以及所述图形处理器的硬件缓存的容量,在所述任务池中选择至少一个任务加载至所述硬件缓存中以作为所述待处理任务,包括:获取所述任务池中各个任务的优先级,其中,所述任务池包括一个或多个任务,所述任务池中的任务划分为至少一个优先级;在所述任务池的任务中确定至少一个任务作为备选任务,其中,所述备选任务具有相同的优先级,所述备选任务的优先级高于所述任务池中除所述备选任务以外的任务的优先级或者所述备选任务是所述任务池中的全部任务;响应于所述备选任务的数量小于或等于预设阈值,将所述备选任务均加载至所述硬件缓存中以作为所述待处理任务,其中,所述预设阈值反映所述硬件缓存的容量,所述预设阈值是所述硬件缓存能够存储的任务的数量;响应于所述备选任务的数量大于所述预设阈值,基于所述备选任务的权重在所述备选任务中选择至少一个备选任务,并将所述至少一个备选任务加载至所述硬件缓存中以作为所述待处理任务,其中,被选择的所述至少一个备选任务的数量等于所述预设阈值。3.根据权利要求2所述的方法,其中,所述权重基于对应的任务的存活时间和运行时间而确定,所述存活时间指从所述任务建立至当前时刻的时长,所述运行时间指从所述任务建立至所述当前时刻所述任务被处理的累计时长。4.根据权利要求3所述的方法,其中,所述权重等于所述存活时间与所述运行时间的比值。5.根据权利要求2所述的方法,其中,基于所述备选任务的权重在所述备选任务中选择至少一个备选任务,并将所述至少一个备选任务加载至所述硬件缓存中以作为所述待处理任务,包括:将所述备选任务按照所述权重的数值从大到小进行排序;在所述备选任务的排序中选择前N个备选任务,并将选择的备选任务加载至所述硬件缓存中以作为所述待处理任务,其中,N等于所述预设阈值。6.根据权利要求1所述的方法,其中,基于所述待处理任务的...
【专利技术属性】
技术研发人员:郭磊,张君威,
申请(专利权)人:海光信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。