掌桥专利:专业的专利平台
掌桥专利
首页

图形处理器的动态调整参数的方法、图形处理器和系统

文献发布时间:2023-06-19 18:30:43


图形处理器的动态调整参数的方法、图形处理器和系统

技术领域

本申请涉及图形处理器技术领域,尤其涉及一种图形处理器的动态调整参数的方法、图形处理器和系统。

背景技术

图形处理器(Graphic Processing Unit,GPU)在处理不同任务或处于不同模式的情况下,其所需的性能要求可能不同,如果不能及时地对GPU芯片的参数进行调整,容易影响GPU芯片的性能或造成功耗的浪费。例如,在GPU芯片需要工作在峰值性能时,若无法将芯片的操作功率及时地调整到相应的水平,GPU芯片将无法达到峰值性能;在GPU芯片工作在低性能时,若无法将芯片的操作功率及时地调整到较低的水平,将造成功耗的浪费。

如何动态调整图形处理器的参数已成为亟待解决的问题。

应该注意,上面对技术背景的介绍只是为了方便对本申请的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本申请的背景技术部分进行了阐述而认为上述技术方案为本领域技术人员所公知。

发明内容

本申请的发明人发现,可以通过动态电压频率调整(Dynamic voltage andfrequency scaling,DVFS)方案,在GPU芯片的不同的性能点,配置对应的电压和频率,以实现更好的能效比。例如,部分方案在系统级芯片(System on Chip,SOC)上集成DVFS硬件模块,通过硬件的方式检测当前的性能是否超过当前的电压频率对应的性能,并通过硬件的方式确定合适的电压频率,通过电源管理集成电路(Power Management IC,PMIC)对设备进行电压频率调节。部分方案在SOC内集成DVFS硬件模块,并且还集成时钟管理单元(ClockManagement Unit,CMU)和功耗管理单元(Power Management Unit,PMU),通过硬件的方式触发DVFS模块,调整CMU和PMU。

上述针对GPU芯片的电压和频率的调整是通过在GPU芯片中集成硬件DVFS模块的方式实现的。对于未集成硬件DVFS模块的GPU芯片而言,无法通过硬件直接进行电压和频率的调整。并且,在GPU芯片中集成硬件DVFS模块的复杂度和成本较高,不便于调整,灵活性较差。

为了解决上述技术问题中的至少一个或类似的技术问题,本申请实施例提供一种图形处理器的动态调整参数的方法、图形处理器和系统,在GPU芯片中未集成硬件DVFS模块的情况下,也可以实现GPU参数的动态调整。

本申请实施例提供一种图形处理器的动态调整参数的方法,所述方法包括:确定所述图形处理器在处理当前任务时的第一性能数据,将所述第一性能数据发送给所述图形处理器之外的外部处理单元;从所述外部处理单元接收根据所述第一性能数据确定的控制信息;以及根据所述控制信息调整所述图形处理器的参数。

本申请实施例还提供一种图形处理器,所述图形处理器包括:第一单元,其确定所述图形处理器在处理当前任务时的第一性能数据,将所述第一性能数据发送给所述图形处理器之外的外部处理单元;以及第二单元,其从所述外部处理单元接收根据所述第一性能数据确定的控制信息,根据所述控制信息调整所述图形处理器的参数。

本申请实施例还提供一种动态调整图形处理器的参数的方法,所述方法包括:从图形处理器接收所述图形处理器在处理当前任务时的第一性能数据;根据所述第一性能数据确定控制信息;以及将所述控制信息发送给所述图形处理器,使所述图形处理器根据所述控制信息调整所述图形处理器的参数。

本申请实施例还提供一种用于动态调整图形处理器的参数的处理器,所述处理器包括:接收单元,其从图形处理器接收所述图形处理器在处理当前任务时的第一性能数据;处理单元,其根据所述第一性能数据确定控制信息;以及发送单元,其将所述控制信息发送给所述图形处理器,使所述图形处理器根据所述控制信息调整所述图形处理器的参数。

本申请实施例还提供一种动态调整参数的系统,所述系统包括:图形处理器以及外部处理单元,其中,所述图形处理器的第一单元确定所述图形处理器在处理当前任务时的第一性能数据,将所述第一性能数据发送给所述外部处理单元;所述外部处理单元根据所述第一性能数据确定控制信息,将所述控制信息发送给所述图形处理器的第二单元;所述图形处理器的第二单元根据所述控制信息调整所述图形处理器的参数。

本申请实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法。

本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述方法。

本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述方法。

本申请实施例的有益效果在于:图形处理器通过从外部处理单元获取用于调整图形处理器的参数的控制信息,并根据该控制信息调整相应的参数,由此,在图形处理器芯片中未集成硬件DVFS模块的情况下,也可以实现图形处理器的参数的动态调整。

参照后文的说明和附图,详细公开了本申请的特定实施方式,指明了本申请的原理可以被采用的方式。应该理解,本申请的实施方式在范围上并不因而受到限制。在所附权利要求的条款的范围内,本申请的实施方式包括许多改变、修改和等同。

针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。

应该强调,术语“包括/包含”在本文使用时指特征、整件、步骤或组件的存在,但并不排除一个或更多个其它特征、整件、步骤或组件的存在或附加。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1是本申请第一方面的实施例的图形处理器的调整参数的方法的一个示意图;

图2是本申请第一方面的实施例的调整参数的系统的一个示意图;

