CN106776023A - 一种自适应gpu统一染色阵列任务负载均衡方法 - Google Patents

一种自适应gpu统一染色阵列任务负载均衡方法 Download PDF

Info

Publication number
CN106776023A
CN106776023A CN201611139602.0A CN201611139602A CN106776023A CN 106776023 A CN106776023 A CN 106776023A CN 201611139602 A CN201611139602 A CN 201611139602A CN 106776023 A CN106776023 A CN 106776023A
Authority
CN
China
Prior art keywords
core
idle
pixel
vertex
dyeing
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.)
Granted
Application number
CN201611139602.0A
Other languages
English (en)
Other versions
CN106776023B (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.)
Xian Aeronautics Computing Technique Research Institute of AVIC
Original Assignee
Xian Aeronautics Computing Technique Research Institute of AVIC
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 Xian Aeronautics Computing Technique Research Institute of AVIC filed Critical Xian Aeronautics Computing Technique Research Institute of AVIC
Priority to CN201611139602.0A priority Critical patent/CN106776023B/zh
Publication of CN106776023A publication Critical patent/CN106776023A/zh
Application granted granted Critical
Publication of CN106776023B publication Critical patent/CN106776023B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Abstract

本发明属于图形处理器设计领域,公开了一种自适应GPU统一染色阵列任务负载均衡方法,包括:步骤1、实时统计GPU统一染色阵列n个统一染色核心(unified shading core)的负载状态;步骤2、根据负载状态判定GPU统一染色阵列是否需要执行资源分配操作;步骤3、选择资源分配方案;步骤4、依据资源分配方案实施资源分配与映射。

Description

