【技术实现步骤摘要】
【国外来华专利技术】用于图形处理的每个着色器的前置码
本专利技术涉及数据处理,且更明确地说,涉及用于图形处理的着色器前置码的产生和执行。
技术介绍
单指令多数据(SIMD)处理系统是包含在多个数据段上执行相同指令的多个处理元件的一种类型的并行计算系统。SIMD系统可以是独立计算机或计算系统的子系统。举例来说,一或多个SIMD执行单元可用于图形处理单元(GPU)中以实施支持可编程着色的可编程着色单元。SIMD处理系统允许程序的多个执行线程以用并行方式在多个处理元件上同步执行,由此增加需要在多个数据段上执行相同集合的操作的程序的处理量。在特定SIMD处理元件上执行的特定指令被称作线程或纤程。线程的群组可被称作波或线程束。例如GPU的处理单元包含处理元件和存储数据以用于指令的执行的通用寄存器(GPR)。在一些实例中,处理元件执行用于处理一项数据的指令,并且相应的处理元件在GPR中存储这项数据或者来自处理的所述项的所得数据。数据项可以是发生处理的基本单位。举例来说,在图形处理中,图元的顶点是项的一个实例,且像素是项的另一实例。存在与每个顶点和像素相关联的图形数据(例如,坐标、色彩值等)。处理元件的处理器核心内可存在多个处理元件,从而允许指令的并行执行(例如,多个处理元件同时执行相同指令)。着色器是可以利用并行处理环境(例如,着色器处理器)且已经用于在图形处理管线的各个阶段在两维和三维模型上执行图形渲染技术的计算机程序。着色器的实例包含:像素(或片段)着色器,其用于计算像素(或片段)的色彩和其它属性;顶点着色器,其用于控制位置、移动、照明和色彩,或顶点;几何着色器,其用于产生图形图元; ...
【技术保护点】
1.一种操作图形处理单元GPU的方法,其包括:通过所述GPU从着色器编译程序接收包括前置码代码块和主要着色器代码块的着色器程序,所述前置码代码块可执行以产生一或多个结果,所述一或多个结果对于执行所述着色器程序的线程的多个群组中的每一个是相同的一或多个结果;通过所述GPU在线程的所述多个群组的线程的第一群组上执行所述前置码代码块以产生所述一或多个结果;通过所述GPU存储所述前置码代码块的所述一或多个结果,所述前置码代码块的所述一或多个结果可由线程的所述多个群组中的每一个存取;以及在确定已经完成存储所述前置码代码块的所述一或多个结果中的所有结果之后,通过所述GPU使用通过执行所述前置码代码块产生的所述一或多个结果执行用于线程的所述多个群组中的线程的一个群组的每个线程的所述主要着色器代码块。
【技术特征摘要】
【国外来华专利技术】2016.05.23 US 15/162,2721.一种操作图形处理单元GPU的方法,其包括:通过所述GPU从着色器编译程序接收包括前置码代码块和主要着色器代码块的着色器程序,所述前置码代码块可执行以产生一或多个结果,所述一或多个结果对于执行所述着色器程序的线程的多个群组中的每一个是相同的一或多个结果;通过所述GPU在线程的所述多个群组的线程的第一群组上执行所述前置码代码块以产生所述一或多个结果;通过所述GPU存储所述前置码代码块的所述一或多个结果,所述前置码代码块的所述一或多个结果可由线程的所述多个群组中的每一个存取;以及在确定已经完成存储所述前置码代码块的所述一或多个结果中的所有结果之后,通过所述GPU使用通过执行所述前置码代码块产生的所述一或多个结果执行用于线程的所述多个群组中的线程的一个群组的每个线程的所述主要着色器代码块。2.根据权利要求1所述的方法,其进一步包括:通过在处理器上运行的所述着色器编译程序识别可执行以产生对于执行所述着色器程序的线程的多个群组中的每一个是相同的一或多个结果的所述一或多个结果的指令的代码块;以及通过在所述处理器上运行的所述着色器编译程序将指令的所述代码块分组到所述着色器程序的所述前置码代码块中。3.根据权利要求2所述的方法,其中所述识别指令的所述代码块包括识别被评估为常数的指令。4.根据权利要求1所述的方法,其进一步包括:基于识别着色器前置码起点指令识别所述前置码代码块。5.根据权利要求1所述的方法,其进一步包括:追踪所述前置码代码块是否已经由允许所述GPU执行线程的所述多个群组的线程的后续群组的线程的所述第一群组执行。6.根据权利要求1所述的方法,其进一步包括:追踪线程的所述多个群组的线程的任何群组是否已经在线程的所述第一群组之前被执行以至少部分确定先前是否已经执行所述前置码代码块。7.根据权利要求1所述的方法,其进一步包括:追踪所述前置码代码块是否已经被执行以至少部分确定是否执行所述前置码代码块。8.根据权利要求1所述的方法,其中所述执行所述前置码代码块是通过在所述GPU上的标量处理器执行的。9.根据权利要求1所述的方法,其中所述存储所述一或多个结果是在可写入缓冲器管理的高速缓冲存储器上。10.根据权利要求1所述的方法,其中所述存储所述一或多个结果可由着色器处理器的所有处理元件存取。11.根据权利要求1所述的方法,其中所述前置码代码块被评估为一或多个常数结果。12.根据权利要求1所述的方法,其进一步包括:通过所述GPU将来自随机存取存储器RAM的所述前置码代码块的所述一或多个结果加载到常数存储器中。13.一种用于处理数据的设备,所述设备包括:图形处理单元GPU,所述GPU包括存储器和着色器核心,所述着色器核心包括控制单元、多个处理元件和常数存储器,其中所述控制单元经配置以进行以下操作:从着色器编译程序接收包括前置码代码块和主要着色器代码块的着色器程序,所述前置码代码块可执行以产生一或多个结果,所述一或多个结果对于执行所述着色器程序的线程的多个群组中的每一个是相同的一或多个结果;引导所述多个处理元件中的至少一个在线程的所述多个群组的线程的第一群组上执行所述前置码代码块以产生所述一或多个结果;在所述常数存储器中存储所述前置码代码块的所述一或多个结果,所述前置码代码块的所述一或多个结果可由线程的所述多个群组中的每一个存取;以及在确定已经完成存储所述前置码代码块的所述一或多个结果中的所有结果之后,使用通过执行所述前置码代码块产生的所述一或多个结果引导所述多个处理元件中的至少一个执行用于线程的所述多个群组中的线程的一个群组的每个线程的所述主要着色器代码块。14.根据权利要求13所述的设备,其进一步包括处理器,其中所述处理器经配置以进行以下操作:识别可执行以产生对于执行所述着色器程序的线程的多个群组中的每一个是相同的一或多个结果的所述一或多个结果的指令的代码块;以及将指令的所述代码块分组到所述着色器程序的所述前置码代码块中。15.根据权利要求14所述的设备...
【专利技术属性】
技术研发人员:陈林,杜云,A·E·格鲁贝尔,焦国方,于春,D·R·加西亚·加西亚,
申请(专利权)人:高通股份有限公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。