图3是本申请第一方面的实施例的操作103的流程的一个示意图;

图4是本申请第一方面的实施例的图形处理器的调整参数的方法的另一个示意图;

图5是本申请第一方面的实施例的图形处理器的调整参数的方法的另一个示意图;

图6是本申请第一方面的实施例的操作102的流程的一个示意图;

图7是本申请第一方面的实施例的图形处理器的调整参数的方法的另一个示意图;

图8是本申请第一方面的实施例的操作102的流程的另一个示意图

图9是本申请第一方面的实施例的图形处理器的调整参数的方法的另一个示意图;

图10是本申请第二方面的实施例的调整参数的系统的一个示意图;

图11是本申请第三方面的实施例的图形处理器的调整参数的方法的一个示意图;

图12是本申请第四方面的实施例的图形处理器的一个示意图;

图13是本申请第五方面的实施例的动态调整图形处理器的参数的方法的一个示意图;

图14是本申请第六方面的实施例的图形处理器的一个示意图。

具体实施方式

参照附图,通过下面的说明书,本申请的前述以及其它特征将变得明显。在说明书和附图中,具体公开了本申请的特定实施方式,其表明了其中可以采用本申请的原则的部分实施方式,应了解的是,本申请不限于所描述的实施方式,相反,本申请包括落入所附权利要求的范围内的全部修改、变型以及等同物。下面结合附图对本申请的各种实施方式进行说明。这些实施方式只是示例性的,不是对本申请的限制。

在本申请实施例中,术语“第一”、“第二”、“上”、“下”等用于对不同元素从称谓上进行区分,但并不表示这些元素的空间排列或时间顺序等,这些元素不应被这些术语所限制。术语“和/或”包括相关联列出的术语的一种或多个中的任何一个和所有组合。术语“包含”、“包括”、“具有”等是指所陈述的特征、元素、元件或组件的存在,但并不排除存在或添加一个或多个其他特征、元素、元件或组件。

在本申请实施例中,单数形式“一”、“该”等包括复数形式,应广义地理解为“一种”或“一类”而并不是限定为“一个”的含义;此外术语“所述”应理解为既包括单数形式也包括复数形式,除非上下文另外明确指出。此外术语“根据”应理解为“至少部分根据……”,术语“基于”应理解为“至少部分基于……”,除非上下文另外明确指出。

第一方面的实施例

本申请第一方面的实施例提供一种图形处理器的动态调整参数的方法,该方法应用于调整参数的系统,该系统可以包括图形处理器(GPU)和外部处理单元。图1是本申请第一方面的实施例的图形处理器的调整参数的方法的一个示意图。如图1所示,该方法可以包括:

操作101:图形处理器的第一单元确定图形处理器在处理当前任务时的第一性能数据,将该第一性能数据发送给图形处理器之外的外部处理单元;

操作102:外部处理单元根据该第一性能数据确定控制信息,将该控制信息发送给图形处理器的第二单元;以及

操作103:图形处理器的第二单元根据该控制信息调整图形处理器的参数。

其中,图形处理器可以包括能够处理图形任务的任意处理器,其还可以具有通用计算能力、音视频处理能力、视频处理能力等,本公开对图形处理器的类型和处理能力不作限制。

根据该实施例,图形处理器通过将处理当前任务时的性能数据发送给外部处理单元,并从外部处理单元中接收根据图形处理器的性能数据确定的用于调整图形处理器的参数的控制信息,根据该控制信息调整相应的参数,由此,在图形处理器芯片中未集成硬件DVFS模块的情况下,也可以实现图形处理器的参数的动态调整。

并且,通过从外部处理单元获取控制信息,与在图形处理器芯片中集成DVFS模块的情况相比,能够以简单、灵活的方式实现图形处理器的参数的动态调整,能够降低成本。

此外,本实施例的方法对图形处理器的第一单元和第二单元之间是否具有通信的能力没有要求,也就是说,在图形处理器的第一单元和第二单元之间无法进行通信的情况下,也可以通过本实施例的方法对图形处理器的参数进行动态地调整,本实施例的方法具有广泛的适用性。

在一些实施例中,图形处理器(GPU)的参数可以是各种与图形处理器的性能相关的参数,例如,该参数可以是图形处理器的频率和/或电压等。

在一些实施例中,外部处理单元可以是图形处理器之外的具有计算能力的各种处理单元。例如,其可以是中央处理单元(CPU)等。

以下,以外部处理单元为CPU、参数为频率和电压为例,对调整参数的方法进行示例性的说明。可以理解的是,在外部处理单元为其他类型的处理单元、或者参数为其他类型的参数时,以下说明同样适用。

图2是本申请第一方面的实施例的调整参数的系统的一个示意图。如图2所示,在调整参数的系统100中,GPU 10的第一单元11用于确定GPU 10在处理当前任务时的第一性能数据。该第一单元11例如是GPU 10的调度单元。该调度单元可以用于GPU 10的任务调度和性能数据监控。但是,本申请不限于此,第一单元11也可以是GPU 10中的能够获取GPU 10的第一性能数据的其他部件。

在一些实施例中,GPU 10的第一性能数据可以是能够表示GPU 10的性能的各种数据。例如,该第一性能数据可以是在规定时间内GPU 10的内核13被调用的时间与规定时间的比值。举例来说,在1s时间内,内核13被调用500ms,该第一性能数据为50%。又例如,该第一性能数据也可以是与内核13的繁忙程度有关的计数器的计数结果等。

