CN108958921B - Gpu中一种染色片段调度管理的硬件加速实现方法 - Google Patents

Gpu中一种染色片段调度管理的硬件加速实现方法 Download PDF

Info

Publication number
CN108958921B
CN108958921B CN201810797837.1A CN201810797837A CN108958921B CN 108958921 B CN108958921 B CN 108958921B CN 201810797837 A CN201810797837 A CN 201810797837A CN 108958921 B CN108958921 B CN 108958921B
Authority
CN
China
Prior art keywords
data
dyeing
processor
scheduling
rasterization
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
CN201810797837.1A
Other languages
English (en)
Other versions
CN108958921A (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.)
Nanjing Junwei Semiconductor Technology Co ltd
Original Assignee
Nanjing Junwei Semiconductor 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 Nanjing Junwei Semiconductor Technology Co ltd filed Critical Nanjing Junwei Semiconductor Technology Co ltd
Priority to CN201810797837.1A priority Critical patent/CN108958921B/zh
Publication of CN108958921A publication Critical patent/CN108958921A/zh
Application granted granted Critical
Publication of CN108958921B publication Critical patent/CN108958921B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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

Abstract

本发明公开了GPU中一种染色片段调度管理的硬件加速实现方法,它涉及GPU设计领域。包括以下步骤:1、染色片段的寄存器配置;2、预判控制;3、输入数据打包;4、存储控制;5、状态控制。本发明可以提高GPU内部像素染色单元的处理性能,并达到节省资源的目的,且该方法支持可配置、可扩展的多通道光栅化后的片段调度任务;最大效率地提升像素染色器的工作效率,并节省硬件设计资源。

Description

