【技术实现步骤摘要】
硬件队列调度方法及处理器、电子设备和存储介质
[0001]本申请涉及计算机
,尤其涉及一种硬件队列调度方法及处理器、电子设备和存储介质。
技术介绍
[0002]相关技术中,CUDA(Compute Un ified Device Arch itecture,统一计算设备架构)的操作流(Stream)的特点是:在一个操作流上面的所有命令都是串行执行。
[0003]这是因为,通常情况下,一个操作流是映射到一个硬件队列的,所以对于某个操作流的所有操作命令,都是在同一个硬件队列上面执行。而硬件队列的特点就是串行执行,即:在一个队列中,前一个操作命令完成之后,后一个操作命令才会开始执行。如果一个操作流中有多种操作命令,即使这些操作命令之间没有依赖,也会被串行执行,这样就会降低操作命令执行的并行性,进而降低处理器的执行效率。
技术实现思路
[0004]本申请提出了一种硬件队列调度方法及处理器、电子设备和存储介质,可以改善现有技术中处理器的命令执行效率低的问题。
[0005]第一方面,本申请实施例提供 ...
【技术保护点】
【技术特征摘要】
1.一种硬件队列调度方法,其特征在于,所述方法应用于处理器,所述处理器包括多个硬件队列和至少一个处理单元簇,每个处理单元簇包括至少一个处理单元,其中,在同一处理单元簇内任意两个处理单元的类型是不相同的,所述处理单元用于处理来自硬件队列的操作命令,每个硬件队列对应一个处理单元簇中的一种处理单元;所述方法包括:获取待处理的操作流,所述操作流包括至少一个操作命令,每个操作命令具有用于反映命令类型的命令信息;根据所述命令信息,将所述操作流中包括的至少一个操作命令分发至所述多个硬件队列中的至少一个硬件队列;分别从每个硬件队列选择至少一个操作命令分发至每个硬件队列对应的处理单元;处理单元执行接收到的至少一个操作命令。2.根据权利要求1所述的方法,其特征在于,将所述操作流中包括的至少一个操作命令分发至所述多个硬件队列中的至少一个硬件队列,包括:对所述操作流中的操作命令进行依赖关系的识别处理,得到所述操作流中操作命令之间的依赖关系;根据所述操作流中操作命令之间的依赖关系,从所述操作流中选择至少一个操作命令分发至对应的所述硬件队列。3.根据权利要求2所述的方法,其特征在于,所述对所述操作流中的操作命令进行依赖关系的识别处理,得到所述操作流中操作命令之间的依赖关系,包括:按照所述操作流中各操作命令的排列顺序进行识别,在识别到所述操作流中的第一操作命令与第二操作命令需要对相同的硬件资源进行访问,并且所述第一操作命令和所述第二操作命令中有任一者需要对所述硬件资源执行写操作的情况下,确定所述第一操作命令依赖所述第二操作命令;其中,所述第一操作命令为所述操作流中待分配至硬件队列的当前操作命令,所述第二操作命令为所述操作流中排列顺序在所述第一操作命令之前的命令。4.根据权利要求3所述的方法,其特征在于,所述根据所述操作流中操作命令之间的依赖关系,从所述操作流中选择至少一个操作命令分发至对应的所述硬件队列,包括:响应于确定所述第一操作命令依赖所述第二操作命令,且,确定所述第一操作命令和所述第二操作命令为需要不同处理单元处理的命令,生成与所述第一操作命令对应的等待命令,所述等待命令用于使所述第一操作命令在等待所述第二操作命令已经执行完毕后才执行;在所述操作流中的所述第一操作命令之前插入所述等待命令;将所述等待命令与所述第一操作命令作为一个整体命令,分发至所述第一操作命令对应的所述硬件队列。5.根据权利要求2所述的方法,其特征在于,所述对所述操作流中的操作命令进行依赖关系的识别处理,得到所述操作流中操作命令之间的依赖关系,包括:为所述操作流中的操作命令,构建动态依赖关系表,所述动态依赖关系表用于反映每个操作命令对于处理器中各硬件资源的地址读写关系;根据所述动态依赖关系表,确定所述操作流中各操作命令之间的依赖关系。
6.根据权利要求2所述的方法,其特征在于,对所述操作流中的操作命令进行依赖关系的识别处理,得到所述操作流中操作命令之间的依赖关系,包括:为所述操作流中每个操...
【专利技术属性】
技术研发人员:刘军,杨媛静,王鸥,
申请(专利权)人:上海登临科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。