在一些实施例中,如图2所示,GPU 10的第二单元12用于对GPU 10的电压和频率进行调整。该第二单元12例如是GPU 10的管理单元。该管理单元可以用于管理GPU 10的PMIC(Power Management IC,电源管理集成电路)14、时钟模块15、电源管理模块(未图示)等。其中,PMIC 104和时钟模块15分别用于GPU 10的电压配置和时钟(频率)调整。

在一些实施例中,GPU 10的第一单元11可以通过各种通信协议与CPU 20进行通信。例如,第一单元11可以根据CCB通信协议对第一性能数据进行封装,并将封装后的数据发送给CPU 20。

在一些实施例中,GPU 10的第二单元12可以通过各种通信协议与CPU 20进行通信。例如,第二单元12可以根据IPC通信协议从CPU 20接收控制信息,并对控制信息进行解析。

在一些实施例中,如图2所示,CPU 20用于根据第一性能数据确定控制信息。其中,CPU 20的上述功能可以通过安装在CPU 20中的驱动程序实现,即,通过软件的方式确定用于动态地调整GPU 10的电压和频率的控制信息。与硬件的方式相比,以软件的方式确定控制信息,能够使动态调整电压和频率的过程更加灵活,便于调整,并且,实现方式更加简单,能够降低实现成本。

在一些实施例中,控制信息可以包括各种与调整GPU 10的电压和频率相关的信息。例如,该控制信息可以包括以下的至少一个:表示第一性能数据的信息,表示GPU 10在处理下一个任务时的第二性能数据的信息,以及与GPU 10的参数的目标值相关的信息。

下面以控制信息包括表示第一性能数据的信息为例,对动态调整电压和频率的方法进行示例性的说明。

在控制信息包括表示第一性能数据的信息的情况下,在操作102中,CPU 20将接收到的第一性能数据作为控制信息,并将控制信息发送给GPU 10的第二单元12。例如,CPU 20根据CCB协议解析接收到的信息,获得第一性能数据,根据IPC协议对该第一性能数据进行封装,将封装后的数据发送给第二单元12。由此,GPU10的第一单元11和第二单元12可以通过CPU 20进行数据通信,在第一单元11和第二单元12之间不具有通信连接的情况下,也可以实现GPU 10的电压和频率的动态调整。

图3是本申请第一方面的实施例的操作103的流程的一个示意图。如图3所示,在控制信息包括表示第一性能数据的信息的情况下,操作103包括:

操作301:第二单元12根据控制信息中的第一性能数据预测GPU 10在处理下一个任务时的第二性能数据;以及

操作302:第二单元12根据第二性能数据调整GPU 10的参数。

在GPU 10中,通过根据控制信息中的第一性能数据,预测GPU 10在处理下一个任务时的第二性能数据,并根据预测的第二性能数据调整GPU 10的电压和频率,能够动态地、及时地调整GPU 10的电压和频率,使GPU 10以合适的电压和频率处理下一个任务。

在一些实施例中,在操作301中,第二单元12可以以各种方式预测第二性能数据。例如,可以设定GPU 10的目标性能数据,在GPU 10的第一性能数据小于该目标性能数据时,使第二性能数据大于第一性能数据;在第一性能数据大于该目标性能数据时,使第二性能数据小于第一性能数据。

例如,在GPU 10的第一性能数据小于该目标性能数据时,第二性能数据可以取大于第一性能数据、并且小于或等于目标性能数据的值。例如,可以通过在第一性能数据的基础上增加第一预设值,得到第二性能数据。

在GPU 10的第一性能数据大于该目标性能数据时,第二性能数据可以取小于第一性能数据、并且大于或等于目标性能数据的值。例如,可以通过在第一性能数据的基础上减去第二预设值,得到第二性能数据。其中,该第一预设值和第二预设值可以相同或不同的,该第一预设值和第二预设值可以是与第一性能数据和目标性能数据相关的值。

举例来说,设目标性能数据为85%,在第一性能数据为25%时,可以将第二性能数据设定为目标性能数据和第一性能数据的中间值,例如,55%。

但是,本申请不限于此,也可以采用其他方式预测第二性能数据。例如,通过历史数据对机器学习模型进行训练,利用训练好的机器学习模型根据第一性能数据预测第二性能数据。或者,对采集的第一性能数据和以前采集的性能数据进行趋势比较,根据比较结果预估第二性能数据。

在一些实施例中,在操作302中,在第二单元12获得第二性能数据之后,可以以各种方式确定GPU 10的、与该第二性能数据对应的参数的目标值。例如,第二单元12可以根据该第二性能数据以及预先存储的查找表确定GPU 10的参数的目标值,并将GPU 10的当前的参数调整到目标值。其中,查找表可以是包括GPU 10的性能数据与参数的目标值的映射关系的表格。

在一些实施例中,该查找表可以是针对GPU 10本身设置的。例如,在生产GPU芯片时,可以针对GPU芯片的不同的性能数据进行测试,确定与该性能数据对应的、适当的电压和频率。由于不同芯片的特性可能存在一定差异,即便是同一型号的不同芯片在相同的性能点所对应的电压和频率也可能是不同的,因此,针对不同的芯片设定适合该芯片本身的查找表,能够进一步保证芯片的性能和降低功耗。