GPU中一种染色片段调度管理的硬件加速实现方法
技术领域
本发明涉及的是GPU设计领域,具体涉及GPU中一种染色片段调度管理的硬件加速实现方法。
背景技术
染色片段的调度管理是可编程流水线设计实现的GPU中一个重要问题。它的快慢直接影响了像素染色器的效率,从而影响了整个图形管线或者图像管线输出像素的快慢。传统调度染色片段方法采用调度固定行,并通过总线仲裁实现1对1的调度。这样实现的缺点是:
1、传统调度方式未考虑处理器线程使用情况,调度完成数据通过总线仲裁方式完成调度从而给总线带来压力,出现总线频繁请求导致切换带来的功耗问题,并且调度效率低下。
2、由于光栅化后输出的染色片段的每一行数据根据图元的不同,数据量大小不同,同时处理器对不同数据的处理时间存在差异。如果采用最后通过总线仲裁方式完成调度,会导致每一个处理器的使用没有达到100%,最终导致处理器内部线程过饱和,有的处理器线程过饥饿,从而导致像素染色效率低下。
综上所述,本发明设计了GPU中一种染色片段调度管理的硬件加速实现方法。
发明内容
针对现有技术上存在的不足,本发明目的是在于提供GPU中一种染色片段调度管理的硬件加速实现方法,可以提高GPU内部像素染色单元的处理性能,并达到节省资源的目的,且该方法支持可配置、可扩展的多通道光栅化后的片段调度任务;最大效率地提升像素染色器的工作效率,并节省硬件设计资源。
为了实现上述目的,本发明是通过如下的技术方案来实现:GPU中一种染色片段调度管理的硬件加速实现方法,包括以下步骤:1、染色片段的寄存器配置;2、预判控制;3、输入数据打包;4、存储控制;5、状态控制。
作为优选,所述的步骤1为了实现将光栅化后2个通道内的数据调度到1个CCU(像素处理器管理单元)中的4个GCU(像素处理器)中,同时完成2个GCU处理一个通道数据。并且为了避免调度后的片断数据经过像素染色处理后输出出现先后顺序颠倒问题,约定通道0的数据调度到GCU0和GCU2,通道1的数据调度到GCU1和GCU3,调度管理器中的寄存器配置模块可以完成根据处理器的处理能力不同而调整调度管理器的工作参数,以最大发挥处理器的能力。
作为优选,所述的步骤2采用预判控制模块,所述的预判控制模块需要根据光栅化输出的数据的坐标X值以及对应数据属性0来判断这是数据的第一个,并检测该X值参数,具体数值可以根据调度管理器中寄存器配置模块来同步调整,如果处理器的最大工作线程为16,那么需要检测X值对应的第4位来判断应该将该片段调度到哪一个处理器中。
作为优选,所述的步骤3采用输入数据打包单元,完成统计输入到每一个存储FIFO模块中的光栅化片段的数量,每当检测到数据属性为0时,数据个数就加1,如果检测到数据个数已经满足了接收从坐标开始所带属性数据的处理器最大线程调度单位的数据后,就停止接收光栅化的数据,并将最后一个数据多发送一次作为结束标记。
作为优选,所述的步骤4采用存储控制模块,存储控制模块的内部设计4个同步FIFO,一方面可以存放指定到GCU0、GCU1、GCU2、GCU3的数据,同时可以提高光栅化的工作效率,不至于调度缓慢而导致光栅化停止。
作为优选,所述的步骤5采用状态控制模块,根据CCU单元的空闲状态ready信号以及4个处理器GCU的state忙闲状态,采用轮询方案分别从4个FIFO中依次读出数据,最后给发送哪一个GCU的数据包添加ID标识,当GCU检测到ID标识后,可以按照ID号,将ID同步的数据进行处理,避免数据接收紊乱,当GCU按照正确方式接收进行处理后,可以避免由于光栅化同一个坐标数据通过GCU处理后,出现先后顺序颠倒的问题。从每一个FIFO中读出的数据中,可以按照处理器GCU的请求添加需要的数据属性到GCU中,从而完成片段调度管理任务。从而避免采用总线的仲裁任务,节省硬件设计资源,并提高调度效率。
作为优选,所述的步骤1中的染色片段的调度方法为:GPU中光栅化后输出数据会多个通道同时存在,而且多个通道内的数据的前后顺序不同,但每一个通道内数据都有相似特征,输出对应每一个片断的X、Y、Z、W、R、G、B、A、S、T、R、Q(分别对应片段的横坐标、纵坐标、深度坐标、齐次坐标、颜色分量的红、绿、蓝、透明度、纹理坐标的宽、高、深度、缩放因子)等,该片断的数据对应的属性是用户通过OpenGL编程指定,该数据属性共有32个,用户可以随机指定32个中的任意一个或者多个,最多一个片段有32个属性,所以通过光栅化输出后的数据属性最多有32个,并接收光栅化单元完成后的finish信号,表示光栅化完成。为了满足像素处理器按照最大线程处理能力,采用将光栅化后的染色片段先经过打包处理,并标记每一段发送到处理器的数据的开始、同步数据属性、数据个数、结束标志,由于光栅化后完成的标记在数据下发完成的若干的时钟,所以统一采取将调度数据的最后一个数据标记为结束,并作为无效数据来避免无法标记最后一批数据的结束,同时处理器管理器获取结束标志后,作为处理器开始像素染色的标志,所以当处理器检测到结束标志后,像素处理器开始执行染色任务。
本发明具有以下有益效果:
1、该调度器具有可扩展特性,每一个调度器可以完成将2个光栅化后的数据分别按照X坐标的区别,分别调度到特定的像素染色处理器中;
2、采用数据打包方式进行调度,可以高效地完成调度任务,并可以保证数据不丢失,同时当像素染色器接收到数据包的结束标志时作为启动像素染色任务,可以最大化每一个像素染色器的处理能力,最大程度地节省资源;
3、采用先进行数据打包操作,通过FIFO缓存数据,然后通过像素染色器的空闲状态,将片断调度到指定的处理器中,可以高效地完成调度任务,最多3拍可以输出一个染色片断。
附图说明
下面结合附图和具体实施方式来详细说明本发明;
图1为本发明的实现结构图。
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
参照图1,本具体实施方式采用以下技术方案:GPU中一种染色片段调度管理的硬件加速实现方法,包括以下步骤:1、染色片段的寄存器配置;2、预判控制;3、输入数据打包;4、存储控制;5、状态控制。
本具体实施方式的GPU中一种染色片段调度管理的实现结构如图1所示。光栅化后的2路数据分别写入到FIFO0、FIFO1、FIFO2、FIFO3中,按照调度策略,如果检测到片段数据的属性为0,并且该X值的某一位为低,将其对应的所有属性数据写入到FIFO0中,如果为高,将其对应的所有属性数据写入到FIFO1中,同理,按照处理通道0的数据方式处理通道1,并标记写入FIFO数据的属性的起始、结束、个数、属性。调度管理器会根据FIFO0、FIFO1、FIFO2、FIFO3的空满状态和CCU的空闲状态以及GCU的忙闲状态,轮询地从FIFO0、FIFO1、FIFO2、FIFO3中读取数据。此时如果GCU为空闲,此时会检测到GCU的状态为高,并在检测到结束标记后将状态拉低,此时GCU开始执行染色任务。而CCU的空闲状态标记了CCU内部存储是否可以接收调度的数据,从而避免调度任务数据丢失问题。
片断调度的硬件实现方法有很多,但是方法不同,实现效率不同,功耗也有所区别,采用片断打包方式进行调度可以支持可编程特性的像素染色器的调度任务,可以避免数据丢失,能够实现采用最少的逻辑资源,高效完成调度任务。同时,该调度器具有可扩展特性,可以支持多个通道的光栅化数据的调度任务。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (3)

