CN116681575B - 图形处理单元、图形渲染方法、存储介质、终端设备 - Google Patents

图形处理单元、图形渲染方法、存储介质、终端设备 Download PDF

Info

Publication number
CN116681575B
CN116681575B CN202310929341.6A CN202310929341A CN116681575B CN 116681575 B CN116681575 B CN 116681575B CN 202310929341 A CN202310929341 A CN 202310929341A CN 116681575 B CN116681575 B CN 116681575B
Authority
CN
China
Prior art keywords
task scheduler
core array
array group
tensor core
global
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
CN202310929341.6A
Other languages
English (en)
Other versions
CN116681575A (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 CN202310929341.6A priority Critical patent/CN116681575B/zh
Publication of CN116681575A publication Critical patent/CN116681575A/zh
Application granted granted Critical
Publication of CN116681575B publication Critical patent/CN116681575B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • 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

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)

Abstract

本申请提供了一种图形处理单元、图形渲染方法、存储介质、终端设备,图形处理器包括全局任务调度器和多个图形处理器集群,每一图形处理器集群包括:核心,包括多个处理单元;张量核心阵列组,包括一个或多个张量核心阵列;其中,在所述核心完成第n帧的渲染操作后,所述全局任务调度器调度所述张量核心阵列组执行所述第n帧的超分辨率操作以及同时调度所述核心执行第n+1帧的渲染操作。本申请能够提升图形处理单元中图形渲染的效率。

Description