在一些实施例中,该查找表可以存储在GPU 10的存储器16内。例如,存储在GPU 10的第二单元12的SRAM中。由此,第二单元12能够高速地获取该查找表,从而能够提高确定电压和频率的目标值的速度。并且,与硬件的寄存器查找表相比,通过以软件的方式存储该查找表,能够灵活地修改该查找表的内容,便于对该查找表进行调整或更新。本申请不限于此,该查找表也可以存储在CPU 20中,或者,在GPU 10和CPU 20中均存储该查找表。

在一些实施例中,在操作302中,第二单元12可以在各个时刻调整GPU 10的电压和频率。例如,第二单元12可以等待和检测GPU 10的内核13的空闲状态,在内核13处于空闲状态时,通过时钟模块15配置GPU 10的频率,通过I2C/GPIO/PWM接口,控制PMIC14,配置GPU10的电压。由此,能够保证内核13的运行的稳定性。

图4是本申请第一方面的实施例的图形处理器的调整参数的方法的另一个示意图。如图4所示,GPU 10的第一单元11将第一性能数据发送给CPU 20,CPU 20将该第一性能数据转发给GPU 10的第二单元12,第二单元12根据第一性能数据预测生成第二性能数据,根据该第二性能数据和预先存储的查找表确定电压和频率的目标值,并且,根据该目标值调整GPU 10的电压和频率。

下面以控制信息包括表示GPU 10在处理下一个任务时的第二性能数据的信息为例,对动态调整电压和频率的方法进行示例性的说明。

在控制信息包括表示GPU 10在处理下一个任务时的第二性能数据的信息的情况下,在操作102中,CPU 20可以根据接收到的第一性能数据预测第二性能数据,并将第二性能数据作为控制信息发送给GPU 10的第二单元12。其中,CPU 20根据第一性能数据预测第二性能数据的方式可以参考第二单元12预测第二性能数据的方式,将这部分内容合并于此不再赘述。

在操作103中,在第二单元12接收到包含第二性能数据的控制信息后,可以根据第二性能数据和预先存储的查找表确定GPU 10的参数的目标值,并将GPU 10的当前的参数调整到目标值。其中,第二单元12确定参数的目标值以及根据该目标值调整参数的方式可以参考操作302所述的方式,将这部分内容合并于此不再赘述。

图5是本申请第一方面的实施例的图形处理器的调整参数的方法的另一个示意图。如图5所示,GPU 10的第一单元11将第一性能数据发送给CPU 20,CPU 20根据第一性能数据预测生成第二性能数据,将该第二性能数据作为控制信息发送给GPU 10的第二单元12,第二单元12根据该第二性能数据和预先存储的查找表确定电压和频率的目标值,并且,根据该目标值调整GPU 10的电压和频率。

下面以控制信息包括与GPU 10的参数的目标值相关的信息为例,对动态调整电压和频率的方法进行示例性的说明。

在一些实施例中,与GPU 10的参数的目标值相关的信息可以包括以下的至少一个:预先存储的查找表中的与第二性能数据对应的参数的目标值的索引、以及查找表中的与第二性能数据对应的参数的目标值。通过在控制信息中包括目标值的索引,能够减少控制信息的数据量,从而能够降低CPU 20与GPU 10的第二单元12之间的通信负担;通过在控制信息中包括目标值,能够直接将参数的目标值通知给GPU 10的第二单元12,由此,GPU 10可以直接根据该目标值进行参数的调整,在GPU 10中可以不存储查找表。

图6是本申请第一方面的实施例的操作102的流程的一个示意图。如图6所示,在与GPU 10的参数的目标值相关的信息包括目标值的索引的情况下,操作102包括:

操作601:根据第一性能数据预测GPU 10在处理下一个任务时的第二性能数据;

操作602:根据第二性能数据以及预先存储的查找表确定该索引,将该索引包含在控制信息中;以及

操作603:将该控制信息发送给GPU 10的第二单元12。

在一些实施例中,在与GPU 10的参数的目标值相关的信息包括目标值的索引的情况下,操作103包括:根据控制信息中的索引以及预先存储的查找表确定GPU10的参数的目标值,将GPU 10的当前的参数调整到目标值。

图7是本申请第一方面的实施例的图形处理器的调整参数的方法的另一个示意图。如图7所示,GPU 10的第一单元11将第一性能数据发送给CPU 20,CPU 20根据第一性能数据预测第二性能数据,根据第二性能数据以及预先存储的查找表确定索引,将包含索引的控制信息发送给GPU 10的第二单元12,第二单元12根据控制信息中的索引和预先存储的查找表确定电压和频率的目标值,并且,根据该目标值调整GPU 10的电压和频率。

图8是本申请第一方面的实施例的操作102的流程的另一个示意图。如图8所示,在与GPU 10的参数的目标值相关的信息包括该目标值的情况下,操作102包括:

操作801:根据第一性能数据预测GPU 10在处理下一个任务时的第二性能数据;

操作802:根据第二性能数据以及预先存储的查找表确定目标值,将该目标值包含在控制信息中;以及

操作803:将该控制信息发送给GPU 10的第二单元12。

在一些实施例中,在与GPU 10的参数的目标值相关的信息包括目标值的情况下,操作103包括:根据控制信息确定GPU 10的参数的目标值,将GPU 10的当前的参数调整到目标值。

图9是本申请第一方面的实施例的图形处理器的调整参数的方法的另一个示意图。如图9所示,GPU 10的第一单元11将第一性能数据发送给CPU 20,CPU 20根据第一性能数据预测第二性能数据,根据第二性能数据以及预先存储的查找表确定电压和频率的目标值,将包含电压和频率的目标值的控制信息发送给GPU 10的第二单元12,第二单元12根据控制信息中的电压和频率的目标值调整GPU 10的电压和频率。