1.GPU中一种染色片段调度管理的硬件加速实现方法,其特征在于,包括以下步骤:(1)、染色片段的寄存器配置;(2)、预判控制;(3)、输入数据打包;(4)、存储控制;(5)、状态控制;
所述的步骤(1)为了实现将光栅化后两个通道内的数据调度到一个CCU中的四个GCU中,同时完成两个GCU处理一个通道数据;并且为了避免调度后的片段数据经过像素染色处理后输出出现先后顺序颠倒问题,约定通道0的数据调度到GCU0和GCU2,通道1的数据调度到GCU1和GCU3,调度管理器中的寄存器配置模块完成根据处理器的处理能力不同而调整调度管理器的工作参数,以最大发挥处理器的能力;
所述的步骤(2)采用预判控制模块,所述的预判控制模块需要根据光栅化输出的数据的坐标X值以及对应数据属性0来判断这是数据的第一个,并检测该X值参数,具体数值根据调度管理器中寄存器配置模块来同步调整,如果处理器的最大工作线程为16,那么需要检测X值对应的第4位来判断应该将该片段调度到哪一个处理器中;
所述的步骤(3)采用输入数据打包单元,完成统计输入到每一个存储FIFO模块中的光栅化片段的数量,每当检测到数据属性为0时,数据个数就加1,如果检测到数据个数已经满足了接收从坐标开始所带属性数据的处理器最大线程调度单位的数据后,就停止接收光栅化的数据,并将最后一个数据多发送一次作为结束标记;
所述的步骤(4)采用存储控制模块,存储控制模块的内部设计4个同步FIFO,一方面存放指定到GCU0、GCU1、GCU2、GCU3的数据,同时提高光栅化的工作效率,不至于调度缓慢而导致光栅化停止;
所述的步骤(5)采用状态控制模块,根据CCU单元的空闲状态ready信号以及四个处理器GCU的state忙闲状态,采用轮询方案分别从四个FIFO中依次读出数据,最后给发送哪一个GCU的数据包添加ID标识,当GCU检测到ID标识后,按照ID号,将ID同步的数据进行处理,避免数据接收紊乱,当GCU按照正确方式接收进行处理后,避免由于光栅化同一个坐标数据通过GCU处理后,出现先后顺序颠倒的问题;从每一个FIFO中读出的数据中,按照处理器GCU的请求添加需要的数据属性到GCU中,从而完成片段调度管理任务;从而避免采用总线的仲裁任务,节省硬件设计资源,并提高调度效率。
2.根据权利要求1所述的GPU中一种染色片段调度管理的硬件加速实现方法,其特征在于,所述的步骤(1)中的染色片段的调度方法为:GPU中光栅化后输出数据会多个通道同时存在,而且多个通道内的数据的前后顺序不同,但每一个通道内数据都有相似特征,输出对应每一个片段的X、Y、Z、W、R、G、B、A、S、T、R、Q;
其中,X、Y、Z、W依次分别对应片段的横坐标、纵坐标、深度坐标、齐次坐标;R、G、B、A依次分别对应颜色分量的红、绿、蓝、透明度;S、T、R、Q依次分别对应纹理坐标的宽、高、深度、缩放因子;
该片段的数据对应的属性是用户通过OpenGL编程指定,为了满足像素处理器按照最大线程处理能力,采用将光栅化后的染色片段先经过打包处理,并标记每一段发送到处理器的数据的开始、同步数据属性、数据个数、结束标志,由于光栅化后完成的标记在数据下发完成的若干的时钟,所以统一采取将调度数据的最后一个数据标记为结束,并作为无效数据来避免无法标记最后一批数据的结束,同时处理器管理器获取结束标志后,作为处理器开始像素染色的标志,所以当处理器检测到结束标志后,像素处理器开始执行染色任务。
3.根据权利要求2所述的GPU中一种染色片段调度管理的硬件加速实现方法,其特征在于,所述的数据属性共有32个,用户随机指定32个中的任意一个或者多个,最多一个片段有32个属性,所以通过光栅化输出后的数据属性最多有32个,并接收光栅化单元完成后的finish信号,表示光栅化完成。
CN201810797837.1A 2018-07-19 2018-07-19 Gpu中一种染色片段调度管理的硬件加速实现方法 Active CN108958921B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810797837.1A CN108958921B (zh) 2018-07-19 2018-07-19 Gpu中一种染色片段调度管理的硬件加速实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810797837.1A CN108958921B (zh) 2018-07-19 2018-07-19 Gpu中一种染色片段调度管理的硬件加速实现方法

