线程簇的资源分配方法、装置、芯片及电子设备制造方法及图纸

技术编号:37501900 阅读:19 留言:0更新日期:2023-05-07 09:38
本发明专利技术实施例提供了一种线程簇的资源分配方法、装置、芯片及电子设备,所述线程簇的资源分配方法,适用于着色器资源管理器,包括:获取线程簇;将线程簇划分为多个线程池;从多个关联着色器处理单元组中确定为所述多个线程池分配资源的目标关联着色器处理单元组;其中,一个所述关联着色器处理单元组包括适于相互读写数据的多个关联着色器处理单元;为所述多个线程池分配所述目标关联着色器处理单元组中的资源。本申请实施例可以优化为线程簇分配资源的方式,以降低内核程序执行过程中数据读写的延时,进而缩短内核程序的完成时间。进而缩短内核程序的完成时间。进而缩短内核程序的完成时间。

【技术实现步骤摘要】
线程簇的资源分配方法、装置、芯片及电子设备


[0001]本专利技术实施例涉及计算机处理
,具体涉及一种线程簇的资源分配方法、装置、芯片及电子设备。

技术介绍

[0002]GPU(Graphics Processing Unit,图形处理器)芯片是终端、服务器等计算机设备中用于图像处理和运算的处理器芯片。GPU芯片中可以设置SPU(Shader Processing Unit,着色器处理单元),用于执行GPU内核程序。
[0003]GPU的内核程序可以按照TC(Thread Cluster,线程簇)下发给SPU,此时需要为TC分配SPU的资源。在此背景下,如何优化为TC分配资源的方式,以降低内核程序执行过程中数据读写的延时,进而缩短内核程序的完成时间,成为了本领域技术人员亟需解决的技术问题。

技术实现思路