值得注意的是,以上附图1、图3至图9仅对本申请实施例进行了示意性说明,但本申请不限于此。例如可以适当地调整各个操作之间的执行顺序,此外还可以增加其他的一些操作或者减少其中的某些操作。本领域的技术人员可以根据上述内容进行适当地变型,而不仅限于上述附图1、图3至图9的记载。

根据该实施例,图形处理器通过将处理当前任务时的性能数据发送给外部处理单元,并从外部处理单元中接收根据图形处理器的性能数据确定的用于调整图形处理器的参数的控制信息,根据该控制信息调整相应的参数,由此,在图形处理器芯片中未集成硬件DVFS模块的情况下,也可以实现图形处理器的参数的动态调整。

并且,通过从外部处理单元获取控制信息,与在图形处理器芯片中集成DVFS模块的情况相比,能够以简单、灵活的方式实现图形处理器的参数的动态调整,能够降低成本。

此外,本实施例的方法对图形处理器的第一单元和第二单元之间是否具有通信的能力没有要求,也就是说,在图形处理器的第一单元和第二单元之间无法进行通信的情况下,也可以通过本实施例的方法对图形处理器的参数进行动态地调整,本实施例的方法具有广泛的适用性。

第二方面的实施例

第二方面的实施例提供一种动态调整参数的系统。该动态调整参数的系统与第一方面的实施例的图形处理器的动态调整参数的方法对应,将相同的内容合并于此,此处不再赘述。

图10是本申请第二方面的实施例的动态调整参数的系统的一个示意图。如图10所示,动态调整参数的系统1000包括:图形处理器1001以及外部处理单元1002。其中,图形处理器1001的第一单元1001-1确定图形处理器1001在处理当前任务时的第一性能数据,将第一性能数据发送给外部处理单元1002;外部处理单元1002根据第一性能数据确定控制信息,将控制信息发送给图形处理器1001的第二单元1001-2;图形处理器1001的第二单元1001-2根据控制信息调整图形处理器1001的参数。

其中,图形处理器1001与第一方面的实施例的图像处理器对应,外部处理单元1002与第一方面的实施例的外部处理单元对应。

在一些实施例中,控制信息包括以下的至少一个:表示第一性能数据的信息,表示图形处理器1001在处理下一个任务时的第二性能数据的信息,以及与图形处理器1001的参数的目标值相关的信息。

在一些实施例中,在控制信息包括表示第一性能数据的信息的情况下,第二单元1001-2根据控制信息中的第一性能数据预测图形处理器1001在处理下一个任务时的第二性能数据,并根据第二性能数据调整图形处理器1001的参数。

在一些实施例中,第二单元1001-2根据第二性能数据以及预先存储的查找表确定图形处理器1001的参数的目标值,并将图形处理器1001的当前的参数调整到目标值。

在一些实施例中,在控制信息包括表示图形处理器1001在处理下一个任务时的第二性能数据的信息的情况下,第二单元1001-2根据控制信息中的第二性能数据以及预先存储的查找表确定图形处理器1001的参数的目标值,将图形处理器1001的当前的参数调整到目标值。

在一些实施例中,查找表可以为针对图形处理器1001本身设置的、包括与图形处理器1001的性能数据对应的参数的目标值的表格。

在一些实施例中,查找表可以存储在图形处理器1001的存储器内。

在一些实施例中,与图形处理器1001的参数的目标值相关的信息包括以下的至少一个:预先存储的查找表中与第二性能数据对应的参数的目标值的索引以及查找表中与第二性能数据对应的参数的目标值。

在一些实施例中,在与图形处理器1001的参数的目标值相关的信息包括索引时,中央处理器1002根据第一性能数据预测图形处理器1010在处理下一个任务时的第二性能数据,以及根据第二性能数据以及预先存储的查找表确定索引,将索引包含在控制信息中。

在一些实施例中,在控制信息包括与图形处理器1001的参数的目标值相关的信息、并且与图形处理器1001的参数的目标值相关的信息包括索引的情况下,第二单元1001-2根据控制信息中的索引以及预先存储的查找表确定图形处理器1001的参数的目标值,将图形处理器1001的当前的参数调整到目标值。

在一些实施例中,在与图形处理器1001的参数的目标值相关的信息包括索引时,图形处理器1001的第二单元1001-2根据索引以及预先存储的查找表确定图形处理器1001的参数的目标值,并将图形处理器1001的当前的参数调整到目标值。

在一些实施例中,在与图形处理器1001的参数的目标值相关的信息包括目标值时,中央处理器1002根据第一性能数据预测图形处理器1001在处理下一个任务时的第二性能数据,根据第二性能数据以及预先存储的查找确定图形处理器1001的参数的目标值,将目标值包含在控制信息中。

在一些实施例中,在控制信息包括与图形处理器1001的参数的目标值相关的信息、并且与图形处理器1001的参数的目标值相关的信息包括目标值的情况下,第二单元1001-2根据控制信息确定图形处理器1001的参数的目标值,将图形处理器1001的当前的参数调整到目标值。

在一些实施例中,第一性能数据是在规定时间内图形处理器被调用的时间与规定时间的比值。