Publications (2)

Publication Number Publication Date
CN108958921A CN108958921A (zh) 2018-12-07
CN108958921B true CN108958921B (zh) 2023-06-20

Family

ID=64497469

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810797837.1A Active CN108958921B (zh) 2018-07-19 2018-07-19 Gpu中一种染色片段调度管理的硬件加速实现方法

Country Status (1)

Country Link
CN (1) CN108958921B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101124613A (zh) * 2004-09-13 2008-02-13 辉达公司 片段着色管线中增加的按比例缩放性
CN101802874A (zh) * 2007-09-14 2010-08-11 高通股份有限公司 图形处理单元中的片段着色器旁路及其设备和方法
US8174534B2 (en) * 2007-12-06 2012-05-08 Via Technologies, Inc. Shader processing systems and methods
CN105630441A (zh) * 2015-12-11 2016-06-01 中国航空工业集团公司西安航空计算技术研究所 一种基于统一染色技术的gpu体系架构

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101124613A (zh) * 2004-09-13 2008-02-13 辉达公司 片段着色管线中增加的按比例缩放性
CN101802874A (zh) * 2007-09-14 2010-08-11 高通股份有限公司 图形处理单元中的片段着色器旁路及其设备和方法
US8174534B2 (en) * 2007-12-06 2012-05-08 Via Technologies, Inc. Shader processing systems and methods
CN105630441A (zh) * 2015-12-11 2016-06-01 中国航空工业集团公司西安航空计算技术研究所 一种基于统一染色技术的gpu体系架构

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
图形处理器中双核顶点染色器的设计与实现;史少旭;韩俊刚;刘欢;;微电子学与计算机(02);全文 *

Also Published As

Publication number Publication date
CN108958921A (zh) 2018-12-07

Similar Documents

