CN115861030B - 图形处理器及其系统变量生成方法、介质 - Google Patents

图形处理器及其系统变量生成方法、介质 Download PDF

Info

Publication number
CN115861030B
CN115861030B CN202310082679.2A CN202310082679A CN115861030B CN 115861030 B CN115861030 B CN 115861030B CN 202310082679 A CN202310082679 A CN 202310082679A CN 115861030 B CN115861030 B CN 115861030B
Authority
CN
China
Prior art keywords
global
target
local
grid
coordinate value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310082679.2A
Other languages
English (en)
Other versions
CN115861030A (zh
Inventor
孙超
朱康挺
阙恒
孙鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Li Computing Technology Shanghai Co ltd
Original Assignee
Li Computing Technology Shanghai Co ltd
Nanjing Lisuan Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Li Computing Technology Shanghai Co ltd, Nanjing Lisuan Technology Co ltd filed Critical Li Computing Technology Shanghai Co ltd
Priority to CN202310082679.2A priority Critical patent/CN115861030B/zh
Publication of CN115861030A publication Critical patent/CN115861030A/zh
Application granted granted Critical
Publication of CN115861030B publication Critical patent/CN115861030B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Image Generation (AREA)

Abstract

一种图形处理器及其系统变量生成方法、介质,所述方法包括:存储基准通道对应数据的系统变量基准值;所述系统变量基准值包括本地基准标识以及全局基准标识;获取基准通道对应数据的所述本地基准标识以及所述全局基准标识;基于所述本地基准标识及所述全局基准标识,生成目标通道对应数据的本地目标标识以及全局目标标识。采用上述方案,在管理系统变量的过程中,所需占用片内资源较少,且系统性能较高。

Description

图形处理器及其系统变量生成方法、介质
技术领域
本发明涉及图形处理器技术领域,尤其涉及一种图形处理器及其系统变量生成方法、介质。
背景技术
随着人工智能(Artificial Intelligence,AI)的广泛应用,图形处理器(Graphics Processing Unit,GPU)的并行计算的潜力也被充分挖掘。以OpenCL、通用并行计算架构(Compute Unified Device Architecture,CUDA)为代表的软件生态使得大规模并行计算程序的开发变得更加容易,同时对GPU硬件的要求也越来越高。
在大规模并行计算程序的开发过程中,定义了大量的诸如组标识(group id)、全局标识(global id)、本地标识(local id)等需要GPU生成并管理的系统变量,用以标识并索引并行计算中的某一个组、线程组及线程。
GPU在运行过程中,管理并维护上述的系统变量通常采用如下两种方案:1、直接将系统变量保存在片内存储上;2,使用少量的片内存储保存基本数据,使用额外的指令计算获取所需的数据。上述两种方案中,方案1需要占用较多的片内存储,单片内存储的资源非常宝贵;方案2需要使用额外的指令计算得到所需的数据,会影响系统性能。
发明内容
本发明实施例解决的是在管理系统变量的过程中,需要占用较多的片内资源,系统性能较差的技术问题。
为解决上述技术问题,本发明实施例提供一种图形处理器的系统变量生成方法,包括:存储基准通道对应数据的系统变量基准值;所述系统变量基准值包括本地基准标识以及全局基准标识;获取所述基准通道对应数据的所述本地基准标识以及所述全局基准标识;基于所述本地基准标识及所述全局基准标识,生成目标通道对应数据的本地目标标识以及全局目标标识。
可选的,所述基于所述本地基准标识及所述全局基准标识,生成目标通道对应数据的本地目标标识以及全局目标标识,包括:获取网格模式;根据所述网格模式、所述本地基准标识及所述全局基准标识,生成目标通道对应数据的本地目标标识以及全局目标标识。
可选的,所述网格模式选自第一网格模式和第二网格模式;所述第一网格模式对应的网格长度为线程组中通道数目的整数倍;所述第二网格模式对应的网格长度不等于所述线程组中通道数目的整数倍,且所述第二网格模式对应的网格长度与网格宽度的乘积不等于所述线程组中的通道数目的整数倍。
可选的,所述网格模式为所述第一网格模式;所述根据所述网格模式以及所述本地基准标识及所述全局基准标识,生成目标通道对应数据的本地目标标识以及全局目标标识,包括:所述目标通道对应数据的本地目标x轴坐标值为:所述目标通道的标识信息与所述本地基准标识中的本地基准x轴坐标值进行或运算得到的结果,或者,所述目标通道的标识信息与所述本地基准x轴坐标值进行加法运算得到的结果;将所述本地基准标识中的基准y轴坐标值作为本地目标y轴坐标值;所述目标通道对应数据的全局目标x轴坐标值为:所述目标通道的标识信息与所述全局基准x轴坐标值进行或运算得到的结果,或者,所述目标通道的标识信息与所述全局基准x轴坐标值进行加法运算得到的结果;将所述全局基准标识中的全局基准y轴坐标值作为全局目标y轴坐标值。
可选的,所述网格模式为第二网格模式,所述根据所述网格模式以及所述本地基准标识及所述全局基准标识,生成目标通道对应数据的本地目标标识以及全局目标标识,包括:根据预设的偏移量映射表,获取与所述目标通道的标识信息对应的本地x轴坐标值偏移量以及本地y轴坐标值偏移量;将所述本地x轴坐标值偏移量与本地基准x轴坐标值之和,作为所述目标通道对应数据的本地目标x轴坐标值;将所述本地y轴坐标值偏移量与本地基准y轴坐标值之和,作为所述目标通道对应数据的本地目标y轴坐标值;根据所述偏移量映射表,获取与所述目标通道对应数据的标识信息对应的全局x轴坐标值偏移量以及全局y轴坐标值偏移量;将所述全局x轴坐标值偏移量与全局基准x轴坐标值之和,作为所述目标通道对应数据的全局目标x轴坐标值;将所述全局y轴坐标值偏移量与全局基准y轴坐标值之和,作为所述目标通道对应数据的全局目标y轴坐标值。
可选的,所述图形处理器的系统变量生成方法还包括:若网格的长度和/或宽度与线程组中的通道数目无关,选取所述第一网格模式或所述第二网格模式对所述网格进行模式划分。
可选的,所述选取所述第一网格模式或所述第二网格模式对所述网格进行模式划分,包括:采用所述第一网格模式对所述网格进行模式试划分,并基于试划分结果确定所述网格内定义的计算任务所需的线程组数目;采用所述第二网格模式对所述网格进行模式试划分,并基于试划分结果确定所述网格内定义的计算任务所需的线程组数目;选取所需的线程组数目最少的网格模式,对所述网格进行模式划分。
可选的,所述目标通道与所述基准通道为同一线程组中的通道。
本发明实施例还提供了一种图形处理器,包括:存储单元,用于存储基准通道对应数据的系统变量基准值;所述系统变量基准值包括本地基准标识以及全局基准标识;获取单元,用于获取所述基准通道对应数据的所述本地基准标识以及所述全局基准标识;生成单元,用于基于所述本地基准标识及所述全局基准标识,生成目标通道对应数据的本地目标标识以及全局目标标识。
可选的,所述生成单元,用于获取网格模式;根据所述网格模式、所述本地基准标识及所述全局基准标识,生成目标通道对应数据的本地目标标识以及全局目标标识。
可选的,所述网格模式选自第一网格模式和第二网格模式;所述第一网格模式对应的网格长度为线程组中通道数目的整数倍;所述第二网格模式对应的网格长度不等于所述线程组中通道数目的整数倍,且所述第二网格模式对应的网格长度与网格宽度的乘积不等于所述线程组中的通道数目的整数倍。
可选的,所述网格模式为所述第一网格模式时,所述生成单元,生成的所述目标通道对应数据的本地目标x轴坐标值为:所述目标通道的标识信息与所述本地基准标识中的本地基准x轴坐标值进行或运算得到的结果,或者,所述目标通道的标识信息与所述本地基准x轴坐标值进行加法运算得到的结果;将所述本地基准标识中的基准y轴坐标值作为本地目标y轴坐标值;所述目标通道对应数据的全局目标x轴坐标值为:所述目标通道的标识信息与所述全局基准x轴坐标值进行或运算得到的结果,或者,所述目标通道的标识信息与所述全局基准x轴坐标值进行加法运算得到的结果;将所述全局基准标识中的全局基准y轴坐标值作为全局目标y轴坐标值。
可选的,所述网格模式为所述第二网格模式时,所述生成单元,用于根据预设的偏移量映射表,获取与所述目标通道的标识信息对应的本地x轴坐标值偏移量以及本地y轴坐标值偏移量;将所述本地x轴坐标值偏移量与本地基准x轴坐标值之和,作为所述目标通道对应数据的本地目标x轴坐标值;将所述本地y轴坐标值偏移量与本地基准y轴坐标值之和,作为所述目标通道对应数据的本地目标y轴坐标值;根据所述偏移量映射表,获取与所述目标通道对应数据的标识信息对应的全局x轴坐标值偏移量以及全局y轴坐标值偏移量;将所述全局x轴坐标值偏移量与全局基准x轴坐标值之和,作为所述目标通道对应数据的全局目标x轴坐标值;将所述全局y轴坐标值偏移量与全局基准y轴坐标值之和,作为所述目标通道对应数据的全局目标y轴坐标值。
可选的,所述图形处理器还包括:模式划分单元,用于在网格的长度和/或宽度与线程组中的通道数目无关时,选取所述第一网格模式或所述第二网格模式对所述网格进行模式划分。
可选的,所述模式划分单元,用于采用所述第一网格模式对所述网格进行模式试划分,并基于试划分结果确定所述网格内定义的计算任务所需的线程组数目;采用所述第二网格模式对所述网格进行模式试划分,并基于试划分结果确定所述网格内定义的计算任务所需的线程组数目;选取所需的线程组数目最少的网格模式,对所述网格进行模式划分。
可选的,所述目标通道与所述基准通道为同一线程组中的通道。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述任一种所述的系统变量生成方法的步骤。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
存储基准通道对应数据的系统变量基准值,系统变量基准值包括本地基准标识以及全局基准标识。基于本地基准标识以及全局基准标识,生成目标通道对应数据的本地目标标识以及全局目标标识。由此,只需要存储基准通道对应的本地基准标识以及全局基准标识即可,故能够有效减少需要存储的系统变量,且无需通过额外的指令指示计算所需的数据,提高系统性能。
附图说明
图1是本发明实施例中的一种系统变量生成方法的流程图;
图2是本发明实施例中的一种第一网格模式的通道分布示意图;
图3是本发明实施例中的一种第二网格模式的通道分布示意图;
图4是本发明实施例中的一种图形处理器的结构示意图。
具体实施方式
如背景技术中所述,GPU在运行过程中,管理并维护上述的系统变量通常采用的两种方案中,方案1需要占用较多宝贵的片内资源,方案2需要采用额外的指令计算以得到所需的数据,会影响GPU的系统性能。
而在本发明实施例中,存储基准通道对应数据的系统变量基准值,系统变量基准值包括本地基准标识以及全局基准标识。基于本地基准标识以及全局基准标识,生成目标通道对应数据的本地目标标识以及全局目标标识。由此,只需要存储基准通道对应的本地基准标识以及全局基准标识即可,故能够有效减少需要存储的系统变量,且无需通过额外的指令指示计算所需的数据,提高系统性能。
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
本发明实施例提供了一种图形处理器的系统变量生成方法,参照图1,以下通过具体步骤进行详细说明。
步骤100,存储基准通道对应数据的系统变量基准值。
在本发明实施例中,系统变量基准值包括本地基准标识以及全局基准标识。
步骤101,获取基准通道对应数据的本地基准标识以及全局基准标识。
在具体实施中,在GPU并行计算过程中,通常以网格(grid)的格式来分割并管理需要并行计算的任务。分割得到的每一个网格对应的数据块可以三维(xyz)的方式表示。
在GPU内部,线程组(warp)是最基本的调度单元。一个线程组可以包括2n个真实的运算单元,每个运算单元称之为一条通道(lane)。网格中定位的计算任务最终会被分配到线程组中的通道执行。
如本发明一实施例,一个线程组包括64条通道。如本发明另一实施例,一个线程组包括32条通道。
在本发明实施例中,可以针对每一个线程组,选择一条通道作为该线程组对应的基准通道。或者,也可以对应于多个线程组,选择某一个线程组中的一条通道作为上述多个线程组对应的基准通道。
在确定了基准通道之后,即可获取该基准通道对应数据的本地标识(local id),作为本地基准标识;获取该基准通道对应数据的全局标识(global id),作为全局基准标识。
在本发明实施例中,基准通道对应数据的本地标识以及全局标识,实质上用于表征该数据在数据块中所处的位置。在具体应用中,基准通道对应数据的本地标识以及全局标识可以坐标值的形式呈现。
在具体实施中,基准通道对应数据的本地基准标识,实质上可以视为基准通道对应数据在数据块中的本地坐标值,也即本地基准坐标值;基准通道对应数据的全局基准标识,实质上可以视为基准通道对应数据在数据块中的全局坐标值,也即全局基准坐标值。
在本发明实施例中,基准通道对应数据的本地基准坐标值与全局基准坐标值均可以为二维坐标值,或者均可以为三维坐标值。本地基准坐标值与全局基准坐标值的维度可以与网格的维度相同。
换言之,若网格的维度为二维,则本地基准坐标值与全局基准坐标值均为二维坐标值;若网格的维度为三维,则本地基准坐标值与全局基准坐标值均为三维坐标值。
例如,本地基准坐标值为(x0,y0,z0),全局基准坐标值为(X0,Y0,Z0)。又如,本地基准坐标值为(x0,y0),全局基准坐标值为(X0,Y0)。
步骤102,基于本地基准标识以及全局基准标识,生成目标通道对应数据的本地目标标识以及全局目标标识。
在本发明实施例中,可以根据基准通道对应数据的本地基准标识以及全局基准标识,生成目标通道对应数据的本地标识以及全局标识。
在本发明实施例中,基准通道与目的通道可以为同一目的线程组中的通道。换言之,基准通道与目标通道属于同一线程组。
基准通道与目标通道也可以为不同线程组中的通道。换言之,基准通道与目标通道可以属于不同的线程组。
在本发明下述实施例中,目标通道对应数据的本地标识简称为本地目标标识,目标通道对应数据的全局标识简称为全局目标标识。
在具体实施中,本地目标标识与全局目标标识,可以用于表征目标通道对应数据在数据块中所处的位置。在具体应用中,本地目标标识以及全局目标标识可以坐标值的形式呈现。此时,本地目标标识即为本地目标坐标值,全局目标标识即为全局目标坐标值。
本地目标坐标值与全局目标坐标值均可以为二维坐标值,或者均可以为三维坐标值。本地目标坐标值与全局目标坐标值的维度可以与网格的维度相同。
换言之,若网格的维度为二维,则本地目标坐标值与全局目标坐标值均为二维坐标值;若网格的维度为三维,则本地目标坐标值与全局目标坐标值均为三维坐标值。
具体地,若分割得到的网格为三维数据块,则本地基准坐标值以三维形式呈现,分别为本地基准x轴坐标值、本地基准y轴坐标值以及本地基准z轴坐标值;本地目标坐标值以三维形式呈现,分别为本地目标x轴坐标值、本地目标y轴坐标值以及本地目标z轴坐标值。
相应地,若分割得到的网格为二维数据块,则本地基准坐标值以二维形式呈现,分别为本地基准x轴坐标值、本地基准y轴坐标值;本地目标坐标值以二维形式呈现,分别为本地目标x轴坐标值、本地目标y轴坐标值。
在本发明实施例中,网格模式可以包括第一网格模式以及第二网格模式。具体地,第一网格模式对应的网格长度可以为线程组中通道数目的整数倍。第二网格模式对应的网格长度不等于线程组中通道数目的整数倍,且第二网格模式对应的网格长度与网格宽度的乘积等于线程组中的通道数目的整数倍。
例如,线程组包括64条通道。对于第一网格模式,其对应的网格长度为64条通道。又如,第一网格模式对应的网格长度为128条通道。
对于第二网格模式,网格长度为8条通道,网格宽度为8条通道,共计64条通道。又如,对于第二网格模式,网格长度为32条通道,网格宽度为8条通道。
参照图2,给出了本发明实施例中的一种第一网格模式的通道分布示意图。参照图3,给出了本发明实施例中的一种第二网格模式的通道分布示意图。
图2中,第一网格模式对应的网格长度为64条通道,也即X轴方向上的数据由64条通道执行。第一网格模式对应的网格宽度为4条通道,如Y轴方向所示。图2中的网格对应4个线程组。
图3中,第二网格模式对应的网格长度为8条通道,也即X轴方向上的数据由8条通道执行。第二网格模式对应的网格宽度为8条通道,如Y轴方向所示。图3中的网格对应4个线程组。图2及图3中,表格对应的数字为通道的编号。
在本发明实施例中,网格模式为第一网格模式时,目标通道与基准通道属于同一线程组:
若目标通道对应数据以三维形式呈现,则:
目标通道对应数据的本地目标x轴坐标值为:目标通道的标识信息与本地基准x轴坐标值进行或运算得到的结果,或者,目标通道的标识信息与本地基准x轴坐标值进行加法运算得到的结果;目标通道对应数据的本地目标y轴坐标值为:基准通道对应数据的本地基准y轴坐标值;目标通道对应的本地目标z轴坐标值为:基准通道对应数据的本地基准z轴坐标值。
目标通道对应数据的全局目标x轴坐标值为:目标通道的标识信息与全局基准x轴坐标值进行或运算得到的结果,或者,目标通道的标识信息与全局基准x轴坐标值进行加法运算得到的结果;目标通道对应数据的全局目标y轴坐标值为:基准通道对应数据的全局基准y轴坐标值;目标通道对应的全局目标z轴坐标值为:基准通道对应数据的全局基准z轴坐标值。
若目标通道对应数据以二维形式呈现,则:
目标通道对应数据的本地目标x轴坐标值为:目标通道的标识信息与本地基准x轴坐标值进行或运算得到的结果,或者,目标通道的标识信息与本地基准x轴坐标值进行加法运算得到的结果;目标通道对应数据的本地目标y轴坐标值为:基准通道对应数据的本地基准y轴坐标值。
目标通道对应数据的全局目标x轴坐标值为:目标通道的标识信息与本地基准x轴坐标值进行或运算得到的结果,或者,目标通道的标识信息与本地基准x轴坐标值进行加法运算得到的结果;目标通道对应数据的全局目标y轴坐标值为:基准通道对应数据的全局基准y轴坐标值。
下面以第一网格模式对应的网格长度为64条通道,网格宽度为2条通道,网格高度为3条通道为例进行说明。
基准通道为线程组中的第一条通道。基准通道对应数据的本地基准x轴坐标值为64,本地基准y轴坐标值为2,本地基准z轴坐标值为3。则目标通道对应数据的基准目标x轴坐标值为x=64|lane id,此处的lane id即为目标通道对应的标识(如目标通道对应的编号),也即将64与该目标通道对应的编号(如上述图2或图3中所示的0~63,即为通道对应的编号)进行或运算;目标通道对应数据的本地目标y轴坐标值为2,目标通道对应数据的本地目标z轴坐标值为3。
基准通道对应数据的全局基准x轴坐标值为128,全局基准y轴坐标值为3,全局基准z轴坐标值为3。则目标通道对应数据的全局目标x轴坐标值为x=128|lane id,也即将128与该目标通道对应的编号进行或运算;目标通道对应数据的全局目标y轴坐标值为3,目标通道对应数据的全局目标z轴坐标值为3。
对于第二网格模式,可以预先设置偏移量映射表,偏移量映射表可以包括本地偏移量映射表以及全局偏移量映射表。根据目标通道的标识信息(如目标通道的编号),从偏移量映射表中查找目标通道对应的本地x轴坐标值偏移量以及本地y轴坐标值偏移量、本地z轴坐标值偏移量;将基准通道对应的本地基准x轴坐标值与本地x轴坐标值偏移量相加,得到的和值即为本地目标x轴坐标值;将基准通道对应的本地基准y轴坐标值与本地y轴坐标值偏移量相加,得到的和值即为本地目标y轴坐标值;将基准通道对应的本地基准z轴坐标值与本地z轴坐标值偏移量相加,得到的和值即为本地目标z轴坐标值。
相应地,根据目标通道的标识信息(如目标通道的编号),从偏移量映射表中查找目标通道对应的全局x轴坐标值偏移量以及全局y轴坐标值偏移量、全局z轴坐标值偏移量;将基准通道对应的全局基准x轴坐标值与全局x轴坐标值偏移量相加,得到的和值即为全局目标x轴坐标值;将基准通道对应的全局基准y轴坐标值与全局y轴坐标值偏移量相加,得到的和值即为全局目标y轴坐标值;将基准通道对应的全局基准z轴坐标值与全局z轴坐标值偏移量相加,得到的和值即为全局目标z轴坐标值。
在同一线程组中,各通道对应的z轴坐标值相等。也就是说,对于目标通道的z轴坐标值,与基准通道的z轴坐标值相等,故无需进行相应偏移计算即可直接获取。
在具体实施中,可能还存在如下场景:分割出的网格大小既不属于第一网格模式,也不属于第二网格模式。继续以上述示例中线程组包括64条通道为例,分割出的网格的大小为100×100×2,也即网格的长度为100个数据,宽度为100个数据,高度为2个数据。可见,分割出的网格的模式既不属于第一网格模式,也不属于第二网格模式。下述将既不属于第一网格模式又不属于第二网格模式的网格模式统称为其他网格模式。
在本发明实施例中,针对其他网格模式,可以将其进行二次划分,也即先按照第一网格模式及第二网格模式,重新对其他网格模式进行试划分;根据试划分所需启动的线程组总数,确定将其他网格模式划分为第一网格模式,还是划分为第二网格模式。
在具体实施中,可以采用第一网格模式对网格进行模式试划分,基于试划分结果确定网格内定义的计算任务所需的线程组数目;采用第二网络模式对网格进行模式试划分,基于试划分结果确定网格内定义的计算任务所需的线程组数目。将两次试划分得到的所需的线程组数目进行比较,选取所需的线程组数目较少的网格模式,对网格进行模式划分。
以上述示例,网格的大小为100×100×2。第一网格模式对应的长度为64。
若采用第一网格模式,则每个x方向需要启动2个线程组,第二个线程组中之后前100-64=36条通道有效。总共需要启动2×100×2=400个线程组。
若采用第二网格模式,则每个x方向需要确定13个线程组,最后一个线程组在x方向上仅有100-8×12=4条通道有效。在y方向也需要启动13个线程组最后一个线程组在y方向上仅有100-8×12=4条通道有效。总共需要启动13×13×2=338个线程组。
由此,选择第二网格模式,能够在启动较少线程组的同时,有效减少需要存储的系统变量,且无需通过额外的指令指示计算所需的数据,提高系统性能。
在本发明实施例中,基准通道可以为线程组中的第一条通道或者其他通道。具体地,可以根据实际需要来从线程组对应的所有通道中选择一条通道作为基准通道。例如,选择线程组中的最后一条通道作为基准通道。
本领域技术人员能够理解,选取的基准通道不同,仅会对目标通道对应数据的本地目标标识(如上述实施例中的本地目标坐标值)和全局目标标识(如上述实施例中的全局目标坐标值)的具体计算方式产生影响,而不会对本发明实施例的方案产生影响。
综上可见,在本发明实施例中,只需要存储基准通道对应的本地基准标识以及全局基准标识即可,故能够有效减少需要存储的系统变量,且无需通过额外的指令指示计算所需的数据,提高系统性能。
参照图4,给出了本发明实施例还提供了一种图形处理器40,包括:存储单元400、获取单元401以及生成单元402,其中:
存储单元400,用于存储基准通道对应数据的系统变量基准值;所述系统变量基准值包括本地基准标识以及全局基准标识;
获取单元401,用于获取基准通道对应数据的所述本地基准标识以及所述全局基准标识;
生成单元402,用于基于所述本地基准标识及所述全局基准标识,生成目标通道对应数据的本地目标标识以及全局目标标识。
在具体实施中,上述存储单元、获取单元401以及生成单元402的具体执行过程可以对应参照上述步骤100~步骤102,此处不做赘述。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述任一种步骤100~步骤102对应的系统变量生成方法的步骤。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指示相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (8)

1.一种图形处理器的系统变量生成方法,其特征在于,包括:
存储基准通道对应数据的系统变量基准值;所述系统变量基准值包括本地基准标识以及全局基准标识;
获取所述基准通道对应数据的所述本地基准标识以及所述全局基准标识;
基于所述本地基准标识及所述全局基准标识,生成目标通道对应数据的本地目标标识以及全局目标标识,包括:获取网格模式;根据所述网格模式、所述本地基准标识及所述全局基准标识,生成目标通道对应数据的本地目标标识以及全局目标标识;所述网格模式选自第一网格模式和第二网格模式;所述第一网格模式对应的网格长度为线程组中通道数目的整数倍;所述第二网格模式对应的网格长度不等于所述线程组中通道数目的整数倍,且所述第二网格模式对应的网格长度与网格宽度的乘积不等于所述线程组中的通道数目的整数倍。
2.如权利要求1所述的图形处理器的系统变量生成方法,其特征在于,所述网格模式为所述第一网格模式;所述根据所述网格模式以及所述本地基准标识及所述全局基准标识,生成目标通道对应数据的本地目标标识以及全局目标标识,包括:
所述目标通道对应数据的本地目标x轴坐标值为:所述目标通道的标识信息与所述本地基准标识中的本地基准x轴坐标值进行或运算得到的结果,或者,所述目标通道的标识信息与所述本地基准x轴坐标值进行加法运算得到的结果;将所述本地基准标识中的基准y轴坐标值作为本地目标y轴坐标值;
所述目标通道对应数据的全局目标x轴坐标值为:所述目标通道的标识信息与全局基准x轴坐标值进行或运算得到的结果,或者,所述目标通道的标识信息与所述全局基准x轴坐标值进行加法运算得到的结果;将所述全局基准标识中的全局y轴坐标值作为全局目标y轴坐标值。
3.如权利要求1所述的图形处理器的系统变量生成方法,其特征在于,所述网格模式为第二网格模式,所述根据所述网格模式以及所述本地基准标识及所述全局基准标识,生成目标通道对应数据的本地目标标识以及全局目标标识,包括:
根据预设的偏移量映射表,获取与所述目标通道的标识信息对应的本地x轴坐标值偏移量以及本地y轴坐标值偏移量;将所述本地x轴坐标值偏移量与本地基准x轴坐标值之和,作为所述目标通道对应数据的本地目标x轴坐标值;将所述本地y轴坐标值偏移量与本地基准y轴坐标值之和,作为所述目标通道对应数据的本地目标y轴坐标值;
根据所述偏移量映射表,获取与所述目标通道对应数据的标识信息对应的全局x轴坐标值偏移量以及全局y轴坐标值偏移量;将所述全局x轴坐标值偏移量与全局基准x轴坐标值之和,作为所述目标通道对应数据的全局目标x轴坐标值;将所述全局y轴坐标值偏移量与全局基准y轴坐标值之和,作为所述目标通道对应数据的全局目标y轴坐标值。
4.如权利要求1所述的图形处理器的系统变量生成方法,其特征在于,还包括:若网格的长度和/或宽度与线程组中的通道数目无关,选取所述第一网格模式或所述第二网格模式对所述网格进行模式划分。
5.如权利要求4所述的图形处理器的系统变量生成方法,其特征在于,所述选取所述第一网格模式或所述第二网格模式对所述网格进行模式划分,包括:
采用所述第一网格模式对所述网格进行模式试划分,并基于试划分结果确定所述网格内定义的计算任务所需的线程组数目;
采用所述第二网格模式对所述网格进行模式试划分,并基于试划分结果确定所述网格内定义的计算任务所需的线程组数目;
选取所需的线程组数目最少的网格模式,对所述网格进行模式划分。
6.如权利要求1所述的图形处理器的系统变量生成方法,其特征在于,所述目标通道与所述基准通道为同一线程组中的通道。
7.一种图形处理器,其特征在于,包括:
存储单元,用于存储基准通道对应数据的系统变量基准值;所述系统变量基准值包括本地基准标识以及全局基准标识;
获取单元,用于获取所述基准通道对应数据的所述本地基准标识以及所述全局基准标识;
生成单元,用于基于所述本地基准标识及所述全局基准标识,生成目标通道对应数据的本地目标标识以及全局目标标识,包括:获取网格模式;根据所述网格模式、所述本地基准标识及所述全局基准标识,生成目标通道对应数据的本地目标标识以及全局目标标识;所述网格模式选自第一网格模式和第二网格模式;所述第一网格模式对应的网格长度为线程组中通道数目的整数倍;所述第二网格模式对应的网格长度不等于所述线程组中通道数目的整数倍,且所述第二网格模式对应的网格长度与网格宽度的乘积不等于所述线程组中的通道数目的整数倍。
8.一种计算机可读存储介质,所述计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求1~6任一项所述的系统变量生成方法的步骤。
CN202310082679.2A 2023-01-31 2023-01-31 图形处理器及其系统变量生成方法、介质 Active CN115861030B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310082679.2A CN115861030B (zh) 2023-01-31 2023-01-31 图形处理器及其系统变量生成方法、介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310082679.2A CN115861030B (zh) 2023-01-31 2023-01-31 图形处理器及其系统变量生成方法、介质

Publications (2)

Publication Number Publication Date
CN115861030A CN115861030A (zh) 2023-03-28
CN115861030B true CN115861030B (zh) 2023-07-25

Family

ID=85657776

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310082679.2A Active CN115861030B (zh) 2023-01-31 2023-01-31 图形处理器及其系统变量生成方法、介质

Country Status (1)

Country Link
CN (1) CN115861030B (zh)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9558718B2 (en) * 2014-09-03 2017-01-31 Qualcomm Incorporated Streaming video data in the graphics domain
JP2018085575A (ja) * 2016-11-21 2018-05-31 カシオ計算機株式会社 画像処理装置、解析システム、画像処理方法及びプログラム
CN111354070B (zh) * 2018-12-24 2023-06-27 上海仁静信息技术有限公司 一种立体图形生成方法、装置、电子设备及存储介质
CN113051212B (zh) * 2021-03-02 2023-12-05 长沙景嘉微电子股份有限公司 图形处理器、数据传输方法、装置、电子设备和存储介质
CN113076159B (zh) * 2021-03-26 2024-02-27 西安万像电子科技有限公司 图像显示方法和装置、存储介质及电子设备
CN113867971B (zh) * 2021-12-03 2022-03-15 北京壁仞科技开发有限公司 访问图形处理器的内存的方法、设备、系统和存储介质
CN114880730A (zh) * 2022-06-07 2022-08-09 阳光电源股份有限公司 确定目标设备的方法、装置及光伏系统

Also Published As

Publication number Publication date
CN115861030A (zh) 2023-03-28

Similar Documents

Publication Publication Date Title
Hong et al. MultiGraph: Efficient graph processing on GPUs
CN104036537A (zh) 多分辨率一致光栅化
Martín et al. Algorithmic strategies for optimizing the parallel reduction primitive in CUDA
US20140257769A1 (en) Parallel algorithm for molecular dynamics simulation
Nugteren et al. The boat hull model: enabling performance prediction for parallel computing prior to code development
JP6937759B2 (ja) データベース操作方法及び装置
CN102810133B (zh) 网络游戏中的射线查询方法和场景服务器
CN115861030B (zh) 图形处理器及其系统变量生成方法、介质
Xiong et al. Efficient Deformable ConvNets: Rethinking Dynamic and Sparse Operator for Vision Applications
CN109522127B (zh) 一种基于gpu的流体机械仿真程序异构加速方法
JP2013235512A (ja) 数理計画問題を解くための装置、プログラムおよび方法
Wei et al. Mapping the simulated annealing algorithm onto CUDA GPUs
Kim et al. Optimizing seam carving on multi-GPU systems for real-time content-aware image resizing
CN109408148A (zh) 一种国产化计算平台及其应用加速方法
CN110969565A (zh) 图像处理的方法和装置
CN108062249A (zh) 基于大数据的云端数据分配调度方法
CN108599173B (zh) 一种批量潮流的求解方法及装置
Ruiz de Miras Fast differential box-counting algorithm on GPU
CN104111868A (zh) 一种推测多线程调度方法及装置
Widerspick et al. Latency measurements for an emulation platform on autonomous driving platform nvidia drive px2
KR20210080749A (ko) 공간 조인 수행 방법 및 장치
Jeannot Process mapping on any topology with TopoMatch
El Zein et al. From sparse matrix to optimal gpu cuda sparse matrix vector product implementation
CN105302577B (zh) 驱动执行单元的机器码产生方法以及装置
CN113350800B (zh) 基于云计算的物理引擎数据处理系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240521

Address after: 201207 Pudong New Area, Shanghai, China (Shanghai) free trade trial area, No. 3, 1 1, Fang Chun road.

Patentee after: Li Computing Technology (Shanghai) Co.,Ltd.

Country or region after: China

Address before: Room 2794, Hatching Building, No. 99 Tuanjie Road, Nanjing Area, Nanjing (Jiangsu) Pilot Free Trade Zone, Jiangsu Province, 210031

Patentee before: Nanjing Lisuan Technology Co.,Ltd.

Country or region before: China

Patentee before: Li Computing Technology (Shanghai) Co.,Ltd.