一种自适应GPU统一染色阵列任务负载均衡方法
技术领域
本发明属于图形处理器设计领域,涉及一种自适应GPU统一染色阵列任务负载均衡的方法。
背景技术
图形处理器(Graphic Process Unit,GPU)是现代计算机硬件的重要组成部分,是进行图形绘制、处理和显示的关键部件,普遍存在于工作站、个人电脑、笔记本、手机以及各类需进行图形显示的系统中。GPU负责产生2D和3D的图形、图像和视频,以支持基于窗口的操作系统、图形用户界面、视频游戏、可视化图像应用和视频播放等可视化计算。GPU流水线高速、并行的特征和灵活的可编程能力,为图形处理和通用并行计算提供了良好的运行平台。
研制具有自主知识产权的图形处理器芯片已迫在眉睫,自适应GPU统一染色阵列任务负载均衡方法作为统一染色GPU的关键和核心,对其设计技术进行研究和突破已刻不容缓。
发明内容
本发明的目的是:提供一种自适应GPU统一染色阵列任务负载均衡方法,突破统一染色GPU统一染色阵列资源动态分配和负载均衡的关键技术。
本发明的技术解决方案是:
一种自适应GPU统一染色阵列任务负载均衡方法,包括:
实时产生GPU统一染色阵列的两种负载状态标识,以n个统一染色核心的当前状态和任务类型为输入,根据设定的算法产生两种负载状态标识:idle vertex core(空闲顶点核心),idle pixel core(空闲像素核心),将两种负载状态标识输出到步骤2;
判定是否需要执行资源分配操作,将步骤1实时统计的GPU统一染色阵列的两种负载状态idle vertex core,idle pixel core为输入,依据预设的判定算法产生是否需要执行资源分配操 作的判定标志,将判定标志和两种负载状态输出到步骤3;
步骤3、选择资源分配方案,依据步骤2输出的判定标志和两种负载状态idlevertex core,idle pixel core作为输入,如果需要执行资源分配,则使用设定的算法判定系统性能瓶颈的类型,根据性能瓶颈的类型选择资源分配方案,将资源分配方案输出到步骤4,否则,结束流程;
步骤4、实施资源分配与映射,以步骤3输出的资源分配方案作为控制条件,使用宽度优先的空闲统一染色核心查询算法选择1个空闲的core,将统一染色核心分配给指定的染色任务。
具体的,n的取值为2-80的整数。
步骤1中所述设定的算法具体为:
Idle vertex core:每个统一染色核心的状态包括:当前状态(idle\busy),任务类型(vertex\Pixel);当某个核心的状态为idle&vertex,则该核心为空闲vertex核心;该核心对应的标志位被置为1,根据n个核心标志位的值产生2bit的Idle vertex core;当n个统一染色核心的标识位全部为0,Idle vertex core为00,00表示GPU存在0个vertex类型的空闲统一染色核心;当n个统一染色核心的标识位有1个为1,Idle vertex core为01,01表示GPU存在1个vertex类型的空闲统一染色核心;当n个统一染色核心的标识位既不是全部为0并且不是只有1个统一染色核心的标识位为1,Idle vertex core为10,10表示GPU存在2个及以上vertex类型的空闲统一染色核心;Idle vertex core为11无意义;
Idle pixel core:当某个统一染色核心的状态为idle&pixel,则该统一染色核心为空闲pixel core;该统一染色核心对应的标志位被置为1,根据n个统一染色核心标志位的值产生2bit的Idle pixel core;当n个统一染色核心的标识位全部为0,Idle pixelcore为00,00表示GPU存在0个pixel类型的空闲统一染色核心;当n个统一染色核心的标识位有1个为1,Idle pixel core为01,01表示GPU存在1个pixel类型的空闲统一染色核心;当n个统一染色核心的标识位既不是全部为0并且不是只有1个统一染色核心的标识位为1,Idle pixel core为10,10表示GPU存在2个及以上pixel类型的空闲统一染色核心;Idlepixel core为11无意义。
步骤2中所述预设的判定算法具体为:
以负载状态标识Idle vertex core和Idle pixel core为输入,当Idle vertexcore不为00,并且Idle pixel core不为00,说明系统不存在性能瓶颈,不执行负载均衡操作,否则,资源映射与分配单元可能需要执行资源分配操作。
步骤3中所述设定的算法具体为:
依据Idle vertex core和Idle pixel core的值,能够实施负载均衡操作的情况包括:
当Idle vertex core为00,存在0个空闲vertex核心,Idle pixel core为10,存在2个及以上空闲pixel核,总体上系统存在2个及以上空闲统一染色核心,并且为pixel类型的,说明pixel负载较vertex负载轻,资源分配方案:将1个空闲pixel core送给vertex任务;
当Idle vertex core为01,存在1个空闲vertex核心,Idle pixel core为0,存在0个空闲pixel核心,总体上系统仅存在1个空闲统一染色核心,为了确保GPU流水线的通畅性,将该空闲统一染色核心给pixel任务使用,资源分配方案:将1个空闲vertex core送给pixel任务;
当Idle vertex core为10,存在2个及以上空闲vertex核心,Idle pixel core为0,存在0个空闲pixel核心,总体上系统存在“2个及以上”的空闲统一染色核心,说明vertex负载较pixel负载轻,将1个空闲统一染色核心送给pixel任务使用,资源分配方案:将1个空闲vertex core送给pixel任务;
依据Idle vertex core和Idle pixel core的值,不实施负载均衡操作的情况包括:
当Idle vertex core不为0,并且Idle pixel core不为0,系统处于负载均衡状态,不执行资源分配与映射操作;当Idle vertex core为0,并且Idle pixel core为0,则系统无法实施负载均衡,无需执行资源分配与映射操作;
当Idle vertex core为0,并且Idle pixel core为01,系统仅存在1个空闲统一染色核心,并且为pixel类型的,为了确保GPU流水线的通畅性,该空闲统一染色核心给pixel任务使用。为了确保GPU流水线不进入死锁状态,不允许执行负载均衡,无需执行资源分配与映射操作。
步骤4中所述宽度优先的空闲统一染色核心查询算法具体为:
如果GPU统一染色阵列具m个SSC,每个SSC具有8个统一染色核心,m*8等于n,m个SSC优先级从高到低依次为:SSC1,SSC2,SSC3,SSC4,SSC5,…,SSCm;n个统一染色核心的优先级顺序从高到低依次为:SSC1的统一染色核心1,SSC2的统一染色核心1,SSC3的统一染色核心1,SSC4的统一染色核心1,…,SSCm的统一染色核心1,SSC1的统一染色核心2,SSC2的统一染色核心2,SSC3的统一染色核心2,SSC4的统一染色核心2,…,SSCm的统一染色核心2,…,SSC1的统一染色核心8,SSC2的统一染色核心8,SSC3的统一染色核心8,SSC4的统一染色核心8,…,SSCm的统一染色核心8。
本发明的技术效果是:
1、本发明涉及一种自适应GPU统一染色阵列任务负载均衡方法,包括:步骤1、实时统计统一染色阵列n个统一染色核心的负载状态;步骤2、判定是否需要执行资源分配操作。步骤3、根据系统性能瓶颈的类型自适应的选择资源分配方案;步骤4、使用宽度优先的空闲统一染色核查找算法实施资源映射。以上四方面的特征使得GPU统一染色阵列任务负载均衡方法能够实现自适应的任务负载均衡功能。
2、自适应GPU统一染色阵列任务负载均衡方法的基本功能包括:产生负载状态标志;判定性能瓶颈类型;选择资源分配方案;实施资源映射。
3、本发明突破了图形处理器设计中自适应GPU统一染色阵列任务负载均衡方法的设计技术,可用于国产图形处理器芯片的研制。
附图说明:
图1是本发明自适应GPU统一染色阵列任务负载均衡方法的整体框图,包含:步骤1,实时统计n个统一染色核心的负载状态;步骤2,判定统一染色资源是否负载均衡;步骤3,根据负载状态自适应的选择资源分配方案;步骤4,资源分配与映射操作。
具体实施方式:
下面结合附图和具体实施例,对本发明的技术方案进行清楚、完整地表述。显然,所表述的实施例仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提所获得的所有其他实施例,都属于本发明的保护范围。
一种自适应GPU统一染色阵列任务负载均衡方法,包括:
实时产生GPU统一染色阵列的两种负载状态标识,以n个统一染色核心的当前状态和任务类型为输入,根据设定的算法产生两种负载状态标识:idle vertex core(空闲顶点核心),idle pixel core(空闲像素核心),将两种负载状态标识输出到步骤2;
判定是否需要执行资源分配操作,将步骤1实时统计的GPU统一染色阵列的两种负载状态idle vertex core,idle pixel core为输入,依据预设的判定算法产生是否需要执行资源分配操作的判定标志,将判定标志和两种负载状态输出到步骤3;
步骤3、选择资源分配方案,依据步骤2输出的判定标志和两种负载状态idlevertex core,idle pixel core作为输入,如果需要执行资源分配,则使用设定的算法判定系统性能瓶颈的类型,根据性能瓶颈的类型选择资源分配方案,将资源分配方案输出到步骤4,否则,结束流程;
步骤4、实施资源分配与映射,以步骤3输出的资源分配方案作为控制条件,使用宽度优先的空闲统一染色核心查询算法选择1个空闲的core,将统一染色核心分配给指定的染色任务。
具体的,n的取值为2-80的整数。
步骤1中所述设定的算法具体为:
Idle vertex core:每个统一染色核心的状态包括:当前状态(idle\busy),任务类型(vertex\Pixel);当某个核心的状态为idle&vertex,则该核心为空闲vertex核心;该核心对应的标志位被置为1,根据n个核心标志位的值产生2bit的Idle vertex core;当n个统一染色核心的标识位全部为0,Idle vertex core为00,00表示GPU存在0个vertex类型的空闲统一染色核心;当n个统一染色核心的标识位有1个为1,Idle vertex core为01,01表示GPU存在1个vertex类型的空闲统一染色核心;当n个统一染色核心的标识位既不是全部为0并且不是只有1个统一染色核心的标识位为1,Idle vertex core为10,10表示GPU存在2个及以上vertex类型的空闲统一染色核心;Idle vertex core为11无意义;
Idle pixel core:当某个统一染色核心的状态为idle&pixel,则该统一染色核心为空闲pixel core;该统一染色核心对应的标志位被置为1,根据n个统一染色核心标志位的值产生2bit的Idle pixel core;当n个统一染色核心的标识位全部为0,Idle pixelcore为00,00表示GPU存在0个pixel类型的空闲统一染色核心;当n个统一染色核心的标识位有1个为1,Idle pixel core为01,01表示GPU存在1个pixel类型的空闲统一染色核心;当n个统一染色核心的标识位既不是全部为0并且不是只有1个统一染色核心的标识位为1,Idle pixel core为10,10表示GPU存在2个及以上pixel类型的空闲统一染色核心;Idlepixel core为11无意义。
步骤2中所述预设的判定算法具体为:
以负载状态标识Idle vertex core和Idle pixel core为输入,当Idle vertexcore不为00,并且Idle pixel core不为00,说明系统不存在性能瓶颈,不执行负载均衡操作,否则,资源映射与分配单元可能需要执行资源分配操作。
步骤3中所述设定的算法具体为:
依据Idle vertex core和Idle pixel core的值,能够实施负载均衡操作的情况包括:
当Idle vertex core为00,存在0个空闲vertex核心,Idle pixel core为10,存在2个及以上空闲pixel核,总体上系统存在2个及以上空闲统一染色核心,并且为pixel类型的,说明pixel负载较vertex负载轻,资源分配方案:将1个空闲pixel core送给vertex任务;
当Idle vertex core为01,存在1个空闲vertex核心,Idle pixel core为0,存在0个空闲pixel核心,总体上系统仅存在1个空闲统一染色核心,为了确保GPU流水线的通畅性,将该空闲统一染色核心给pixel任务使用,资源分配方案:将1个空闲vertex core送给pixel任务;
当Idle vertex core为10,存在2个及以上空闲vertex核心,Idle pixel core为0,存在0个空闲pixel核心,总体上系统存在“2个及以上”的空闲统一染色核心,说明vertex负载较pixel负载轻,将1个空闲统一染色核心送给pixel任务使用,资源分配方案:将1个空闲vertex core送给pixel任务;
依据Idle vertex core和Idle pixel core的值,不实施负载均衡操作的情况包括:
当Idle vertex core不为0,并且Idle pixel core不为0,系统处于负载均衡状态,不执行资源分配与映射操作;当Idle vertex core为0,并且Idle pixel core为0,则系统无法实施负载均衡,无需执行资源分配与映射操作;
当Idle vertex core为0,并且Idle pixel core为01,系统仅存在1个空闲统一染色核心,并且为pixel类型的,为了确保GPU流水线的通畅性,该空闲统一染色核心给pixel任务使用。为了确保GPU流水线不进入死锁状态,不允许执行负载均衡,无需执行资源分配与映射操作。
步骤4中所述宽度优先的空闲统一染色核心查询算法具体为:
如果GPU统一染色阵列具m个SSC,每个SSC具有8个统一染色核心,m*8等于n,m个SSC优先级从高到低依次为:SSC1,SSC2,SSC3,SSC4,SSC5,…,SSCm;n个统一染色核心的优先级顺序从高到低依次为:SSC1的统一染色核心1,SSC2的统一染色核心1,SSC3的统一染色核心1,SSC4的统一染色核心1,…,SSCm的统一染色核心1,SSC1的统一染色核心2,SSC2的统一染色核心2,SSC3的统一染色核心2,SSC4的统一染色核心2,…,SSCm的统一染色核心2,…,SSC1的统一染色核心8,SSC2的统一染色核心8,SSC3的统一染色核心8,SSC4的统一染色核心8,…,SSCm的统一染色核心8。
实施例
如图1所示,自适应GPU统一染色阵列任务负载均衡方法的整体框图,包含:包括:步骤1、实时统计n个统一染色核心的负载状态;步骤2、是否需要执行资源分配操作;步骤3、选择资源分配方案;步骤4、资源分配与映射。
下面详细介绍每个步骤的具体功能和算法:
1、步骤1:实时统计n个统一染色核心的负载状态。为自适应GPU统一染色阵列任务负载均衡方法提供输入数据,实时统计GPU统一染色资源的负载状态,产生Idle vertexcore和Idle pixel core两种负载状态标识,具体定义如下。
1.1、Idle vertex core:每个统一染色核心的状态包括:当前状态(idle\busy),任务类型(vertex\Pixel)。当某个核心的状态为idle&vertex,则该核心为空闲vertex核心。该核心对应的标志位被置为1,根据n个核心标志位的值产生2bit的Idle vertex core。当n个统一染色 核心的标识位全部为0,Idle vertex core为00,00表示GPU存在0个vertex类型的空闲统一染色核心;当n个统一染色核心的标识位有1个为1,Idle vertex core为01,01表示GPU存在1个vertex类型的空闲统一染色核心;当n个统一染色核心的标识位既不是全部为0并且不是只有1个统一染色核心的标识位为1,Idle vertex core为10,10表示GPU存在2个及以上vertex类型的空闲统一染色核心;Idle vertex core为11无意义。
1.2、Idle pixel core:当某个统一染色核心的状态为idle&pixel,则该统一染色核心为空闲pixel core。该统一染色核心对应的标志位被置为1,根据n个统一染色核心标志位的值产生2bit的Idle pixel core。当n个统一染色核心的标识位全部为0,Idle pixelcore为00,00表示GPU存在0个pixel类型的空闲统一染色核心;当n个统一染色核心的标识位有1个为1,Idle pixel core为01,01表示GPU存在1个pixel类型的空闲统一染色核心;当n个统一染色核心的标识位既不是全部为0并且不是只有1个统一染色核心的标识位为1,Idle pixel core为10,10表示GPU存在2个及以上pixel类型的空闲统一染色核心;Idlepixel core为11无意义。
2、步骤2:判定系统是否需要实施资源分配。以负载状态标识Idle vertex core和Idle pixel core为输入,当Idle vertex core不为00,并且Idle pixel core不为00,说明系统不存在性能瓶颈,不执行负载均衡操作,否则,资源映射与分配单元可能需要执行资源分配操作,进入步骤3。
3、步骤3:选择资源分配方案。系统可能需要实施负载均衡,根据性能瓶颈的类型自适应的选择资源分配方案。依据Idle vertex core和Idle pixel core的值,能够实施负载均衡操作的情况包括:当Idle vertex core为00,存在0个空闲vertex核心,Idle pixelcore为10,存在2个及以上空闲pixel核,总体上系统存在2个及以上空闲统一染色核心,并且为pixel类型的,说明pixel负载较vertex负载轻。资源分配方案:将1个空闲pixel core送给vertex任务;当Idle vertex core为01,存在1个空闲vertex核心,Idle pixel core为0,存在0个空闲pixel核心,总体上系统仅存在1个空闲统一染色核心,为了确保GPU流水线的通畅性,将该空闲统一染色核心给pixel任务使用。资源分配方案:将1个空闲vertexcore送给pixel任务;当Idle vertex core为10,存在2个及以上空闲vertex核心,Idlepixel core为0,存在0个空闲pixel核心,总体上系统存在“2个及以上”的空闲统一染色核心,说明vertex负载较pixel负载轻,将1个空闲统一染色核心送给pixel任务使用。资源分配方案:将1个空闲vertex core送给pixel任务。依据Idle vertex core和Idle pixelcore的值,不实施负载均衡操作的情况包括:当Idle vertex core不为0,并且Idle pixelcore不为0,系统处于负载均衡状态,不执行资源分 配与映射操作;当Idle vertex core为0,并且Idle pixel core为0,则系统无法实施负载均衡,无需执行资源分配与映射操作;当Idle vertex core为0,并且Idle pixel core为01,系统仅存在1个空闲统一染色核心,并且为pixel类型的,为了确保GPU流水线的通畅性,该空闲统一染色核心给pixel任务使用。为了确保GPU流水线不进入死锁状态,不允许执行负载均衡,无需执行资源分配与映射操作。
4、步骤4:资源分配与映射。依据步骤3输出的资源分配方案,当GPU需要为pixel任务增加统一染色资源,则按照宽度优先的方法执行空闲统一染色核心查询操作,将第1个idle状态的Vertex Core作为资源映射的对象,将此统一染色核心的状态修改为Pixel&idle。当GPU需要为Vertex任务增加统一染色资源,则按照宽度优先方法执行空闲统一染色核心查询操作,将第1个idle状态的Pixel Core作为资源映射的对象,将此统一染色核心的状态修改为Vertex&idle。宽度优先的资源映射算法的描述如下:如果GPU统一染色阵列具m个SSC,每个SSC具有8个统一染色核心,m*8等于n,m个SSC优先级从高到低依次为:SSC1,SSC2,SSC3,SSC4,SSC5,…,SSCm。在宽度优先的资源映射方法中,n个统一染色核心的优先级顺序从高到低依次为:SSC1的统一染色核心1,SSC2的统一染色核心1,SSC3的统一染色核心1,SSC4的统一染色核心1,…,SSCm的统一染色核心1,SSC1的统一染色核心2,SSC2的统一染色核心2,SSC3的统一染色核心2,SSC4的统一染色核心2,…,SSCm的统一染色核心2,…,SSC1的统一染色核心8,SSC2的统一染色核心8,SSC3的统一染色核心8,SSC4的统一染色核心8,…,SSCm的统一染色核心8。宽度优先资源映射算法能使同一类染色任务均匀分布在m个SSC中,最大限度的提高同一类染色任务的并行度,使得GPU取得高性能。在资源分配阶段,宽度优先资源映射算法使得每个SSC既具有Vertex类型的统一染色核心,也具有pixel类型的统一染色核心,能够支持SSC内部染色任务的交错执行,隐藏长存储器访问延迟,提高统一染色核心的计算资源利用率。
最后应说明的是,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (6)