Publication Publication Date Title
US20120256922A1 (en) Multithreaded Processor and Method for Realizing Functions of Central Processing Unit and Graphics Processing Unit
KR100617998B1 (ko) 시간 할당기를 갖는 그래픽 렌더링 엔진을 포함하는 장치,방법 및 시스템
TWI428852B (zh) 著色器處理系統與方法
US8766996B2 (en) Unified virtual addressed register file
KR100864998B1 (ko) 명령 전송 제어 장치 및 명령 전송 제어 방법
US20130293546A1 (en) Dynamic load balancing apparatus and method for graphic processing unit (gpu)
US20090160867A1 (en) Autonomous Context Scheduler For Graphics Processing Units
US7461240B2 (en) Command execution controlling apparatus, command execution instructing apparatus and command execution controlling method
JP2000057329A (ja) 処理分担動的変更方法及びコンピュータ
US20060085795A1 (en) Memory control method of graphic processor unit
US8363059B2 (en) Rendering processing apparatus, parallel processing apparatus, and exclusive control method
US10902545B2 (en) GPU task scheduling
CN107430787A (zh) 在共享着色器核心上提供异步显示着色器功能
US8368704B2 (en) Graphic processor and information processing device
US10032097B2 (en) Image processing device, image processing method, and control program
CN113342485A (zh) 任务调度方法、装置、图形处理器、计算机系统及存储介质
US20080147993A1 (en) Information Processing Unit, System and Method, and Processor
US7383426B2 (en) Processor employing loadable configuration parameters to reduce or eliminate setup and pipeline delays in a pipeline system
CN108958921B (zh) Gpu中一种染色片段调度管理的硬件加速实现方法
CN211403419U (zh) 基于二值化算法的加速控制系统、芯片及机器人
WO2022011841A1 (zh) Gpgpu中簇的实现方法、装置、终端及介质
CN113590315A (zh) 多显卡大模型渲染方法
US20070070077A1 (en) Instruction removing mechanism and method using the same
US7999814B2 (en) Information processing apparatus, graphics processor, control processor and information processing methods
CN113994363A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200608

Address after: 2515, runheng building, CaiTian Road, Fushan community, Futian street, Futian District, Shenzhen City, Guangdong Province

Applicant after: Shenzhen Investment rongmai Network Technology Co.,Ltd.

Address before: 213000 No. 181 Yulong South Road, Zhonglou District, Changzhou City, Jiangsu Province, Science Fusion Development Co., Ltd. 9391

Applicant before: XINSHITU (CHANGZHOU) MICROELECTRONIC Co.,Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200709

Address after: 21300 no.g008, 21300 Yulong South Road, Zhonglou District, Changzhou City, Jiangsu Province

Applicant after: Zhihui microelectronics technology (Changzhou) Co.,Ltd.

Address before: 2515, runheng building, CaiTian Road, Fushan community, Futian street, Futian District, Shenzhen City, Guangdong Province

Applicant before: Shenzhen Investment rongmai Network Technology Co.,Ltd.

CB02 Change of applicant information
CB02 Change of applicant information

Address after: 114, Floor 1, Innovation Center, No. 2, Qiande Road, Jiangning District, Nanjing, Jiangsu, 210000

Applicant after: Zhihua microelectronics technology (Nanjing) Co.,Ltd.

Address before: 213 Yulong South Road, Zhonglou District, Changzhou City, Jiangsu Province

Applicant before: Zhihui microelectronics technology (Changzhou) Co.,Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20230301

Address after: Room 502, Building 1, No. 3, Lianyu Road, Jiangning District, Nanjing, Jiangsu Province, 210000

Applicant after: Nanjing Junwei Semiconductor Technology Co.,Ltd.

Address before: 114, Floor 1, Innovation Center, No. 2, Qiande Road, Jiangning District, Nanjing, Jiangsu, 210000

Applicant before: Zhihua microelectronics technology (Nanjing) Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A Hardware Accelerated Implementation Method for Dyeing Fragment Scheduling Management in GPU

Granted publication date: 20230620

Pledgee: Zijin Branch of Nanjing Bank Co.,Ltd.

Pledgor: Nanjing Junwei Semiconductor Technology Co.,Ltd.

Registration number: Y2024980008053