值得注意的是,以上仅对与本申请相关的各部件或模块进行了说明,但本申请不限于此。动态调整参数的系统1000还可以包括其他部件或者模块,关于这些部件或者模块的具体内容,可以参考相关技术。此外,为了简单起见,图10中仅示例性示出了各个部件或模块之间的连接关系或信号走向,但是本领域技术人员应该清楚的是,可以采用总线连接等各种相关技术。

根据上述实施例,图形处理器通过将处理当前任务时的性能数据发送给外部处理单元,并从外部处理单元中接收根据图形处理器的性能数据确定的用于调整图形处理器的参数的控制信息,根据该控制信息调整相应的参数,由此,在图形处理器芯片中未集成硬件DVFS模块的情况下,也可以实现图形处理器的参数的动态调整。

并且,通过从外部处理单元获取控制信息,与在图形处理器芯片中集成DVFS模块的情况相比,能够以简单、灵活的方式实现图形处理器的参数的动态调整,能够降低成本。

此外,本实施例对图形处理器的第一单元和第二单元之间是否具有通信的能力没有要求,也就是说,在图形处理器的第一单元和第二单元之间无法进行通信的情况下,也可以通过本实施例对图形处理器的参数进行动态地调整,本实施例具有广泛的适用性。

第三方面的实施例

第三方面的实施例提供一种图形处理器的动态调整参数的方法,该方法应用于图形处理器。图11是本申请第三方面的实施例的图形处理器的调整参数的方法的一个示意图。如图11所示,该方法可以包括:

操作1101:确定图形处理器在处理当前任务时的第一性能数据,将第一性能数据发送给图形处理器之外的外部处理单元;

操作1102:从外部处理单元接收根据第一性能数据确定的控制信息;以及

操作1103:根据控制信息调整图形处理器的参数。

在一些实施例中,在图形处理器中,可以通过第一单元执行操作1101,通过第二单元执行操作1103,其中,第一单元和第二单元可以是不同的单元,两者之间可以不具有直接通信的能力,例如,第一单元和第二单元之间无法通过总线等进行数据通信。但是,本申请不限于此,第一单元和第二单元之间也可以具有直接通信的能力。

在一些实施例中,控制信息包括以下的至少一个:表示第一性能数据的信息,表示图形处理器在处理下一个任务时的第二性能数据的信息,以及与图形处理器的参数的目标值相关的信息。

在一些实施例中,在控制信息包括表示第一性能数据的信息的情况下,操作1103根据控制信息调整图形处理器的参数包括:

根据控制信息中的第一性能数据预测图形处理器在处理下一个任务时的第二性能数据;以及

根据第二性能数据调整图形处理器的参数。

在一些实施例中,根据第二性能数据调整图形处理器的参数包括:

根据第二性能数据以及预先存储的查找表确定图形处理器的参数的目标值,将图形处理器的当前的参数调整到所述目标值。

在一些实施例中,在控制信息包括表示图形处理器在处理下一个任务时的第二性能数据的信息的情况下,操作1103包括:

根据控制信息中的第二性能数据以及预先存储的查找表确定图形处理器的参数的目标值,将图形处理器的当前的参数调整到目标值。

在一些实施例中,查找表为针对图形处理器本身设置的、包括与图形处理器的性能数据对应的参数的目标值的表格。

在一些实施例中,与图形处理器的参数的目标值相关的信息包括以下的至少一个:

预先存储的查找表中的与第二性能数据对应的参数的目标值的索引以及查找表中的与第二性能数据对应的参数的目标值。

在一些实施例中,在与图形处理器的参数的目标值相关的信息包括所述索引时,控制信息以如下方式进行确定:

根据第一性能数据预测图形处理器在处理下一个任务时的第二性能数据,以及

根据第二性能数据以及预先存储的查找表确定索引,将索引包含在控制信息中。

在一些实施例中,在控制信息包括与图形处理器的参数的目标值相关的信息、并且与图形处理器的参数的目标值相关的信息包括索引的情况下,操作1103包括:

根据控制信息中的索引以及预先存储的查找表确定图形处理器的参数的目标值,将图形处理器的当前的参数调整到目标值。

在一些实施例中,在与图形处理器的参数的目标值相关的信息包括目标值时,控制信息以如下方式进行确定:

根据第一性能数据预测图形处理器在处理下一个任务时的第二性能数据;以及

根据第二性能数据以及预先存储的查找确定图形处理器的参数的目标值,将目标值包含在所述控制信息中。

在一些实施例中,在控制信息包括与图形处理器的参数的目标值相关的信息、并且与图形处理器的参数的目标值相关的信息包括目标值的情况下,操作1103包括:

根据控制信息确定图形处理器的参数的目标值,将图形处理器的当前的参数调整到目标值。

在一些实施例中,第一性能数据是在规定时间内图形处理器被调用的时间与规定时间的比值。

根据上述实施例,图形处理器通过将处理当前任务时的性能数据发送给外部处理单元,并从外部处理单元中接收根据图形处理器的性能数据确定的用于调整图形处理器的参数的控制信息,根据该控制信息调整相应的参数,由此,在图形处理器芯片中未集成硬件DVFS模块的情况下,也可以实现图形处理器的参数的动态调整。

并且,通过从外部处理单元获取控制信息,与在图形处理器芯片中集成DVFS模块的情况相比,能够以简单、灵活的方式实现图形处理器的参数的动态调整,能够降低成本。

