命令执行方法、装置、图形处理器、电子设备及存储介质与流程

文档序号:34306801发布日期:2023-05-31 19:14阅读:28来源:国知局
命令执行方法、装置、图形处理器、电子设备及存储介质与流程

本发明涉及电子,具体而言,涉及一种命令执行方法、装置、图形处理器、电子设备及存储介质。


背景技术:

1、随着图形处理器(graphics processing unit,gpu)的通用化趋势,gpu内部的专用逻辑运算单元的种类不断增加,从最初的通用运算单元,特殊函数单元,再到高性能运算单元,张量运算单元等,都是为了让专门的单元做专门的运算,达到效率最优。

2、一个包括gpu芯片和中央处理器的系统,通常由中央处理器通过发送命令序列将需要执行的计算任务发送给gpu芯片,gpu芯片将收到的命令序列经过解析,然后将命令分发给gpu芯片中的不同功能模块执行。现有的做法是中央处理器将生成的命令放在命令序列中,然后由gpu芯片顺序执行。

3、然而,如果命令序列中的命令有先后依赖关系,比如序列中有命令a,c,命令a和c是2个不同计算的任务,并且c的执行依赖于a的执行结果,所以c必须等到a执行结束后才能执行,所以在命令a和c之间插入了等待命令,等待a执行结束。这时由于gpu芯片中仅运行有命令a,如果a的计算量不够大,不能完全利用gpu芯片的算力,那么整个gpu芯片的一部分算力就会处于空闲状态,降低了对gpu芯片的运算能力的利用率。


技术实现思路

1、本发明的目的在于提供一种命令执行方法、装置、图形处理器、电子设备及存储介质,能够有效的提升对gpu芯片的运算能力的利用率。

2、第一方面,本发明实施例中提供了一种命令执行方法,应用于图形处理器,包括:构建若干命令执行队列,每个所述命令执行队列中包括若干命令;读取任一所述命令执行队列内的命令作为目标命令,判断所述目标命令是否为队列切换命令;若所述目标命令为所述队列切换命令,读取并执行其它命令执行队列中的命令。

3、在一些实施例中,所述判断所述目标命令是否为队列切换命令,包括:判断所述目标命令中是否存在预设标识符;若所述目标命令中存在所述预设标识符,判定所述目标命令为所述队列切换命令。根据预设标识符进行判断的过程较为简单,可以有效的提升判断效率,从而提升任务执行的整体效率。

4、在一些实施例中,所述判断所述目标命令是否为队列切换命令,包括:判断所述目标命令与当前时刻正在执行的命令之间是否存在依赖关系;若所述目标命令与当前时刻正在执行的命令之间存在依赖关系,判定所述目标命令为所述队列切换命令。通过对目标命令与当前时刻正在执行的命令之间的依赖关系的判断,可以避免将存在依赖关系的命令已执行完毕的目标命令判定为队列切换命令,从而提升判定结果的准确度。

5、在一些实施例中,所述判断所述目标命令与当前时刻正在执行的命令之间是否存在依赖关系,包括:获取所述目标命令的预设依赖关系值和预设存储地址;读取所述预设存储地址中存储的目标值;判断所述预设依赖关系值和所述目标值是否相同;若所述预设依赖关系值和所述目标值不相同,判定所述目标命令与当前时刻正在执行的命令之间存在依赖关系;若所述预设依赖关系值和所述目标值相同,判定所述目标命令与当前时刻正在执行的命令之间不存在依赖关系。通过对预设存储地址中的目标值与预设依赖关系值进行比较,可以较为准确的判断与目标命令存在依赖关系的另一命令是否已经执行完毕,从而准确的判断目标命令是否为队列切换命令。

6、在一些实施例中,所述判断所述目标命令是否为队列切换命令,包括:判断所述目标命令中是否存在预设标识符、且所述目标命令与当前时刻正在执行的命令之间是否存在依赖关系;若所述目标命令中存在所述预设标识符或所述目标命令与当前时刻正在执行的命令之间存在依赖关系,判定所述目标命令为所述队列切换命令;若所述目标命令中不存在所述预设标识符且所述目标命令与当前时刻正在执行的命令之间不存在依赖关系,判定所述目标命令不为所述队列切换命令。通过多种不同判定方法的综合使用,可以有效的提升目标命令是否为队列切换命令的判断结果的准确性,避免漏判或误判。