图形处理单元、图形渲染方法、存储介质、终端设备
技术领域
本申请涉及图形处理技术领域,尤其涉及一种图形处理单元、图形渲染方法、存储介质、终端设备。
背景技术
基于深度学习的超分辨率是一种通过深度学习网络重构图像,以提高游戏性能和画面的加速方式,它通过深度学习技术训练神经网络,使得网络可以能够根据场景和图像特征来动态重构图像,从而提高游戏的分辨率和图像细节,改善锯齿,同时降低游戏的渲染负载。
现有技术中,图形处理器(Graphics Processing Unit,GPU)常见的加速方案有三类:第一类,基于通用计算单元的加速方案。第二类,基于通用计算单元和4个8位的点积累积到32位(Dot Product of 4 8-bits Accumulated to a 32-bit, DP4A)的加速方案。第三类 ,基于通用计算单元和张量核心(TensorCore)的加速方案。上述方案通常采用流多处理器(Streaming Multiprocessor)进行超分辨率计算。
但是,现有超分辨率过程中数据需要利用核心读入流多处理器,每个流均需要计算自己要处理的数据地址和权重地址,同样的数据可能会被读取多次,导致占用不少的通用计算单元用于各类后处理,地址计算等,占用了通用计算单元的时间以及寄存器接口,运行效率较低,导致游戏渲染时间增长。
发明内容
本申请能够提升图形处理单元中图形渲染的效率。
为了达到上述目的,本申请提供了以下技术方案:
第一方面,本申请提供了一种图形处理器,图形处理器包括全局任务调度器和多个图形处理器集群,每一图形处理器集群包括:核心,包括多个处理单元;张量核心阵列组,包括一个或多个张量核心阵列;所述图形处理器还包括:全局缓存,用于接收所述张量核心阵列组的第二栅栏信息,所述第二栅栏信息用于指示所述张量核心阵列组完成超分辨率操作,并转发至所述全局任务调度器;第二栅栏信息控制中心,用于接收所述全局缓存转发的所述第二栅栏信息,合并来自多个张量核心阵列组多个图形处理器集群的相同的第二栅栏信息,并返回所述第二栅栏信息至所述全局任务调度器,响应于所述第二栅栏信息,所述全局任务调度器为所述图形处理器集群分发新的超分辨率任务或者将数据送到显示模块进行显示;其中,响应于第一栅栏信息,所述全局任务调度器调度所述张量核心阵列组执行所述第n帧的超分辨率操作以及同时调度所述核心执行第n+1帧的渲染操作,其中,所述第一栅栏信息用于指示所述核心完成第n帧的渲染操作,n为大于等于0的整数。
可选的,所述图形处理器集群还包括局部任务调度器;所述全局任务调度器将张量核心阵列组命令经由所述局部任务调度器传输至所述张量核心阵列组,所述张量核心阵列组命令用于指示执行超分辨率操作。
可选的,所述局部任务调度器包括:命令解析器,用于解析来自所述全局任务调度器的任务;内存控制单元,用于控制数据的读取;张量核心阵列控制器,用于控制所述张量核心阵列组执行矩阵运算。
可选的,所述局部任务调度器还包括:输入缓存,用于存储来自所述内存控制单元所读取的数据;数据扩展缓存,用于将图形数据转换为阵列数据;数据/权重输入缓存,用于存储输入至所述张量核心阵列组的阵列数据和/或权重数据。
可选的,所述图形处理器还包括:渲染缓存,用于接收并存储渲染命令;着色器缓存,用于接收并存储张量核心阵列组命令,所述张量核心阵列组命令用于指示执行超分辨率操作。
可选的,响应于接收到所述第一栅栏信息,所述全局任务调度器从所述着色器缓存中调取所述张量核心阵列组命令。
可选的,用于控制执行所述第n帧的超分辨率操作的命令描述中包括着色器标识,所述着色器标识指示的着色器用于接收所述张量核心阵列组的输出结果。
第二方面,本申请还公开一种图形渲染方法,图形渲染方法包括:驱动接收渲染请求;全局任务调度器调度核心执行第n帧的渲染操作;所述全局任务调度器调度张量核心阵列组执行所述第n帧的超分辨率操作以及同时调度所述核心执行第n+1帧的渲染操作,每一图形处理器集群包括所述核心以及所述张量核心阵列组,其中,所述第一栅栏信息用于指示所述核心完成第n帧的渲染操作,n为大于等于0的整数;全局缓存接收所述张量核心阵列组的第二栅栏信息,所述第二栅栏信息用于指示所述张量核心阵列组完成超分辨率操作,并转发至所述全局任务调度器;第二栅栏信息控制中心接收所述全局缓存转发的所述第二栅栏信息,合并来自多个图形处理器集群的相同的第二栅栏信息,并返回所述第二栅栏信息至所述全局任务调度器,响应于所述第二栅栏信息,所述全局任务调度器为所述图形处理器集群分发新的超分辨率任务或者将数据送到显示模块进行显示。
可选的,所述全局任务调度器调度所述张量核心阵列组执行所述第n帧的超分辨率操作以及调度所述核心执行第n+1帧的渲染操作包括:所述全局任务调度器接收所述张量核心阵列组的第一栅栏信息;所述全局任务调度器从着色器缓存中调取张量核心阵列组命令;所述全局任务调度器将所述张量核心阵列组命令转发至局部任务调度器;所述局部任务调度器将所述张量核心阵列组命令发送至各个调度所述张量核心阵列组,以供所述张量核心阵列组执行所述超分辨率操作。
可选的,所述全局任务调度器接收来自全局缓存的第二栅栏信息,所述第二栅栏信息用于指示所述张量核心阵列组完成超分辨率操作。
第三方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行所述图形渲染方法的步骤。
第四方面,本申请提供了一种终端设备,其特征在于,包括第一方面所述的图形处理单元。
与现有技术相比,本申请技术方案具有以下有益效果:
本申请技术方案中,图形处理器包括全局任务调度器和多个图形处理器集群,每一图形处理器集群包括相互独立的核心和张量核心阵列组。通过使张量核心阵列独立于核心,能够减少核心对张量核心阵列的影响,使待处理数据无需向更细粒度的核心传输,减小了数据带宽,为后续多任务并行奠定了基础。在核心完成第n帧的渲染后,全局任务调度器调度张量核心阵列组执行第n帧的超分辨率操作以及同时调度核心执行第n+1帧的渲染操作,从而实现渲染操作与超分辨率操作的完全并行,提升图形渲染效率,进而提升图形处理器的运行效率。
此外,对于需要做后续处理的过程,传输的也仅仅是最终的数据,而无需传输待处理数据和权重数据等信息,从而能够更好的共享卷积中的数据和权重数据,减少了数据的内部传输。
进一步地,本申请中图形处理器集群还包括局部任务调度器,也即每一图形处理器集群通过独立的局部任务调度器来进行任务的调度。通过独立的调度管理系统,能够有效的完成多个张量核心阵列之间的同步,进一步提升执行效率。
进一步地,本申请中,超分辨率操作的命令描述中包括着色器标识,着色器标识指示的着色器用于接收张量核心阵列组的输出结果。本申请中图形处理器集群能够灵活地与着色器进行数据交换,同步等操作,从而保证了图形处理器的兼容性。
附图说明
图1是本申请实施例提供的一种图形处理单元的结构图;
图2是本申请实施例提供的一种渲染过程的示意图;
图3是本申请实施例提供的一种图形处理器集群的结构图;
图4是本申请实施例提供的一种图形处理器集群的具体结构图;
图5是本申请实施例提供的另一种图形处理单元的结构图;
图6是本申请实施例提供的一种图形渲染方法的流程图。
具体实施方式
如背景技术中所述,现有超分辨率过程中数据需要利用核心读入流多处理器,每个流均需要计算自己要处理的数据地址和权重地址,同样的数据可能会被读取多次,导致占用不少的通用计算单元用于各类后处理,地址计算等,占用了通用计算单元的时间以及寄存器接口,运行效率较低,导致游戏渲染时间增长。
本申请技术方案中,图形处理器包括全局任务调度器和多个图形处理器集群,每一图形处理器集群包括相互独立的核心和张量核心阵列组。通过使张量核心阵列独立于核心,能够减少核心对张量核心阵列的影响,使待处理数据无需向更细粒度的核心传输,减小了数据带宽,为后续多任务并行奠定了基础。在核心完成第n帧的渲染后,全局任务调度器调度张量核心阵列组执行第n帧的超分辨率操作以及同时调度核心执行第n+1帧的渲染操作,从而实现渲染操作与超分辨率操作的完全并行,提升图形渲染效率,进而提升图形处理器的运行效率。
本发明实施例所称超分辨率(Super-Resolution)操作是指,通过一系列低分辨率的图形来得到一幅高分辨率的图形的过程,以提高原有图形的分辨率。
为使本申请的上述目的、特征和优点能够更为明显易懂,下面结合附图对本申请的具体实施例做详细的说明。
参见图1,图形处理器可以包括全局任务调度器101和多个图形处理器集群(Graphic Processor Cluster, GPC)102。
其中,每一图形处理器集群102包括核心(core)1021和张量核心阵列组1022。核心1021包括多个处理单元(Processor Element, PE),每一处理单元包括多个通用处理单元、纹理以及数据读写单元等。
张量核心阵列组102包括一个或多个张量核心阵列。张量核心阵列可以以实现各类的矩阵的加速功能、矢量的加速功能。具体地,张量核心阵列可以获取待处理数据以及权重数据,并根据权重数据对待处理数据进行图形处理。例如,张量核心阵列对待处理数据进行点积阵列(Dot Product array,DP)运算,以得到待累加数据。
需要说明的是,核心1021也可以称为内核,计算单元(Compute unit, CU)等,张量核心阵列可以称为加速单元等,本申请对此不作限制。
具体地,张量核心阵列组1022可以包括在图形处理器集群102中,也可以包括在图形处理器集群102和固定功能集群(Fix function Cluster, FUC)的大模块中。
相对于现有技术中张量核心阵列设置于处理单元中,本发明实施例中,张量核心阵列独立于核心1021,也即张量核心阵列独立于处理单元,能够减少核心对张量核心阵列的影响,使待处理数据无需向更细粒度的核心传输,减小了数据带宽,为后续多任务并行奠定了基础。
此外,基于张量核心阵列执行矩阵运算,可以有效降低现有技术中分散在处理单元内部的大量地址计算,能够进一步提升数据处理效率。
在图形渲染过程中,全局任务调度器101会先调度核心1021执行图形的渲染操作,再调度张量核心阵列组1022该图形的超分辨率操作。
在本申请实施例中,全局任务调度器101调度核心1021完成第n帧的渲染操作后,核心1021会发送第一栅栏信息(fence) ,也可以称为屏障(barrier)至全局任务调度器101。响应于该第一栅栏信息,全局任务调度器101调度张量核心阵列组1022执行第n帧的超分辨率操作以及同时调度核心1021执行第n+1帧的渲染操作。换言之,通过上述步骤实现第n帧的超分辨率操作与第n+1帧的渲染操作的完全并行。
如图2所示,在帧0的渲染操作完成后,开始执行帧0的超分辨率操作,同时执行帧1的渲染操作,以此类推,执行帧1的超分辨率操作的同时执行帧2的渲染操作。
通过上述相邻帧之间渲染操作与超分辨率操作的完全并行,能够提升渲染效率,从而提升GPU的性能。
在一个非限制性的实施例中,请参照图3,图3示出了图形处理器集群的具体结构。
一并参照图1,图形处理器集群102除了包括核心1021和张量核心阵列组1022之外,还可以包括局部任务调度器1023。
在渲染过程中,全局任务调度器101将张量核心阵列组命令经由局部任务调度器1023传输至张量核心阵列组1022,张量核心阵列组1022根据张量核心阵列组命令执行超分辨率操作。
具体地,核心1021包括处理单元10211,还可以包括光线追踪单元(Ray TracingUnit, RTU)10212。
继续参照图3,图形处理器集群102还可以包括固定功能集群FUC。
具体地,张量核心阵列组1022中可以包括多个张量核心阵列,多个张量核心阵列可以以任意可实施的连接方式进行连接,例如,串联和/或并联等,以适应不同GPU的架构,从而提升GPU的兼容性和灵活性。
本实施例中,通过局部任务调度器1023为超分辨率操作设置响应的命令队列,与现有的渲染操作/着色命令相独立,结合张量核心阵列组1022也与处理单元10211相独立,也就意味着超分辨率操作不会占用渲染操作/着色命令的计算单元,进一步提升渲染效率。
进一步地,请参照图4,局部任务调度器1023可以包括命令解析器10231、内存控制单元10232和张量核心阵列控制器10233。
其中,命令解析器10231用于解析来自全局任务调度器101的任务,完成任务分割,地址计算,协调调度内存控制单元10232,张量核心阵列控制器10233,以及任务同步。
内存控制单元10232用于控制从存储器GL1中读取数据,并通知张量核心阵列控制器10233数据已准备好,可以开始计算。当数据已进入图形处理器集群102中的输入缓存后,张量核心阵列控制器10233利用张量核心阵列10221执行矩阵计算,并将结果写入累加器(accumulator, ACC)1025中。累加器1025用于对张量核心阵列10221的运算结果执行累加运算。
根据不同的后处理设置,累加器1025中的结果存在以下两种处理方式:
方式A: 送往固定流水线,完成批量标准化(Batch Normalization)、激活(Activation)、池化(Pooling)、缩放(scale)、偏差(bias)等操作,然后将运算结果写到全局缓存GL2。
方式B: 送往着色器,完成后续的各类操作,然后通过处理单元写到全局缓存GL2中。
具体地,当激活函数以及输出是默认的传统模式时,数据走固定流水线,以减少对GPU逻辑的依赖。需要自定义后续操作时,则将数据先写入到任务输入队列,GPC局部任务生成器根据任务输入队列内的数据构建新的异步运行着色器任务,PE着色器单元会根据预先定义的着色程序,对数据进行处理,并通过加载存储单元将数据写入到全局缓存GL2中。
继续参照图4,局部任务调度器1023可以包括输入缓存10234、数据扩展缓存10235以及数据/权重输入缓存10236。
其中,输入缓存10234用于存储来自内存控制单元10232请求读取的数据。数据扩展缓存10235用于将图形数据转换为阵列数据(image to column), 以减少传输的带宽和存储带宽。
数据/权重输入缓存10236用于存放排好的输入数据,也即用于输入至张量核心阵列组1022的阵列数据和/或权重数据。
在一个非限制性的实施例中,由于一副较大的图形,例如较大的游戏画面,需要多个图形处理器集群102同时协作,所以当每一个图形处理器集群102的张量核心阵列组1022完成当前的任务之后,图形处理器集群102会将自己的第二栅栏信息(fence) ,也可以称为屏障(barrier),送往全局缓存GL2。第二栅栏信息用于指示完成超分辨率操作。
当全局缓存GL2收到来自于不同图形处理器集群102的第二栅栏信息之后,会转发到第二栅栏信息控制中心,第二栅栏信息控制中心会合并来自于多个图形处理器集群102的相同第二栅栏信息,并将其返回全局任务调度器101,全局任务调度器101会在收到第二栅栏信息通知后,决定为图形处理器集群102分发新的超分辨率任务或者将数据送到显示模块进行显示。
在一个非限制性的实施例中,请参照图5,图形处理器还可以包括渲染缓存103和着色器缓存104。
具体地,渲染缓存103和着色器缓存104可以是环形缓存器(ring buffer)。
其中,渲染缓存103用于接收并存储渲染命令,例如三维渲染命令。着色器缓存104用于接收并存储张量核心阵列组命令,所述张量核心阵列组命令用于指示执行超分辨率操作。此外,着色器缓存104还包括多个队列,用于异步计算。
进一步地,全局任务调度器101响应于接收到第一栅栏信息,全局任务调度器101从着色器缓存中调取张量核心阵列组命令。具体地,全局任务调度器101还用于调度多个渲染缓存103和着色器缓存104之间的同步以及任务的分配。
在一个非限制性的实施例中,张量核心阵列组命令的命令描述中包括着色器标识,所述着色器标识指示的着色器用于接收所述张量核心阵列组的输出结果。
具体地,通过在张量核心阵列组命令的命令描述中携带着色器标识,能够在张量核心阵列组完成矩阵运算获得运算结果后,由着色器标识指示的着色器进行后续对运算结果的处理。具体地,通过着色器任务构造函数(task constructor),将张量核心阵列的输出打包成可以在核心执行的格式,并通过局部任务调度器均衡地分配到不同的核心。
本实施例中图形处理器集群能够灵活地与着色器进行数据交换,同步等操作,从而保证了图形处理器的兼容性。
在图形处理器具有上述结构的基础上,图形处理器可以执行图形渲染,图形渲染方法的具体步骤如图6所示。
在步骤601中,图形处理器的驱动(driver)接收渲染请求。
在步骤602中,图形处理器的全局任务调度器101调度核心1021执行第n帧的渲染操作。
在步骤603中,响应于第一栅栏信息,图形处理器的全局任务调度器101调度张量核心阵列组1022执行第n帧的超分辨率操作以及调度核心1021执行第n+1帧的渲染操作。
进一步地,在步骤603的具体实施中,全局任务调度器101接收来自核心的第一栅栏信息,从着色器缓存中调取张量核心阵列组命令。全局任务调度器101将张量核心阵列组命令发送至局部任务调度器1023。局部任务调度器1023将张量核心阵列组命令分发至多个张量核心阵列组1022,张量核心阵列组1022执行该张量核心阵列组命令,以执行第n帧的超分辨率操作。
进一步地,全局任务调度器101接收所述张量核心阵列组1022的第二栅栏信息,所述第二栅栏信息用于指示完成超分辨率操作。
本实施例通过合理的调度方式,实现渲染操作与超分辨率操作的完全并行,提升图形渲染效率,进而提升图形处理器的运行效率。
下面结合一个具体的应用场景对图形渲染的过程进行说明。
步骤1、用户可以在应用程序,例如游戏通过设置启用超分辨率加速渲染,并通过选择模式启用不同的网络结构。
步骤2、GPU驱动收到来自于应用程序的设置和渲染请求,GPU驱动会生成对应的加速命令,如张量核心阵列组命令。
步骤3、GPU驱动将渲染命令传输至渲染缓存,并将张量核心阵列组命令传输至着色器缓存。
步骤4、GPU驱动将小分辨率的帧渲染请求送到GPU的硬件队列。
步骤5、GPU驱动在异步运行的队列中,插入相应的超分辨率任务,并利用第一栅栏信息,完成超分辨率任务和渲染队列的任务的同步。具体可参照步骤6至步骤8。
步骤6、当GPU完成当前小分辨率游戏的渲染,全局任务调度器会收到相应的第一栅栏信息,根据第一栅栏信息开始向多个张量核心阵列组提交相应子任务。
具体地,全局调度器解析渲染缓存并调度核心完成三维渲染,当完成第一个帧之后,如果渲染缓存不是空的,继续执行第二个帧的渲染。与此同时,当全局调度器发现张量核心阵列组命令的执行条件已经满足,全局调度器会调度张量核心阵列组执行张量核心阵列命令。
步骤7、当所有的张量核心阵列组完成子任务之后,返回第一栅栏信息给全局任务调度器。
步骤8、全局任务调度器根据模式的设定确定是否执行后续的任务,还是可以直接送给显示模块进行显示操作。
可以理解的是,在具体实施中,上述方法的各个步骤可以采用软件程序的方式实现,该软件程序运行于芯片或芯片模组内部集成的处理器中。该方法也可以采用软件结合硬件的方式实现,本申请不作限制。
关于上述实施例中描述的各个装置、产品包含的各个模块/单元,其可以是软件模块/单元,也可以是硬件模块/单元,或者也可以部分是软件模块/单元,部分是硬件模块/单元。例如,对于应用于或集成于芯片的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于芯片模组的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于芯片模组的同一组件(例如芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片模组内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于终端设备的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于终端设备内同一组件(例如,芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于终端设备内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现。
本申请实施例还公开了一种存储介质,所述存储介质为计算机可读存储介质,其上存储有计算机程序,所述计算机程序运行时可以执行前述实施例中所示方法的步骤。所述存储介质可以包括只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁盘或光盘等。存储介质还可以包括非挥发性存储器(non-volatile)或者非瞬态(non-transitory)存储器等。
本申请实施例还公开了一种终端设备,所述终端设备包括前述的图形处理单元;或者,终端设备包括存储器和处理器,存储器上存储有可在处理器上运行的计算机程序,处理器运行计算机程序时执行前述方法的步骤。或者,上述终端设备包括前述实施例中的图形处理器。
本申请实施例中出现的“多个”是指两个或两个以上。
本申请实施例中出现的第一、第二等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本申请实施例中对设备个数的特别限定,不能构成对本申请实施例的任何限制。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置和系统,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的;例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的部分步骤。
虽然本申请披露如上,但本申请并非限定于此。任何本领域技术人员,在不脱离本申请的精神和范围内,均可作各种更动与修改,因此本申请的保护范围应当以权利要求所限定的范围为准。

Claims (12)

1.一种图形处理器,其特征在于,包括全局任务调度器和多个图形处理器集群,每一图形处理器集群包括:
核心,包括多个处理单元;
张量核心阵列组,包括一个或多个张量核心阵列;
所述图形处理器还包括:
全局缓存,用于接收所述张量核心阵列组的第二栅栏信息,所述第二栅栏信息用于指示所述张量核心阵列组完成超分辨率操作,并转发至所述全局任务调度器;
第二栅栏信息控制中心,用于接收所述全局缓存转发的所述第二栅栏信息,合并来自多个图形处理器集群的相同的第二栅栏信息,并返回所述第二栅栏信息至所述全局任务调度器,响应于所述第二栅栏信息,所述全局任务调度器为所述图形处理器集群分发新的超分辨率任务或者将数据送到显示模块进行显示;
其中,响应于第一栅栏信息,所述全局任务调度器调度所述张量核心阵列组执行第n帧的超分辨率操作以及同时调度所述核心执行第n+1帧的渲染操作,其中,所述第一栅栏信息用于指示所述核心完成第n帧的渲染操作,n为大于等于0的整数。
2.根据权利要求1所述的图形处理器,其特征在于,所述图形处理器集群还包括局部任务调度器;
所述全局任务调度器将张量核心阵列组命令经由所述局部任务调度器传输至所述张量核心阵列组,所述张量核心阵列组命令用于指示执行超分辨率操作。
3.根据权利要求2所述的图形处理器,其特征在于,所述局部任务调度器包括:
命令解析器,用于解析来自所述全局任务调度器的任务;
内存控制单元,用于控制数据的读取;
张量核心阵列控制器,用于控制所述张量核心阵列组执行矩阵运算。
4.根据权利要求3所述的图形处理器,其特征在于,所述局部任务调度器还包括:
输入缓存,用于存储来自所述内存控制单元所读取的数据;
数据扩展缓存,用于将图形数据转换为阵列数据;
数据/权重输入缓存,用于存储输入至所述张量核心阵列组的阵列数据和/或权重数据。
5.根据权利要求1所述的图形处理器,其特征在于,还包括:
渲染缓存,用于接收并存储渲染命令;
着色器缓存,用于接收并存储张量核心阵列组命令,所述张量核心阵列组命令用于指示执行超分辨率操作。
6.根据权利要求5所述的图形处理器,其特征在于,响应于接收到所述第一栅栏信息,所述全局任务调度器从所述着色器缓存中调取所述张量核心阵列组命令。
7.根据权利要求1所述的图形处理器,其特征在于,用于控制执行所述第n帧的超分辨率操作的命令描述中包括着色器标识,所述着色器标识指示的着色器用于接收所述张量核心阵列组的输出结果。
8.一种图形渲染方法,其特征在于,包括:
驱动接收渲染请求;
全局任务调度器调度核心执行第n帧的渲染操作;
响应于第一栅栏信息, 所述全局任务调度器调度张量核心阵列组执行所述第n帧的超分辨率操作以及同时调度所述核心执行第n+1帧的渲染操作,每一图形处理器集群包括所述核心以及所述张量核心阵列组,其中,所述第一栅栏信息用于指示所述核心完成第n帧的渲染操作,n为大于等于0的整数;
全局缓存接收所述张量核心阵列组的第二栅栏信息,所述第二栅栏信息用于指示所述张量核心阵列组完成超分辨率操作,并转发至所述全局任务调度器;
第二栅栏信息控制中心接收所述全局缓存转发的所述第二栅栏信息,合并来自多个图形处理器集群的相同的第二栅栏信息,并返回所述第二栅栏信息至所述全局任务调度器,响应于所述第二栅栏信息,所述全局任务调度器为所述图形处理器集群分发新的超分辨率任务或者将数据送到显示模块进行显示。
9.根据权利要求8所述的图形渲染方法,其特征在于,所述全局任务调度器调度所述张量核心阵列组执行所述第n帧的超分辨率操作包括:
所述全局任务调度器接收所述核心的第一栅栏信息;
所述全局任务调度器从着色器缓存中调取张量核心阵列组命令;
所述全局任务调度器将所述张量核心阵列组命令转发至局部任务调度器;
所述局部任务调度器将所述张量核心阵列组命令分发至各个所述张量核心阵列组,以供所述张量核心阵列组执行所述超分辨率操作。
10.根据权利要求8所述的图形渲染方法,其特征在于,还包括:
所述全局任务调度器接收来自全局缓存的第二栅栏信息,所述第二栅栏信息用于指示所述张量核心阵列组完成超分辨率操作。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求8至10任一项中所述图形渲染方法的步骤。
12.一种终端设备,其特征在于,包括存储器和处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器执行权利要求1至7任一项所述的图形处理器。
CN202310929341.6A 2023-07-27 2023-07-27 图形处理单元、图形渲染方法、存储介质、终端设备 Active CN116681575B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310929341.6A CN116681575B (zh) 2023-07-27 2023-07-27 图形处理单元、图形渲染方法、存储介质、终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310929341.6A CN116681575B (zh) 2023-07-27 2023-07-27 图形处理单元、图形渲染方法、存储介质、终端设备

Publications (2)

Publication Number Publication Date
CN116681575A CN116681575A (zh) 2023-09-01
CN116681575B true CN116681575B (zh) 2023-12-19

Family

ID=87779443

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310929341.6A Active CN116681575B (zh) 2023-07-27 2023-07-27 图形处理单元、图形渲染方法、存储介质、终端设备

Country Status (1)

Country Link
CN (1) CN116681575B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111062858A (zh) * 2019-12-27 2020-04-24 西安芯瞳半导体技术有限公司 高效的提前渲染方法、装置及计算机存储介质
CN111080761A (zh) * 2019-12-27 2020-04-28 西安芯瞳半导体技术有限公司 一种渲染任务的调度方法、装置及计算机存储介质
CN112017102A (zh) * 2019-05-31 2020-12-01 畅想科技有限公司 使用渲染进度检查的图形处理单元和方法
CN112801855A (zh) * 2021-04-14 2021-05-14 南京芯瞳半导体技术有限公司 基于图元的渲染任务调度的方法、装置及存储介质
CN113269858A (zh) * 2021-07-19 2021-08-17 腾讯科技(深圳)有限公司 虚拟场景渲染方法、装置、计算机设备和存储介质
CN114331806A (zh) * 2022-03-17 2022-04-12 南京砺算科技有限公司 图形处理器及图形处理方法
CN116091680A (zh) * 2021-11-05 2023-05-09 英特尔公司 用于超采样的输入滤波和采样器加速
CN116137675A (zh) * 2021-11-17 2023-05-19 荣耀终端有限公司 渲染方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11544823B2 (en) * 2019-06-12 2023-01-03 Intel Corporation Systems and methods for tone mapping of high dynamic range images for high-quality deep learning based processing
US20220092738A1 (en) * 2020-11-19 2022-03-24 Intel Corporation Methods and apparatus for super-resolution rendering
US20220197651A1 (en) * 2020-12-22 2022-06-23 Intel Corporation Processing of data by multiple graphic processing devices
US11880902B2 (en) * 2020-12-30 2024-01-23 Waymo Llc Systems, apparatus, and methods for enhanced image capture
US20230146390A1 (en) * 2021-11-05 2023-05-11 Intel Corporation Trainable visual quality metrics for measuring rendering quality in a graphics environment

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112017102A (zh) * 2019-05-31 2020-12-01 畅想科技有限公司 使用渲染进度检查的图形处理单元和方法
CN111062858A (zh) * 2019-12-27 2020-04-24 西安芯瞳半导体技术有限公司 高效的提前渲染方法、装置及计算机存储介质
CN111080761A (zh) * 2019-12-27 2020-04-28 西安芯瞳半导体技术有限公司 一种渲染任务的调度方法、装置及计算机存储介质
CN112801855A (zh) * 2021-04-14 2021-05-14 南京芯瞳半导体技术有限公司 基于图元的渲染任务调度的方法、装置及存储介质
CN113269858A (zh) * 2021-07-19 2021-08-17 腾讯科技(深圳)有限公司 虚拟场景渲染方法、装置、计算机设备和存储介质
CN116091680A (zh) * 2021-11-05 2023-05-09 英特尔公司 用于超采样的输入滤波和采样器加速
CN116137675A (zh) * 2021-11-17 2023-05-19 荣耀终端有限公司 渲染方法及装置
CN114331806A (zh) * 2022-03-17 2022-04-12 南京砺算科技有限公司 图形处理器及图形处理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
面向集成成像光场视图的显著性检测技术研究;冯洁;中国优秀硕士学位论文全文数据库 信息科技辑(第01期);I138-2071 *

Also Published As

Publication number Publication date
CN116681575A (zh) 2023-09-01

Similar Documents

Publication Publication Date Title
US20210049729A1 (en) Reconfigurable virtual graphics and compute processor pipeline
US8074224B1 (en) Managing state information for a multi-threaded processor
US9293109B2 (en) Technique for storing shared vertices
US9286119B2 (en) System, method, and computer program product for management of dependency between tasks
US9418616B2 (en) Technique for storing shared vertices
US20070143582A1 (en) System and method for grouping execution threads
US9378533B2 (en) Central processing unit, GPU simulation method thereof, and computing system including the same
US7747842B1 (en) Configurable output buffer ganging for a parallel processor
US8180998B1 (en) System of lanes of processing units receiving instructions via shared memory units for data-parallel or task-parallel operations
US8370845B1 (en) Method for synchronizing independent cooperative thread arrays running on a graphics processing unit
US8195858B1 (en) Managing conflicts on shared L2 bus
US9697044B2 (en) Application programming interface to enable the construction of pipeline parallel programs
CN110245024B (zh) 静态存储块的动态分配系统及其方法
US10152329B2 (en) Pre-scheduled replays of divergent operations
US8321618B1 (en) Managing conflicts on shared L2 bus
US20120151145A1 (en) Data Driven Micro-Scheduling of the Individual Processing Elements of a Wide Vector SIMD Processing Unit
CN116523729B (zh) 一种图形处理设备、图形渲染管线分配方法及相关装置
CN116681575B (zh) 图形处理单元、图形渲染方法、存储介质、终端设备
JP2010244096A (ja) データ処理装置、印刷システムおよびプログラム
US8441487B1 (en) Bandwidth compression for shader engine store operations
US8473948B1 (en) Method for synchronizing independent cooperative thread arrays running on a graphics processing unit
CN114331806A (zh) 图形处理器及图形处理方法
US11809902B2 (en) Fine-grained conditional dispatching
US8307165B1 (en) Sorting requests to the DRAM for high page locality
US20220197696A1 (en) Condensed command packet for high throughput and low overhead kernel launch

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.