[0004]有鉴于此,本专利技术实施例提供一种线程簇的资源分配方法、装置、芯片及电子设备,以降低内核程序执行过程中数据读写的延时,缩短内核程序的完成时间。
[0005]为实现上述目的,本专利技术实施例提供如下技术方案。
[0006]第一方面,本申请实施例提供一种线程簇的资源分配方法,适用于着色器资源管理器,包括:
[0007]获取线程簇;
[0008]将线程簇划分为多个线程池;
[0009]从多个关联着色器处理单元组中确定为所述多个线程池分配资源的目标关联着色器处理单元组;其中,一个所述关联着色器处理单元组包括适于相互读写数据的多个关联着色器处理单元;
[0010]为所述多个线程池分配所述目标关联着色器处理单元组中的资源。
[0011]第二方面,本申请实施例提供一种线程簇的资源分配装置,包括:
[0012]线程簇获取模块,用于获取线程簇;
[0013]划分模块,用于将线程簇划分为多个线程池;
[0014]目标确定模块,用于从多个关联着色器处理单元组中确定为所述多个线程池分配资源的目标关联着色器处理单元组;其中,一个关联着色器处理单元组包括适于相互读写数据的多个关联着色器处理单元;
[0015]分配模块,用于为所述多个线程池分配所述目标关联着色器处理单元组中的资源。
[0016]第三方面,本申请实施例提供一种芯片,包括指令接口模块、关联着色器处理单元组和着色器资源管理器,所述指令接口模块接收处理器发送的线程簇,并转发给所述着色器资源管理器,所述着色器资源管理器适于执行第一方面所述的线程簇的资源分配方法。
[0017]第四方面,本申请实施例提供一种电子设备,包括第三方面所述的芯片。
[0018]为解决上述问题,本专利技术实施例提供一种线程簇的资源分配方法,适用于着色器资源管理器,该方法包括:获取线程簇;将线程簇划分为多个线程池;从多个关联着色器处理单元组中确定为所述多个线程池分配资源的目标关联着色器处理单元组;其中,一个所述关联着色器处理单元组包括适于相互读写数据的多个关联着色器处理单元;为所述多个线程池分配所述目标关联着色器处理单元组中的资源。
[0019]在本申请实施例中,目标关联着色器单元组中各关联着色器处理单元的资源可以分配给由同一线程簇划分得到的多个线程池,由于各线程池属于同一线程簇,并且关联着色器处理单元能够相互读写数据,因此位于不同着色器处理单元的线程池可以通过着色器处理单元进行交互,从而降低了内核程序执行过程中数据读写的延时,提高了数据整体的读写效率,进而缩短了内核程序的完成时间。
附图说明
[0020]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0021]图1为本申请实施例提供的线程簇资源分配方法的一流程示意图;
[0022]图2为本申请实施例提供的关联着色器处理单元的结构示意图;
[0023]图3为本申请实施例提供的资源分配方法的流程示意图;
[0024]图4为本申请实施例提供的确定关联着色器处理单元的一流程图;
[0025]图5为本申请实施例提供的目标关联着色器处理单元组的确定方法流程图;
[0026]图6为本申请实施例提供的初始掩码矩阵的示意图;
[0027]图7为本申请实施例提供的获取目标掩码矩阵的一方法流程图;
[0028]图8为本申请实施例提供的扩建掩码表获取方法的流程图;
[0029]图9为本申请实施例提供的资源释放的流程示意图;
[0030]图10为本申请实施例提供的线程簇的资源分配装置的框图;
[0031]图11为本申请实施例提供的芯片的框图。
具体实施方式
[0032]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0033]计算机在处理线程时,指令接口模块(Command Interface,CI)会发送线程簇至着色器资源管理器(Shader Resource Manager,SRM)。着色器资源管理器拆分线程簇得到多个线程池(Thread Pool,TP),确定满足线程池的资源需求的着色器处理单元并分配资源给各线程池。最后将分配结果存储在片上存储器中并通知着色器控制单元(Shader Control Unit,SCU)分配完成。着色器控制单元从内存中对该线程池的内核程序进行取指和解码,将
解码结果根据片上存储器中记载的分配信息发送给指定的着色器处理单元进行执行。
[0034]其中,所述资源包括向量寄存器(Vector Register,VR)、标量寄存器(Scalar Register,SR)和共享内存,所述共享内存位于着色器处理单元中,所述向量寄存器和标量寄存器位于着色器处理单元中的向量处理单元(Vector Execution Unit,VEU)中。
[0035]属于同一线程簇的线程池之间的沟通较快,而不同线程簇的线程池之间的沟通较慢,这是因为同一线程簇的线程池会被分配同一着色器处理单元的资源,从而可以通过着色器处理单元内部的沟通机制进行沟通,而不同线程簇的线程池会被分配到不同着色器处理单元中,从而需要利用内存进行沟通,通过内存的沟通涉及到处理器(CPU或GPU等)与内存的数据交互,因此花费时间较大。
[0036]为了优化为TC分配资源的方式,以降低内核程序执行过程中数据读写的延时,进而缩短内核程序的完成时间,本申请实施例提供一种线程簇的资源分配方法,适用于着色器资源管理器。请参考图1,图1为本申请实施例所提供的线程簇资源分配方法的一流程示意图。
[0037]如图所示,本申请实施例所提供的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种线程簇的资源分配方法,其特征在于,适用于着色器资源管理器,包括:获取线程簇;将线程簇划分为多个线程池;从多个关联着色器处理单元组中确定为所述多个线程池分配资源的目标关联着色器处理单元组;其中,一个关联着色器处理单元组包括适于相互读写数据的多个关联着色器处理单元;为所述多个线程池分配所述目标关联着色器处理单元组中的资源。2.如权利要求1所述的线程簇的资源分配方法,其特征在于,所述将线程簇划分为多个线程池,包括:将所述线程簇划分为大于第一数量的多个线程池,所述第一数量为单个着色器处理单元所容纳的线程池上限数量。3.如权利要求1所述的线程簇的资源分配方法,其特征在于,所述一个关联着色器处理单元组中的多个关联着色器处理单元,通过共享内存相互读写数据。4.如权利要求1所述的线程簇的资源分配方法,其特征在于,所述从多个关联着色器处理单元组中确定为所述多个线程池分配资源的目标关联着色器处理单元组,包括:从所述多个关联着色器处理单元组中,确定可分配的线程簇标识充足的各个关联着色器处理单元组为预分配关联着色器处理单元组;其中,同一线程簇划分的线程池适于分配相同的线程簇标识,不同线程簇划分的线程池适于分配不同的线程簇标识;从所述预分配关联着色器处理单元组中,确定为所述多个线程池分配资源的所述目标关联着色器处理单元组。5.如权利要求4所述的线程簇的资源分配方法,其特征在于,所述从所述多个关联着色器处理单元组中,确定可分配的线程簇标识充足的各个关联着色器处理单元组为预分配关联着色器处理单元组,包括:根据目标掩码矩阵包括的各目标掩码表中线程簇标识的可分配情况,确定可分配的线程簇标识充足的关联着色器处理单元组为预分配关联着色器处理单元组;其中,所述目标掩码表与所述关联着色器处理单元一一对应,表示对应关联着色器处理单元中线程簇标识的可分配情况。6.如权利要求5所述的线程簇的资源分配方法,其特征在于,还包括:获取目标掩码矩阵;所述获取目标掩码矩阵包括:获取初始掩码矩阵,所述初始掩码矩阵包括多个初始掩码表,所述初始掩码表与所述着色器处理单元一一对应,表示对应着色器处理单元中线程簇标识的分配情况,其中所述线程簇标识与所述初始掩码表中的比特位一一对应;将关联着色器处理单元组内的各关联着色器处理单元对应的各初始掩码表相互间进行按位与操作,得到临时掩码表,所述临时掩码表与关联着色器处理单元组一一对应,所有临时掩码表组成临时掩码矩阵;根据所述临时掩码表得到扩建掩码表,所述扩建掩码表和所述临时掩码表形成目标掩码表,所述目标掩码表的个数与所述初始掩码表的个数相同,所有目标掩码表形成目标掩码矩阵。
7.如权利要求6所述的线程簇的资源分配方法,其特征在于,所述根据所述临时掩码表得到扩建掩码表,包括:当所述临时掩码表表示对应着色器处理单元中有可分配的线程簇标识时,根据所述临时掩码表得到所有比特位都表示对应线程簇标识可分配的扩建掩码表;当所述临时掩码表表示对应着色器处理单元中没有可分配的线程簇标识时,根据所述临时掩码表得到所有比特位都表示对应线程簇标识不可分配的扩建掩码表。8.如权利要求4所述的线程簇的资源分配方法,其特征在于,所述为所述多个线程池分配所述目标关联着色器处理单元组中的资源,包括:为所述多个线程池分配所述目标关联着色器处理单元组中的相同线程簇标识。9.如权利要求1

7任一项所述的线程簇的资源分配方法,其特征在于,所述为所述多个线程池分配所述目标关联着色器处理单元组中的资源,包括:检测所述多个线程池中已分配资源的线程池在所述多个线程池中的比例;当所述比例达到预设阈值时,为未分配资源的线程池更换分配资源的关联着色器处理单元。10.如权利要求8所述的线程簇的资源分配方法,其特征在于,还包括:当所述多个线程池都执行完毕时,同时释放所述目标关联着色器处理单元组中分配给所述多个线程池的全部资源。11.如权利要求10所述的线程簇的资源分配方法,其特征在于,所述当所述多个线程池都执行完毕时,同时释放所述目标关联着色器处理单元组中分配给所述多个线程池的全部资源,包括:接收资源的释放请求,所述资源的释放请求包括线程簇标识,用于请求目标关联着色器处理单元组释放与所述线程簇标识对应的线程池所分配的资源;记录所述线程簇标识对应的释放请求的次数,当所述释放请求的次数与所述目标关联着色器处理单元组中关联着色器处理单...

【专利技术属性】
技术研发人员:王陶然左航
申请(专利权)人:海光信息技术股份有限公司
类型:发明
国别省市:

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

1