System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种调度方法、系统、处理器及芯片技术方案_技高网

一种调度方法、系统、处理器及芯片技术方案

技术编号:40605505 阅读:3 留言:0更新日期:2024-03-12 22:11
一种调度方法、系统、处理器及芯片,用于提高临时寄存器的使用灵活性和运行效率。在本申请中,方法包括:获取第一线程簇的编译指令,编译指令用于指示第一线程簇占用的临时寄存器的个数是M;根据第一线程簇的编译指令,确定N个临时寄存器中的、未被第二线程簇占用的M个临时寄存器的物理地址,将M个临时寄存器的物理地址分配给第一线程簇;其中,第二线程簇是在第一线程簇之前被调度且正在被执行的线程簇,N和M为正整数,M≤N。

【技术实现步骤摘要】

本申请实施例涉及计算机领域,尤其涉及一种调度方法、系统、处理器及芯片


技术介绍

1、异构系统中通常包括主机(host)和设备(device),设备包括通用寄存器。主机在访问通用寄存器时,往往受到并行数的限制,例如主机仅能并行访问2个通用寄存器。为了提高主机访问寄存器的效率,目前在设备中进一步引入临时寄存器,临时寄存器能够存储数据的数据量可以等于通用寄存器能够存储数据的数据量,且主机在访问通用寄存器的同时,还可并行访问多个临时寄存器。

2、主机在访问临时寄存时,具体可以是,主机向设备中的调度器发送线程簇的编译指令,相应的,调度器接收线程簇的编译指令,对该编译指令进行解码以确定该线程簇是否占用临时寄存器,若是,则将为该线程簇分配多个临时寄存器,进而由设备中的执行器在执行该线程簇时访问该多个临时寄存器。

3、目前,虽然设备中包括多个临时寄存器,但是该多个临时寄存器只能够由一个线程簇独占,造成临时寄存器使用不灵活的问题。


技术实现思路

1、本申请提供一种调度方法、系统、处理器及芯片,用于提高设备中的临时寄存器的使用灵活性和运行效率。

2、第一方面,本申请提供一种调度方法,由调度器执行。

3、方法包括:获取第一线程簇的编译指令,编译指令用于指示第一线程簇占用的临时寄存器的个数是m;根据第一线程簇的编译指令,确定n个临时寄存器中的、未被第二线程簇占用的m个临时寄存器的物理地址,将m个临时寄存器的物理地址分配给第一线程簇;其中,第二线程簇是在第一线程簇之前被调度且正在被执行的线程簇,n和m为正整数,m≤n。

4、上述技术方案中,调度器在获取到第一线程簇的编译指令之后,可根据编译指令确定第一线程簇占用的临时寄存器的个数是m,进而从n个临时寄存器中选择尚未被之前调度的第二线程簇占用的m个临时寄存器,将m个临时寄存器的物理地址分配给第一线程簇。如此,n个临时寄存器可被多个线程簇使用,提高临时寄存器的使用灵活性和运行效率。且该n个临时寄存器均可能被占用,提高临时寄存器的利用率。

5、在一种可能的实现方式中,根据第一线程簇的编译指令,确定n个临时寄存器中的、未被第二线程簇占用的m个临时寄存器的物理地址,包括:获取记录信息,记录信息中包括第二线程簇的标识和第二线程簇占用的临时寄存器的物理地址的对应关系;根据第二线程簇的标识和第二线程簇占用的临时寄存器的物理地址的对应关系,以及临时寄存器的个数m,确定m个临时寄存器的物理地址。

6、上述技术方案中,调度器中存储有记录信息,即记录有哪些线程簇占用了哪些临时寄存器,从而调度器可根据记录信息确定出尚未被占用的m个临时寄存器,以及该m个临时寄存器的物理地址。

7、在一种可能的实现方式中,根据第二线程簇的标识和第二线程簇占用的临时寄存器的物理地址的对应关系,以及临时寄存器的个数m,确定m个临时寄存器的物理地址,包括:根据第二线程簇的标识和第二线程簇占用的临时寄存器的物理地址的对应关系,和n个临时寄存器的物理地址,确定基准地址;根据基准地址,以及临时寄存器的个数m,确定m个临时寄存器的物理地址。在一种可能的实现方式中,根据第二线程簇的标识和第二线程簇占用的临时寄存器的物理地址的对应关系,和n个临时寄存器的物理地址,确定基准地址,包括:根据第二线程簇的标识和第二线程簇占用的临时寄存器的物理地址的对应关系,和n个临时寄存器的物理地址,确定尚未被占用的临时寄存器中物理地址处于最低位的临时寄存器的物理地址;在根据处于最低位的临时寄存器的物理地址,确定出m个连续的未被占用的临时寄存器的物理地址的情况下,将该处于最低位的临时寄存器的物理地址作为基准地址。

8、上述技术方案中,调度器确定m个连续的未被占用的临时寄存器,将该m个连续的未被占用的临时寄存器分配给第一线程簇,有助于提高第一线程簇访问m个临时寄存器的效率,且降低方案复杂性。

9、在一种可能的实现方式中,第二线程簇为一个或多个,该一个或多个第二线程簇占用k个临时寄存器,k为正整数。任一个线程簇占用的临时寄存器的个数基于线程簇写入的数据大小和临时寄存器能够承载的数据量的大小(或称为是临时寄存器的长度、临时寄存器能够存储数据的数据量等)确定。

10、上述技术方案中,可将在第一线程簇之前被调度的线程簇均称为是第二线程簇,也即是,n个临时寄存器可被两个或两个以上的线程簇使用,提高临时寄存器的使用灵活性和利用率。且该两个或两个以上的线程簇可被同时调度,有助于减少线程簇的等待时长。