7、在一些实施例中,所述读取任一所述命令执行队列内的命令作为目标命令前,所述方法还包括:设置唯一当前命令执行队列;所述读取任一所述命令执行队列内的命令作为目标命令,包括:读取所述当前命令执行队列内的命令作为所述目标命令。

8、在一些实施例中,所述读取并执行其它命令执行队列中的命令前,所述方法还包括:设置所述其它命令执行队列为新的所述当前命令执行队列。通过设置唯一当前执行队列,在当前时刻仅执行当前执行队列中的命令,当当前执行队列中的目标命令为队列切换命令时,重新设置另一个命令执行队列作为新的当前执行队列,读取并执行新的当前执行队列中的命令,可以使得命令的读取和执行过程更加有序的进行,避免在命令执行队列的切换过程中造成命令的执行混乱和执行错误,从整体上提升任务执行结果的准确度。

9、第二方面,本发明实施例提供了一种命令执行方法,应用于命令执行装置,包括:构建若干命令,根据各个所述命令之间的依赖关系在所述若干命令中构建若干队列切换命令,并将所述若干命令发送至图形处理器;所述队列切换命令用于在被所述图形处理器读取时进行命令执行队列的切换。

10、在一些实施例中,所述根据各个所述命令之间的依赖关系在所述若干命令中构建若干队列切换命令,包括:从所述若干命令中获取目标命令,所述目标命令为与任一其它命令之间存在依赖关系的命令;向所述目标命令中插入预设标识符。

11、在一些实施例中,所述根据各个所述命令之间的依赖关系在所述若干命令中构建若干队列切换命令,包括:从所述若干命令中获取目标命令,所述目标命令为与任一其它命令之间存在依赖关系的命令;向所述目标命令中插入预设依赖关系值和预设存储地址;向所述目标命令所依赖的命令中插入所述预设存储地址,以控制所述目标命令所依赖的命令在执行完成时将预设依赖关系值写入所述预设存储地址。

12、第三方面,本发明实施例提供了一种图形处理器,包括:队列构建模块,所述队列构建模块用于构建若干命令执行队列,每个所述命令执行队列中包括若干命令;命令执行模块,所述命令执行模块用于读取任一所述命令执行队列内的命令作为目标命令,并判断所述目标命令是否为队列切换命令;所述命令执行模块还用于在所述目标命令为所述队列切换命令时,读取并执行其它命令执行队列中的命令。

13、第四方面,本发明实施例提供了一种命令执行装置,包括:命令构建模块,所述命令构建模块用于构建若干命令;切换命令构建模块,所述切换命令构建模块用于根据各个所述命令之间的依赖关系在所述若干命令中构建若干队列切换命令;通信模块,所述通信模块用于将所述若干命令发送至图形处理器。

14、第五方面,本发明实施例提供了一种电子设备,包括:处理器,与所述至少一个处理器通信连接的第一存储器和图形处理器,与所述图形处理器连接的第二存储器;其中,所述第一存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如前述的命令执行方法;所述第二存储器存储有可被所述图形处理器执行的指令,所述指令被所述图形处理器执行,以使所述图形处理器能够执行如前述的命令执行方法。

15、第六方面,本发明实施例提供了一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被图形处理器执行、以实现前述的命令执行方法。

16、与现有技术相比,本发明实施例所提供的命令执行方法、装置、图形处理器、电子设备及存储介质中,在图形处理器中构建多个命令执行队列,图形处理器在接收到命令时,将接收到的命令存入命令执行队列中进行依次执行,在执行每个命令时,首先判断该命令是否为队列切换命令,如果该命令为队列切换命令,则切换至其它命令执行队列,读取其它命令执行队列中的命令并执行,从而避免由于命令之间的依赖关系导致后续的无依赖关系的其它命令无法进行读取和执行,从而提升对gpu芯片的运算能力的利用率,整体上提升gpu芯片的工作效率。

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