此外,本实施例的方法对图形处理器的第一单元和第二单元之间是否具有通信的能力没有要求,也就是说,在图形处理器的第一单元和第二单元之间无法进行通信的情况下,也可以通过本实施例的方法对图形处理器的参数进行动态地调整,本实施例的方法具有广泛的适用性。

第四方面的实施例

第四方面的实施例提供一种图形处理器。该图形处理器与第三方面的实施例的图形处理器的动态调整参数的方法对应,将相同的内容合并于此,此处不再赘述。

图12是本申请第四方面的实施例的图形处理器的一个示意图。如图12所示,图形处理器1200包括第一单元1201和第二单元1202。

第一单元1201确定图形处理器1200在处理当前任务时的第一性能数据,将第一性能数据发送给图形处理器1200之外的外部处理单元;

第二单元1202从外部处理单元接收根据第一性能数据确定的控制信息,根据控制信息调整图形处理器1200的参数。

在一些实施例中,第一单元1201和第二单元1202之间可以进行信息传输,例如,第一单元1201和第二单元1202之间可以通过总线等直接进行信息传输,或者,两者之间也可以不具有信息传输的能力,例如,第一单元1201和第二单元1202之间可以无法通过总线等直接进行信息传输。

在一些实施例中,控制信息包括以下的至少一个:表示第一性能数据的信息,表示图形处理器1200在处理下一个任务时的第二性能数据的信息,以及与图形处理器1200的参数的目标值相关的信息。

在一些实施例中,在控制信息包括表示第一性能数据的信息的情况下,第二单元1202根据控制信息中的第一性能数据预测图形处理器1200在处理下一个任务时的第二性能数据;根据第二性能数据调整图形处理器1200的参数。

在一些实施例中,第二单元1202根据第二性能数据以及预先存储的查找表确定图形处理器1200的参数的目标值,将图形处理器1200的当前的参数调整到所述目标值。

在一些实施例中,在控制信息包括表示图形处理器在处理下一个任务时的第二性能数据的信息的情况下,第二单元1202根据控制信息中的第二性能数据以及预先存储的查找表确定图形处理器的参数的目标值,将图形处理器的当前的参数调整到目标值。

在一些实施例中,查找表为针对图形处理器1200本身设置的、包括与图形处理器1200的性能数据对应的参数的目标值的表格。

在一些实施例中,与图形处理器1200的参数的目标值相关的信息包括以下的至少一个:预先存储的查找表中的与第二性能数据对应的参数的目标值的索引以及查找表中的与第二性能数据对应的参数的目标值。

在一些实施例中,在与图形处理器1200的参数的目标值相关的信息包括所述索引时,控制信息以如下方式进行确定:根据第一性能数据预测图形处理器1200在处理下一个任务时的第二性能数据,以及根据第二性能数据以及预先存储的查找表确定索引,将索引包含在控制信息中。

在一些实施例中,在控制信息包括与图形处理器的参数的目标值相关的信息、并且与图形处理器的参数的目标值相关的信息包括索引的情况下,第二单元1202根据控制信息中的索引以及预先存储的查找表确定图形处理器的参数的目标值,将图形处理器的当前的参数调整到目标值。

在一些实施例中,在与图形处理器1200的参数的目标值相关的信息包括目标值时,控制信息以如下方式进行确定:根据第一性能数据预测图形处理器1200在处理下一个任务时的第二性能数据;以及根据第二性能数据以及预先存储的查找确定图形处理器1200的参数的目标值,将目标值包含在所述控制信息中。

在一些实施例中,在控制信息包括与图形处理器的参数的目标值相关的信息、并且与图形处理器的参数的目标值相关的信息包括目标值的情况下,第二单元1202根据控制信息确定图形处理器的参数的目标值,将图形处理器的当前的参数调整到目标值。

在一些实施例中,第一性能数据是在规定时间内图形处理器1200被调用的时间与规定时间的比值。

根据上述实施例,图形处理器通过将处理当前任务时的性能数据发送给外部处理单元,并从外部处理单元中接收根据图形处理器的性能数据确定的用于调整图形处理器的参数的控制信息,根据该控制信息调整相应的参数,由此,在图形处理器芯片中未集成硬件DVFS模块的情况下,也可以实现图形处理器的参数的动态调整。

并且,通过从外部处理单元获取控制信息,与在图形处理器芯片中集成DVFS模块的情况相比,能够以简单、灵活的方式实现图形处理器的参数的动态调整,能够降低成本。

此外,本实施例对图形处理器的第一单元和第二单元之间是否具有通信的能力没有要求,也就是说,在图形处理器的第一单元和第二单元之间无法进行通信的情况下,也可以通过本实施例对图形处理器的参数进行动态地调整,本实施例具有广泛的适用性。

第五方面的实施例

第五方面的实施例提供一种动态调整图形处理器的参数的方法,该方法应用于图形处理器之外的其他处理器(外部处理器)。图13是本申请第五方面的实施例的动态调整图形处理器的参数的方法的一个示意图。如图13所示,该方法可以包括:

操作1301:从图形处理器接收图形处理器在处理当前任务时的第一性能数据;

操作1302:根据第一性能数据确定控制信息;以及

操作1303:将控制信息发送给图形处理器,使图形处理器根据控制信息调整图形处理器的参数。

在一些实施例中,控制信息包括以下的至少一个:表示第一性能数据的信息,表示图形处理器在处理下一个任务时的第二性能数据的信息,以及与图形处理器的参数的目标值相关的信息。