11、在一种可能的实现方式中,将m个临时寄存器的物理地址分配给第一线程簇之后,还包括:将第一线程簇的标识和m个临时寄存器的物理地址的对应关系,写入到记录信息中。进一步的,将第一线程簇的标识和m个临时寄存器的物理地址的对应关系,写入到记录信息中之后,还包括:获取第一线程簇的释放指令,释放指令用于释放第一线程簇占用的m个临时寄存器;根据释放指令,删除记录信息中的第一线程簇的标识和m个临时寄存器的物理地址的对应关系。

12、上述技术方案中,调度器在将m个临时寄存器的物理地址分配给第一线程簇之后,会将第一线程簇的标识和m个临时寄存器的物理地址的对应关系,写入到记录信息中,以及,在确定第一线程簇对应的代码被执行完之后,可将第一线程簇占用的m个临时寄存器释放,删除记录信息中的第一线程簇的标识和m个临时寄存器的物理地址的对应关系。如此,有助于调度器保持准确的记录信息,并且释放的临时寄存器还可继续被其他的线程簇使用,有助于提高临时寄存器的使用灵活性和利用率,有助于减少线程簇的等待时长。

13、在一种可能的实现方式中,适用于异构计算系统中,异构计算系统中包括设备和主机,设备中包括调度器和执行器,执行器中包括n个临时寄存器和执行单元;获取第一线程簇的编译指令,包括:调度器接收来自主机的第一线程簇的编译指令;将m个临时寄存器的物理地址分配给第一线程簇,包括:调度器向执行单元发送第一线程簇的调度指令,调度指令中包括第一线程簇的标识和m个临时寄存器的物理地址,调度指令用于指示执行单元在执行第一线程簇时,根据m个临时寄存器的物理地址将第一线程簇对应的数据写入至m个临时寄存器中。在一种可能的实现方式中,设备是图形处理器(graphics processingunit,gpu)或者通用gpu(general purpose computing on gpu,gpgpu)。主机是中央处理器(central processing unit,cpu)。

14、上述技术方案中,提供本方案的具体适用场景,即适用于包括主机和设备的异构计算系统中,设备具体可以是gpu或者gpgpu。

15、第二方面,本申请提供一种调度器,包括:获取模块,用于获取第一线程簇的编译指令,编译指令用于指示第一线程簇占用的临时寄存器的个数是m;处理模块,用于根据第一线程簇的编译指令,确定n个临时寄存器中的、未被第二线程簇占用的m个临时寄存器的物理地址,将m个临时寄存器本文档来自技高网...

【技术保护点】

1.一种调度方法,其特征在于,由调度器执行,所述方法包括:

2.如权利要求1所述的方法,其特征在于,所述根据所述第一线程簇的编译指令,确定N个临时寄存器中的、未被第二线程簇占用的M个临时寄存器的物理地址,包括:

3.如权利要求2所述的方法,其特征在于,所述根据所述第二线程簇的标识和所述第二线程簇占用的临时寄存器的物理地址的对应关系,以及所述临时寄存器的个数M,确定所述M个临时寄存器的物理地址,包括:

4.如权利要求3所述的方法,其特征在于,所述根据所述第二线程簇的标识和所述第二线程簇占用的临时寄存器的物理地址的对应关系,和所述N个临时寄存器的物理地址,确定基准地址,包括:

5.如权利要求1所述的方法,其特征在于,所述第二线程簇为一个或多个,任一个线程簇占用的临时寄存器的个数基于所述线程簇写入的数据大小和所述临时寄存器能够承载的数据量的大小确定。

6.如权利要求1所述的方法,其特征在于,所述将所述M个临时寄存器的物理地址分配给所述第一线程簇之后,还包括:

7.如权利要求6所述的方法,其特征在于,

8.如权利要求1-7中任一项所述的方法,其特征在于,适用于异构计算系统中,所述异构计算系统中包括设备和主机,所述设备中包括所述调度器和执行器,所述执行器中包括所述N个临时寄存器和执行单元;

9.如权利要求8所述的方法,其特征在于,所述设备是图形处理器GPU或者通用图形处理器GPGPU,所述主机是中央处理器CPU。

10.一种异构计算系统,其特征在于,包括:

11.一种处理器,其特征在于,所述处理器包括逻辑电路和供电电路,所述供电电路用于为所述逻辑电路供电,所述逻辑电路用于执行如权利要求1至9中任一项所述的方法的操作步骤。

12.一种芯片,其特征在于,所述芯片包括处理器和缓存,所述处理器用于执行如权利要求1至9中任一项所述的方法的操作步骤。

...

【技术特征摘要】

1.一种调度方法,其特征在于,由调度器执行,所述方法包括:

2.如权利要求1所述的方法,其特征在于,所述根据所述第一线程簇的编译指令,确定n个临时寄存器中的、未被第二线程簇占用的m个临时寄存器的物理地址,包括:

3.如权利要求2所述的方法,其特征在于,所述根据所述第二线程簇的标识和所述第二线程簇占用的临时寄存器的物理地址的对应关系,以及所述临时寄存器的个数m,确定所述m个临时寄存器的物理地址,包括:

4.如权利要求3所述的方法,其特征在于,所述根据所述第二线程簇的标识和所述第二线程簇占用的临时寄存器的物理地址的对应关系,和所述n个临时寄存器的物理地址,确定基准地址,包括:

5.如权利要求1所述的方法,其特征在于,所述第二线程簇为一个或多个,任一个线程簇占用的临时寄存器的个数基于所述线程簇写入的数据大小和所述临时寄存器能够承载的数据量的大小确定。

6.如权利要求1所述的方法,...

【专利技术属性】
技术研发人员:请求不公布姓名
申请(专利权)人:北京壁仞科技开发有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1