1.一种自适应GPU统一染色阵列任务负载均衡方法,其特征在于,包括:
步骤1、实时产生GPU统一染色阵列的两种负载状态标识,以n个统一染色核心的当前状态和任务类型为输入,根据设定的算法产生两种负载状态标识:idle vertex core(空闲顶点核心),idle pixel core(空闲像素核心),将两种负载状态标识输出到步骤2;
步骤2、判定是否需要执行资源分配操作,将步骤1实时统计的GPU统一染色阵列的两种负载状态idle vertex core,idle pixel core为输入,依据预设的判定算法产生是否需要执行资源分配操作的判定标志,将判定标志和两种负载状态输出到步骤3;
步骤3、选择资源分配方案,依据步骤2输出的判定标志和两种负载状态idle vertexcore,idle pixel core作为输入,如果需要执行资源分配,则使用设定的算法判定系统性能瓶颈的类型,根据性能瓶颈的类型选择资源分配方案,将资源分配方案输出到步骤4,否则,结束流程;
步骤4、实施资源分配与映射,以步骤3输出的资源分配方案作为控制条件,使用宽度优先的空闲统一染色核心查询算法选择1个空闲的core,将统一染色核心分配给指定的染色任务。
2.如权利要求1所述的一种自适应GPU统一染色阵列任务负载均衡方法,其特征在于,n的取值为2-80的整数。
3.如权利要求1所述的一种自适应GPU统一染色阵列任务负载均衡方法,其特征在于,步骤1中所述设定的算法具体为:
Idle vertex core:每个统一染色核心的状态包括:当前状态(idle\busy),任务类型(vertex\Pixel);当某个核心的状态为idle&vertex,则该核心为空闲vertex核心;该核心对应的标志位被置为1,根据n个核心标志位的值产生2bit的Idle vertex core;当n个统一染色核心的标识位全部为0,Idle vertex core为00,00表示GPU存在0个vertex类型的空闲统一染色核心;当n个统一染色核心的标识位有1个为1,Idle vertex core为01,01表示GPU存在1个vertex类型的空闲统一染色核心;当n个统一染色核心的标识位既不是全部为0并且不是只有1个统一染色核心的标识位为1,Idle vertex core为10,10表示GPU存在2个及以上vertex类型的空闲统一染色核心;Idle vertex core为11无意义;
Idle pixel core:当某个统一染色核心的状态为idle&pixel,则该统一染色核心为空闲pixel core;该统一染色核心对应的标志位被置为1,根据n个统一染色核心标志位的值产生2bit的Idle pixel core;当n个统一染色核心的标识位全部为0,Idle pixel core为00,00表示GPU存在0个pixel类型的空闲统一染色核心;当n个统一染色核心的标识位有1个为1,Idle pixel core为01,01表示GPU存在1个pixel类型的空闲统一染色核心;当n个统一染色核心的标识位既不是全部为0并且不是只有1个统一染色核心的标识位为1,Idlepixel core为10,10表示GPU存在2个及以上pixel类型的空闲统一染色核心;Idlepixelcore为11无意义。
4.如权利要求1所述的一种自适应GPU统一染色阵列任务负载均衡方法,其特征在于,步骤2中所述预设的判定算法具体为:
以负载状态标识Idle vertex core和Idle pixel core为输入,当Idle vertex core不为00,并且Idle pixel core不为00,说明系统不存在性能瓶颈,不执行负载均衡操作,否则,资源映射与分配单元可能需要执行资源分配操作。
5.如权利要求1所述的一种自适应GPU统一染色阵列任务负载均衡方法,其特征在于,步骤3中所述设定的算法具体为:
依据Idle vertex core和Idle pixel core的值,能够实施负载均衡操作的情况包括:
当Idle vertex core为00,存在0个空闲vertex核心,Idle pixel core为10,存在2个及以上空闲pixel核,总体上系统存在2个及以上空闲统一染色核心,并且为pixel类型的,说明pixel负载较vertex负载轻,资源分配方案:将1个空闲pixel core送给vertex任务;
当Idle vertex core为01,存在1个空闲vertex核心,Idle pixel core为0,存在0个空闲pixel核心,总体上系统仅存在1个空闲统一染色核心,为了确保GPU流水线的通畅性,将该空闲统一染色核心给pixel任务使用,资源分配方案:将1个空闲vertex core送给pixel任务;
当Idle vertex core为10,存在2个及以上空闲vertex核心,Idle pixel core为0,存在0个空闲pixel核心,总体上系统存在“2个及以上”的空闲统一染色核心,说明vertex负载较pixel负载轻,将1个空闲统一染色核心送给pixel任务使用,资源分配方案:将1个空闲vertex core送给pixel任务;
依据Idle vertex core和Idle pixel core的值,不实施负载均衡操作的情况包括:
当Idle vertex core不为0,并且Idle pixel core不为0,系统处于负载均衡状态,不执行资源分配与映射操作;当Idle vertex core为0,并且Idle pixel core为0,则系统无法实施负载均衡,无需执行资源分配与映射操作;
当Idle vertex core为0,并且Idle pixel core为01,系统仅存在1个空闲统一染色核心,并且为pixel类型的,为了确保GPU流水线的通畅性,该空闲统一染色核心给pixel任务使用。为了确保GPU流水线不进入死锁状态,不允许执行负载均衡,无需执行资源分配与映射操作。
6.如权利要求1所述的一种自适应GPU统一染色阵列任务负载均衡方法,其特征在于,步骤4中所述宽度优先的空闲统一染色核心查询算法具体为:
如果GPU统一染色阵列具m个SSC,每个SSC具有8个统一染色核心,m*8等于n,m个SSC优先级从高到低依次为:SSC1,SSC2,SSC3,SSC4,SSC5,…,SSCm;n个统一染色核心的优先级顺序从高到低依次为:SSC1的统一染色核心1,SSC2的统一染色核心1,SSC3的统一染色核心1,SSC4的统一染色核心1,…,SSCm的统一染色核心1,SSC1的统一染色核心2,SSC2的统一染色核心2,SSC3的统一染色核心2,SSC4的统一染色核心2,…,SSCm的统一染色核心2,…,SSC1的统一染色核心8,SSC2的统一染色核心8,SSC3的统一染色核心8,SSC4的统一染色核心8,…,SSCm的统一染色核心8。
CN201611139602.0A 2016-12-12 2016-12-12 一种自适应gpu统一染色阵列任务负载均衡方法 Active CN106776023B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611139602.0A CN106776023B (zh) 2016-12-12 2016-12-12 一种自适应gpu统一染色阵列任务负载均衡方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611139602.0A CN106776023B (zh) 2016-12-12 2016-12-12 一种自适应gpu统一染色阵列任务负载均衡方法