在一些实施例中,在控制信息包括表示图形处理器在处理下一个任务时的第二性能数据的信息的情况下,操作1302包括:

根据控制信息中的第一性能数据预测图形处理器在处理下一个任务时的第二性能数据,将第二性能数据包含在控制信息中。

在一些实施例中,与图形处理器的参数的目标值相关的信息包括以下的至少一个:预先存储的查找表中的与第二性能数据对应的参数的目标值的索引以及查找表中的与第二性能数据对应的参数的目标值。

在一些实施例中,在控制信息包括与图形处理器的参数的目标值相关的信息、并且与图形处理器的参数的目标值相关的信息包括索引时,操作1302包括:

根据第一性能数据预测所述图形处理器在处理下一个任务时的第二性能数据,以及

根据第二性能数据以及预先存储的查找表确定索引,将索引包含在控制信息中。

在一些实施例中,在控制信息包括与图形处理器的参数的目标值相关的信息、并且与图形处理器的参数的目标值相关的信息包括目标值时,操作1302包括:

根据第一性能数据预测图形处理器在处理下一个任务时的第二性能数据;以及

根据第二性能数据以及预先存储的查找确定目标值,将目标值包含在控制信息中。

根据上述实施例,图形处理器通过将处理当前任务时的性能数据发送给外部处理单元,并从外部处理单元中接收根据图形处理器的性能数据确定的用于调整图形处理器的参数的控制信息,根据该控制信息调整相应的参数,由此,在图形处理器芯片中未集成硬件DVFS模块的情况下,也可以实现图形处理器的参数的动态调整。

并且,通过从外部处理单元获取控制信息,与在图形处理器芯片中集成DVFS模块的情况相比,能够以简单、灵活的方式实现图形处理器的参数的动态调整,能够降低成本。

此外,本实施例的方法对图形处理器的获取第一性能数据的第一单元和调整参数的第二单元之间是否具有通信的能力没有要求,也就是说,在图形处理器的第一单元和第二单元之间无法进行通信的情况下,也可以通过本实施例的方法对图形处理器的参数进行动态地调整,本实施例的方法具有广泛的适用性。

第六方面的实施例

第六方面的实施例提供一种用于动态调整图形处理器的参数的处理器。该处理器与第五方面的实施例的动态调整图形处理器的参数的方法对应,将相同的内容合并于此,此处不再赘述。

图14是本申请第六方面的实施例的处理器的一个示意图。如图14所示,处理器1400包括接收单元1401、处理单元1402和发送单元1403。接收单元1401从图形处理器接收图形处理器在处理当前任务时的第一性能数据;处理单元1402据第一性能数据确定控制信息;发送单元1403将控制信息发送给图形处理器,使图形处理器根据控制信息调整图形处理器的参数。

在一些实施例中,控制信息包括以下的至少一个:表示第一性能数据的信息,表示图形处理器在处理下一个任务时的第二性能数据的信息,以及与图形处理器的参数的目标值相关的信息。

在一些实施例中,在控制信息包括表示图形处理器在处理下一个任务时的第二性能数据的信息的情况下,处理单元1402根据控制信息中的第一性能数据预测图形处理器在处理下一个任务时的第二性能数据,将第二性能数据包含在控制信息中。

在一些实施例中,与图形处理器的参数的目标值相关的信息包括以下的至少一个:预先存储的查找表中的与第二性能数据对应的参数的目标值的索引以及查找表中的与第二性能数据对应的参数的目标值。

在一些实施例中,在控制信息包括与图形处理器的参数的目标值相关的信息、并且与图形处理器的参数的目标值相关的信息包括索引时,处理单元1402根据第一性能数据预测所述图形处理器在处理下一个任务时的第二性能数据,根据第二性能数据以及预先存储的查找表确定索引,将索引包含在控制信息中。

在一些实施例中,在控制信息包括与图形处理器的参数的目标值相关的信息、并且与图形处理器的参数的目标值相关的信息包括目标值时,处理单元1402根据第一性能数据预测图形处理器在处理下一个任务时的第二性能数据;根据第二性能数据以及预先存储的查找确定目标值,将目标值包含在控制信息中。

根据上述实施例,图形处理器通过将处理当前任务时的性能数据发送给外部处理单元,并从外部处理单元中接收根据图形处理器的性能数据确定的用于调整图形处理器的参数的控制信息,根据该控制信息调整相应的参数,由此,在图形处理器芯片中未集成硬件DVFS模块的情况下,也可以实现图形处理器的参数的动态调整。

并且,通过从外部处理单元获取控制信息,与在图形处理器芯片中集成DVFS模块的情况相比,能够以简单、灵活的方式实现图形处理器的参数的动态调整,能够降低成本。

此外,本实施例对图形处理器的获取第一性能数据的第一单元和调整参数的第二单元之间是否具有通信的能力没有要求,也就是说,在图形处理器的第一单元和第二单元之间无法进行通信的情况下,也可以通过本实施例对图形处理器的参数进行动态地调整,本实施例具有广泛的适用性。

本申请的实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一、三、五方面的实施例中的任一项方法。

本申请的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现第一、三、五方面的实施例中的任一项方法。

本申请的实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现第一、三、五方面的实施例中的任一项方法。

本申请各实施例的技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完图全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述的具体实施例,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施例而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

相关技术
  • 一种动态调整多图形处理器负载的方法及系统
  • 一种动态调整多图形处理器负载的方法及系统
技术分类

06120115593560