Publications (2)

Publication Number Publication Date
CN106776023A true CN106776023A (zh) 2017-05-31
CN106776023B CN106776023B (zh) 2021-08-03

Family

ID=58879969

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611139602.0A Active CN106776023B (zh) 2016-12-12 2016-12-12 一种自适应gpu统一染色阵列任务负载均衡方法

Country Status (1)

Country Link
CN (1) CN106776023B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108109103A (zh) * 2017-12-06 2018-06-01 中国航空工业集团公司西安航空计算技术研究所 一种高性能gpu染色任务与统一染色阵列任务现场映射结构
CN108122190A (zh) * 2017-12-06 2018-06-05 中国航空工业集团公司西安航空计算技术研究所 一种gpu统一染色阵列顶点染色任务属性数据组装方法
CN108154461A (zh) * 2017-12-06 2018-06-12 中国航空工业集团公司西安航空计算技术研究所 一种低功耗gpu染色任务与统一染色阵列任务现场映射结构
CN109800088A (zh) * 2018-11-14 2019-05-24 西安翔腾微电子科技有限公司 基于训练的gpu配置管理方法、装置、存储介质和gpu
CN110795241A (zh) * 2019-10-18 2020-02-14 北京并行科技股份有限公司 一种作业调度管理方法、调度中心和系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101470892A (zh) * 2008-01-25 2009-07-01 威盛电子股份有限公司 绘图处理单元以及执行单元
CN101877116A (zh) * 2008-11-20 2010-11-03 威盛电子股份有限公司 绘图处理单元、执行单元以及工作管理方法
US20130293546A1 (en) * 2012-05-03 2013-11-07 Samsung Electronics Co., Ltd. Dynamic load balancing apparatus and method for graphic processing unit (gpu)
US20140300613A1 (en) * 2003-11-20 2014-10-09 Ati Technologies Ulc Graphics processing architecture employing a unified shader
CN105513003A (zh) * 2015-12-11 2016-04-20 中国航空工业集团公司西安航空计算技术研究所 一种图形处理器统一染色器阵列体系结构
CN105630441A (zh) * 2015-12-11 2016-06-01 中国航空工业集团公司西安航空计算技术研究所 一种基于统一染色技术的gpu体系架构

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140300613A1 (en) * 2003-11-20 2014-10-09 Ati Technologies Ulc Graphics processing architecture employing a unified shader
CN101470892A (zh) * 2008-01-25 2009-07-01 威盛电子股份有限公司 绘图处理单元以及执行单元
CN101877116A (zh) * 2008-11-20 2010-11-03 威盛电子股份有限公司 绘图处理单元、执行单元以及工作管理方法
US20130293546A1 (en) * 2012-05-03 2013-11-07 Samsung Electronics Co., Ltd. Dynamic load balancing apparatus and method for graphic processing unit (gpu)
CN105513003A (zh) * 2015-12-11 2016-04-20 中国航空工业集团公司西安航空计算技术研究所 一种图形处理器统一染色器阵列体系结构
CN105630441A (zh) * 2015-12-11 2016-06-01 中国航空工业集团公司西安航空计算技术研究所 一种基于统一染色技术的gpu体系架构

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108109103A (zh) * 2017-12-06 2018-06-01 中国航空工业集团公司西安航空计算技术研究所 一种高性能gpu染色任务与统一染色阵列任务现场映射结构
CN108122190A (zh) * 2017-12-06 2018-06-05 中国航空工业集团公司西安航空计算技术研究所 一种gpu统一染色阵列顶点染色任务属性数据组装方法
CN108154461A (zh) * 2017-12-06 2018-06-12 中国航空工业集团公司西安航空计算技术研究所 一种低功耗gpu染色任务与统一染色阵列任务现场映射结构
CN108122190B (zh) * 2017-12-06 2021-06-01 中国航空工业集团公司西安航空计算技术研究所 一种gpu统一染色阵列顶点染色任务属性数据组装方法
CN109800088A (zh) * 2018-11-14 2019-05-24 西安翔腾微电子科技有限公司 基于训练的gpu配置管理方法、装置、存储介质和gpu
CN109800088B (zh) * 2018-11-14 2023-06-20 西安翔腾微电子科技有限公司 基于训练的gpu配置管理方法、装置、存储介质和gpu
CN110795241A (zh) * 2019-10-18 2020-02-14 北京并行科技股份有限公司 一种作业调度管理方法、调度中心和系统

Also Published As

Publication number Publication date
CN106776023B (zh) 2021-08-03

Similar Documents

Publication Publication Date Title
CN106776023A (zh) 一种自适应gpu统一染色阵列任务负载均衡方法
CN101833542B (zh) 一种用户界面字体渲染方法及装置
CN105574920B (zh) 材质贴图生成方法及装置、材质合成方法及装置
CN106296785A (zh) 一种图片渲染方法及图片渲染设备
CN105574808B (zh) 一种流水线纹理贴图单元系统
CN109976735B (zh) 一种基于web可视化的知识图谱算法应用平台
US10489946B1 (en) Generalized primitives for smooth coloring of vector graphics artwork in constant time
JP6491957B2 (ja) 電子機器および画像処理方法
CN106126229A (zh) 特效生成方法及装置
CN107517312A (zh) 一种壁纸切换方法、装置及终端设备
CN106651744A (zh) 一种低功耗gpu染色任务与统一染色阵列任务现场映射结构
CN106776455A (zh) 一种单机多gpu通信的方法及装置
CN111784817A (zh) 阴影的展示方法和装置、存储介质、电子装置
CN106157353B (zh) 一种文字渲染方法和文字渲染装置
CN107360031A (zh) 一种基于优化开销收益比的虚拟网络映射方法
CN106681735A (zh) 基于字体生成动态图标的方法、装置及设备
CN106296782B (zh) 一种文字渲染方法和文字渲染装置
CN106909383A (zh) 应用程序的显示方法及显示装置
CN112464040B (zh) 图结构识别、可视化展示及显示操作方法及装置
US20240005446A1 (en) Methods, systems, and non-transitory storage media for graphics memory allocation
Jin et al. OPT: optimal human visual system-aware and power-saving color transformation for mobile AMOLED displays
CN107632830B (zh) 一种溢出优化的寄存器分配方法及系统
Sandoval et al. Runtime hardware/software task transition scheduling for data-adaptable embedded systems
CN106133838A (zh) 一种可扩展可配置的fpga存储结构和fpga器件
CN104021579A (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