一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

处理单元处的基于工作负载的时钟调整的制作方法

2022-07-10 19:14:00 来源:中国专利 TAG:

处理单元处的基于工作负载的时钟调整


背景技术:

1.处理系统通常采用专门的处理单元来执行处理单元被设计用于的指定操作。例如,处理系统可采用图形处理单元(gpu)来执行针对所述处理系统的图形和向量处理操作。在一些情况下,处理单元同时代表在处理系统处执行的不同程序来执行操作。例如,处理系统可实现虚拟计算环境,其中所述处理系统在一个或多个中央处理单元(cpu)处同时执行多个虚拟机(vm)。所述vm中的每一者请求处理系统的gpu执行图形或向量处理操作,使得gpu负责代表不同vm同时执行操作。然而,所述不同程序可具有不同的要求,诸如不同的功率要求、不同的最大时钟频率要求等。所述不同要求对gpu(或其他处理单元)提出不同的处理需求,由此负面地影响整个处理系统。
附图说明
2.通过参考附图,可更好地理解本公开,并且它的许多特征和优点对本领域技术人员来说变得显而易见。在不同附图中使用相同附图标记指示类似或相同项。
3.图1是根据一些实施方案的处理系统的框图,所述处理系统包括图形处理单元(gpu),所述图形处理单元基于对正在执行的程序线程的检测来调整时钟频率。
4.图2是示出根据一些实施方案的图1的gpu的示例的图,所述gpu基于所述gpu的工作负载变化而调整时钟频率。
5.图3是根据一些实施方案的图1的gpu的时钟频率调整模块的框图。
6.图4是根据一些实施方案的基于检测正在执行的程序线程来调整处理单元的时钟频率的方法的流程图。
具体实施方式
7.图1至图4示出用于基于识别在中央处理单元(cpu)处执行的程序线程来调整图形处理单元(gpu)处的时钟频率的技术,其中基于将要执行的工作负载来检测所述程序线程。通过基于所识别的程序线程来调整所述时钟频率,所述处理单元适应同时执行的程序的不同处理需求。另外,通过基于工作负载识别程序线程,处理单元基于处理需求来调整时钟频率,由此节省处理资源。
8.举例说明,在一些实施方案中,cpu同时执行两个不同程序(例如,两个不同的虚拟机)。所述程序中的一者(表示为程序1)是需要以相对较低频率执行操作以便例如维持与其他程序或系统的相容性的程序。另一个程序(表示为程序2)是需要至少在一些情况下以相对较高的频率执行操作以便满足性能目标的程序。常规上,同时执行针对程序1和程序2的操作的gpu的时钟被设置为不同时钟频率中的较高频率,不管在gpu处正在执行哪个程序的操作,由此需要用于程序1的额外软件或硬件以符合其相容性要求。使用本文中的技术,gpu检测正在执行程序1和程序2中的哪一者,并且正在执行的程序的处理需求是否使得需要对时钟频率进行调整以使正在执行的程序满足其处理要求,
9.并且相应地调整gpu的时钟频率。gpu由此满足程序1和程序2中的每一者的处理要
求,并且根据变化的工作负载来动态地这样做,由此节省处理资源。
10.另外,基于检测到的工作负载而不是仅基于静态条件(诸如程序标识符值或指定的时间段)来改变时钟频率,gpu能够基于给定工作负载的需求来满足每个程序的处理规范,由此节省处理器资源。例如,在一些情况下,较高性能的程序可将相对较轻的工作负载提供给gpu,使得处理规范能够落在较低的时钟频率内。使用本文中的技术,gpu在相对较轻的工作负载下使时钟信号的频率维持为较低频率,即便对应程序与相对较高的指定时钟频率相关联,由此在程序不需要满足程序规范时节省gpu资源。
11.转向附图,图1示出根据一些实施方案的处理系统100的框图,所述处理系统包括中央处理单元(cpu)101和图形处理单元(gpu)102。处理系统100通常被配置为执行指令(被组织为计算机程序),以便代表电子装置实施任务。因此,在不同的实施方案中,处理系统100是电子装置(诸如桌上型或膝上型计算机、服务器、智能电话、平板计算机、游戏控制台等)的部分。处理系统100包括图1未示的额外组件和模块。例如,在一些实施方案中,所述处理系统包括一个或多个存储器控制器、输入/输出控制器、网络接口等,以代表电子装置来执行任务。
12.cpu 101通常被配置为同时执行多个程序,以及对应的程序线程。如本文所使用,程序线程是指单个程序(例如,操作系统、应用程序等)或多线程程序的单个线程中的任一者。在所绘示的示例中,cpu 101同时执行两个程序线程,表示为程序103和程序104。然而,将了解,在其他实施方案中,参看图1描述的技术是在同时执行n个程序的处理系统处实现,其中n是大于1的整数。因此,在一些实施方案中,cpu 101通过同时执行多个虚拟机来实现虚拟计算环境,其中程序103和104对应于由不同虚拟机执行的程序。例如,在一些实施方案中,程序103是与一个虚拟机相关联的操作系统,并且程序104是与在处理系统处执行的不同虚拟机相关联的操作系统。为了描述,假设程序103和104中的每一者具有不同的处理规范,诸如不同的指定处理速度、功率消耗规范等。例如,在一些实施方案中,程序103是“传统”程序,所述程序被指定为以相对较低的频率执行以便提供对于处理系统的其他程序或硬件组件的向后兼容性,而程序104是较新的程序,所述程序被指定为以相对较高的频率执行以便满足性能目标。如本文进一步描述,gpu 102能够调整指定参数,并且明确地说,gpu 102的时钟频率,因此程序103和104中的每一者符合其处理规范。
13.gpu 102通常被配置为执行针对处理系统的图形和向量处理操作。为了说明,在一些实施方案中,在执行程序103和104的过程中,cpu 101产生请求gpu 102执行指定操作的指定命令,所述指定命令在本文中被称为gpu命令(例如,命令105和107)。gpu命令的示例包括请求gpu绘制指定物体以便显示的绘制命令、请求gpu执行指定向量操作的向量命令,等等。所述一个或多个cpu将gpu命令提供到gpu 102以便执行。每个命令由程序103和104中的对应程序发出并且与所述对应程序相关联。因此,例如,在一些实施方案中,命令105是请求gpu 102代表程序103绘制一个或多个物体的绘制命令,并且命令107是请求gpu 102代表程序104绘制一个或多个物体的绘制命令。
14.应了解,cpu 101同时执行程序103和104。因此,在一些实施方案中,cpu 101以时分复用方式将与程序103和104中的不同者相关联的不同命令提供到gpu 102以便执行。为了说明,在一些实施方案中,cpu 101将命令105提供到gpu 102以便代表程序103执行,之后提供命令107以便代表程序104执行,之后提供另一个命令(未示出)以便代表程序103执行。
如本文中进一步描述,在一些情况下,不同程序以及因此不同命令具有不同的指定处理要求,诸如不同的必要时钟频率,以便使程序满足指定的质量要求或其他要求,诸如指定的显示帧速率。gpu 102通过分析基于所述命令产生的工作负载来识别不同的处理要求,并且基于所识别的处理要求来调整处理参数,诸如时钟频率。gpu 102由此基于处理需求与指定的处理要求的组合而不是基于固定的处理参数值来动态地调整处理参数。
15.为了促进对cpu命令(例如,命令105和107)的执行,gpu 102包括调度程序106和一组计算单元115。该组计算单元115包括多个计算单元(例如,计算单元118),其中每个计算单元包括被配置为执行图形和向量处理操作的多个处理元件,诸如单指令多数据(simd)单元、流处理器等。在一些实施方案中,每个计算单元包括用于支持所述处理元件的额外模块,诸如一个或多个分支单元、标量单元、向量单元、寄存器文件等。调度程序106是基于从一个或多个cpu接收到的命令在该组计算单元115处以波前形式对操作进行安排的模块。在一些实施方案中,gpu 102包括命令处理器或其他模块以将接收到的命令解码为一个或多个操作并且将所述操作提供到调度程序106以进行安排。另外,在一些实施方案中,调度程序106包括不同的调度模块,其中每个调度模块在gpu 102的不同资源处对操作进行安排。例如,在一些实施方案中,调度程序106包括用于在计算单元115处对图形和向量处理操作进行安排的调度模块、用于在gpu 102的存储器资源处对存储器操作进行安排的调度模块等。
16.为了使计算单元115(以及其他模块)处的操作同步,gpu 102采用时钟控制模块110来产生时钟信号ck并且将所述ck信号提供到计算单元115中的每一者。在一些实施方案中,时钟控制模块110包括一个或多个控制环路,诸如用于将时钟信号ck的频率锁定为指定频率的锁频环路(fll),其中如本文中进一步描述,指定频率可经由控制信令来调整。明确地说,gpu 102设置控制信令以使时钟控制模块110基于程序103和104对gpu 102提出的处理需求来设置时钟信号ck的频率,使得每个程序符合其处理规范。
17.为了说明,基于所接收到的一个命令或一组命令对gpu 102的资源的总体使用在本文中被称为工作负载(例如,工作负载116和117)。较重或较高的工作负载使用gpu 102的更多资源,而较轻或较低的工作负载使用gpu 102的较少资源。因此,由程序103和104中的特定者产生的工作负载是基于由所述程序产生的命令。另外,由程序产生的工作负载大体上与该程序的处理规范相关。因此,例如,具有相对较高的执行频率的程序(也就是说,预期或指定为快速执行的程序)通常会产生较重的工作负载(也就是说,需要更多资源才能执行的工作负载)。相反地,具有相对较低的指定执行频率的程序产生较轻的工作负载(也就是说,需要更多资源才能执行的工作负载)。
18.为了适应同时执行具有不同的指定执行频率的程序,gpu 102包括时钟频率调整模块(cfam)108。cfam 108监测指示gpu 102的当前工作负载的参数,并且由此实际上检测目前在gpu 102处正在执行程序103和104中的哪一者并且将控制信令提供到时钟控制模块110以将时钟信号ck的频率设置为所检测到的程序的指定时钟频率。在一些实施方案中,由cfam 108监测的参数的示例包括在指定的时间量中被调度程序106安排在计算单元115处的波前的数量、在指定的时间量内由gpu 102接收到的绘制命令的数量、绘制或派遣命令的类型、由编译程序提供的提示等,或其任何组合。如果所监测的参数超过工作负载阈值,则cfam 108使ck信号的频率增加到较高的指定频率f2。响应于所监测的参数落到工作负载阈
值以下达指定量的时间,cfam 108将ck信号的时钟频率减小到较低的指定频率f1。在一些实施方案中,较高的指定频率f2和较低的指定频率f1是在对应程序的初始化期间由程序103和104指示、经由每个程序提供到gpu 102的命令指示等。另外,在一些实施方案中,工作负载阈值和频率f1和f2是可编程的值,从而允许程序员将正在执行的程序的性能调整为期望水平。
19.举例说明,在一些实施方案中,由cfam 108监测的参数是从程序103和104中的每一者接收到并且由调度程序106安排来执行的绘制命令的数量。响应于在指定时间量内绘制命令的数量超过指定的工作负载阈值(例如,在100个执行周期内多于十个绘制命令),cfam 108假设与较高的指定时钟频率相关联的程序正在执行,并且需要大量的资源。作为响应,cfam 108使ck信号的频率增加到较高的指定频率f2。当接收到的绘制命令的数量落到指定的工作负载阈值以下时,cfam 108假设与较低的指定频率相关联的程序正在执行。作为响应,cfam 108使ck信号的频率减小到较低的指定频率f1。
20.再举例来说,在一些实施方案中,由cfam 108监测的参数是由调度程序106安排在计算单元115处执行的波前的数量。响应于所安排的波前的数量超过工作负载阈值(例如,在500个执行周期内多于100个波前),cfam 108假设与较高的指定时钟频率相关联的程序正在执行,并且需要大量的资源。作为响应,cfam 108使ck信号的频率增加到较高的指定频率f2。当所安排的波前的数量落到指定的工作负载阈值以下时,cfam 108假设与较低的指定频率相关联的程序正在执行。作为响应,cfam 108使ck信号的频率减小到较低的指定频率f1。
21.在其他实施方案中,由cfam 108监测的参数是指定类型的绘制命令的数量,诸如用于绘制指定物体、具有阈值顶点数量的物体等的绘制命令的数量。cfam 108根据随命令105和107一起包括的命令参数来确定绘制命令的类型。例如,在一些实施方案中,每个命令指示将绘制的物体的类型、物体的顶点的数量等。在其他实施方案中,这些参数由gpu 102的命令处理器识别。
22.如上述示例所指示,在一些实施方案中,cfam 108基于在调度程序106处存储或监测到的信息来识别gpu的工作负载。例如,在一些实施方案中,调度程序106维持寄存器或其他存储器结构,所述寄存器或其他存储器结构存储指示从cpu 101接收到的绘制命令的数量、接收到的绘制命令的类型、被安排来执行的波前的数量等或其任何组合的数据。基于所存储的信息,cfam 108识别gpu 102的总工作负载,并且如本文所描述,调整ck时钟信号的时钟频率。
23.通过基于检测到的工作负载而不是仅基于静态条件(诸如程序标识符值或指定的时间段)来改变时钟频率,gpu 102能够动态地满足每个程序的处理规范,由此节省处理器资源。例如,在一些情况下,较高性能的程序可将相对较轻的工作负载提供到gpu 102(例如,执行相对简单的绘制命令),导致gpu 102将ck信号的频率维持为较低频率f1。相反地,如果gpu 102仅基于静态条件(诸如程序标识符)来更改时钟频率,则ck信号的频率将增加到较高的频率,但没有相称的性能好处。
24.图2示出绘示根据一些实施方案的cfam 108的示例的图200,所述cfam基于检测到的工作负载来调整时钟信号ck的频率。图200绘示了表示时间的x轴和表示时钟信号ck的频率的y轴。图200还绘示曲线图201,表示随时间改变的时钟信号ck的频率的示例。
25.在图2的示例中,假设程序103与较低的指定频率(表示为f1)相关联,并且程序104与较高的指定频率相关联。在曲线图201的所示示例中,在初始时间202,如由一个或多个工作负载参数指示,gpu 102的工作负载低于工作负载阈值。这表明gpu 102很可能代表程序103执行命令。因此,并且响应于工作负载低于工作负载阈值,cfam 108将时钟信号ck的频率设置为较低频率f1。
26.在时间202之后的时间203,gpu 102处的工作负载增加,使得工作负载高于工作负载阈值。所述工作负载因此表明gpu 102正在代表程序104执行命令。因此,并且响应于工作负载增加到高于工作负载阈值,cfam 108开始使时钟信号ck的频率增加,直到在时间204,频率已达到较高的指定频率f2。如所示,cfam 108使时钟信号随着时间推移(在时间203与时间204之间)从频率f1缓变到频率f2,而不是在时间203将时钟频率立刻设置为f2。在一些实施方案中,时间203与时间204之间的时间是50微秒或更少。通过使时钟从频率f1缓变到频率f2,gpu 102继续在时间203与204之间执行操作,而不是停止执行并将数据从计算单元115逐出。
27.在时间204与时间205之间,gpu 102的工作负载高于工作负载阈值,并且作为响应,cfam 108将时钟信号ck的频率维持为较高频率f2。在时间205,gpu 102的工作负载落到阈值以下。作为响应,cfam 108开始使时钟信号ck的频率缓变并返回到较低的频率f1。在一些实施方案中,cfam 108采用滞后来防止短暂偏离工作负载阈值导致对时钟信号ck的频率进行频繁调整。例如,在一些实施方案中,cfam 108响应于gpu 102的工作负载在指定时间量内高于阈值而开始调整时钟信号频率。
28.图3示出根据一些实施方案的cfam 108的示例。在所绘示的示例中,cfam 108包括控制模块320、一组程序频率寄存器322和一组工作负载阈值寄存器324。程序频率寄存器322是存储在gpu 102的处理系统处执行的每个程序的频率值的一组可编程寄存器。在一些实施方案中,每个正在执行的程序经由装置驱动器向gpu 102发送命令。当程序开始在处理系统处执行时,所述程序向装置驱动器发送指示所述程序的指定执行频率的频率信息。作为响应,装置驱动器以所述程序的指定执行频率对程序频率寄存器322中的对应者进行编程。
29.工作负载阈值寄存器324是存储在gpu 102的处理系统处执行的每个程序的工作负载阈值的一组可编程寄存器。在一些实施方案中,每个正在执行的程序与工作负载分布相关联,指示由所述程序产生的可能工作负载。在一些实施方案中,工作负载分布是在程序的开发期间由软件开发人员产生。在其他实施方案中,工作负载分布是在执行所述程序前n次期间由gpu 102形成,其中n是整数。例如,在执行程序的前n次,gpu 102采用性能监视器(未图示)来测量程序产生的工作负载,诸如代表所述程序的被安排来执行的波前的数量、代表所述程序的由cpu 101发出的绘制命令的数量等。控制模块320产生指示程序的平均工作负载(例如,由程序产生的波前的平均数量或绘制命令的平均数量,或其组合)的工作负载阈值,并且将所述工作负载阈值存储在工作负载阈值寄存器324中的对应者处。
30.在操作中,当在gpu 102的处理系统处同时执行至少两个程序时,控制模块320从调度程序106接收信息,诸如在指定时间量内被安排的波前的数量或接收到的绘制命令的数量。控制模块320将工作负载信息与存储在工作负载阈值寄存器324处的工作负载阈值进行比较。响应于超过工作负载阈值,控制模块320确定所述程序与被超过的阈值相关联,并
且从程序频率寄存器322检索所述程序的程序频率。控制模块320随后向时钟控制模块110发送控制信令以将ck时钟信号的频率调整为所检索到的程序频率。
31.响应于工作负载信息表明gpu工作负载已落到工作负载阈值以下,控制模块320确定所述程序与存储在工作负载阈值寄存器324处的次低工作负载阈值相关联。控制模块320从程序频率寄存器322检索所识别的程序的程序频率并且向时钟控制模块110发送控制信令以将ck时钟信号的频率调整为所检索到的程序频率。
32.图4示出根据一些实施方案的基于识别由检测到的工作负载指示的正在执行的程序来在处理单元处设置时钟信号的频率的方法400的流程图。为了描述,参照图1的gpu 102处的示例实现方式来描述方法400,但应了解,在其他实施方案中,方法400是在其他处理单元和其他处理系统处实施。转向流程图,在框402,gpu 102确定正在处理系统处执行的每个程序的工作负载阈值。如上所述,在一些实施方案中,每个正在执行的程序在初始化之后基于在程序的开发期间创建的工作负载分布来提供工作负载阈值。在其他实施方案中,gpu 102通过确定在执行程序的前n次期间由程序产生的平均工作负载来识别正在执行的程序的工作负载阈值。在其他实施方案中,gpu 102被配置为记录在每次执行程序时由正在执行的程序产生的工作负载,并且通过确定在执行程序的最后m次期间由程序产生的平均工作负载来确定工作负载阈值,其中m是整数。gpu 102将所述工作负载阈值记录在工作负载阈值寄存器324的对应寄存器处。
33.在框404,gpu 102确定在处理系统处同时执行的程序的指定时钟频率。如上所述,在一些实施方案中,由每个正在执行的程序经由装置驱动器将指定时钟频率提供到gpu 102。gpu 102将所述指定时钟频率存储在程序频率寄存器322中的对应者处。
34.在框406,cfam 108基于由调度程序106提供的信息,诸如被安排在计算单元115处的波前的数量、在指定时间量内由gpu 102接收到的绘制命令的数量等,来监测gpu 102的工作负载。在框408,cfam 108确定工作负载是否超过存储在工作负载寄存器324处的工作负载阈值中的一者。如果不是,则所述方法返回到框406,并且cfam 108将ck时钟信号的时钟速度维持在当前频率。
35.如果在框408,cfam 108确定工作负载已超过工作负载阈值,则cfam 108识别与被超过的阈值相关联的程序,并且进一步确定所述程序的存储在程序频率寄存器322处的指定程序频率。在框410,cfam 108向时钟控制模块110发送控制信令以将ck时钟信号的频率调整为指定程序频率。
36.方法流程移动到框412,并且cfam 108继续基于由调度程序106提供的信息来监测gpu 102的工作负载。在框414,cfam 108确定工作负载是否已落到存储在工作负载寄存器324处的工作负载阈值以下。如果不是,则所述方法返回到框412,并且cfam 108将ck时钟信号的时钟速度维持在当前频率。响应于工作负载落到工作负载阈值以下,方法流程移动到框416,并且cfam 108向时钟控制模块110发送控制信令以使ck时钟信号的频率返回到初始的较低频率。方法流程返回到框406,并且cfam 108继续监测gpu 102的工作负载。
37.在一些实施方案中,一种方法包括:在图形处理单元(gpu)处从中央处理单元(cpu)接收多个命令,所述多个命令与在所述cpu处同时执行的多个程序线程相关联,所述多个线程中的每一者与对应的指定时钟频率相关联;在所述gpu处基于所述多个命令中的至少一者来确定将在所述gpu处执行的第一工作负载;基于所述第一工作负载来识别在所
述cpu处同时执行的所述多个程序线程中的第一程序线程;以及响应于识别出所述第一程序线程,将所述gpu的时钟信号调整为与所述第一程序线程相关联的所述指定时钟频率。在一个方面中,识别所述第一程序线程包括响应于所述第一工作负载超过第一工作负载阈值而识别所述第一程序线程。
38.在一个方面中,所述方法包括:在所述gpu处基于所述多个命令中的至少一个其他命令来确定在所述第一工作负载之后将在所述gpu处执行的第二工作负载;基于所述第二工作负载来识别在所述cpu处同时执行的所述多个程序线程中的第二程序线程;以及响应于识别出所述第二程序线程,将所述gpu的所述时钟信号从第一频率调整为与所述第二程序线程相关联的所述指定频率。在另一个方面中,识别所述第二程序线程包括响应于所述第二工作负载低于第二工作负载阈值而识别所述第二程序线程。在另一个方面中,所述第一阈值是可编程的。在另一个方面中,识别所述第一工作负载包括基于在所述gpu的调度程序处接收到的信息来识别所述第一工作负载。
39.在一个方面中,识别所述第一工作负载包括基于被安排在所述gpu的一组计算单元处执行的波前的数量来识别所述第一工作负载。在另一个方面中,识别所述第一工作负载包括基于在所述gpu处接收到的绘制命令的类型来识别所述第一工作负载。在另一个方面中,调整时钟包括使所述时钟从第二频率缓变到所述第一频率。
40.在一些实施方案中,一种方法包括:基于将在图形处理单元(gpu)处执行的第一工作负载来识别多个程序线程中的第一程序线程,其中所述gpu执行代表所述多个程序线程的工作负载,并且所述多个程序线程是在中央处理单元(cpu)处同时执行;以及响应于识别出所述第一程序线程,将所述gpu的时钟调整为与所述第一程序线程相关联的第一频率。在一个方面中,识别所述第一程序线程包括响应于所述第一工作负载超过第一工作负载阈值而识别所述第一程序线程。在另一个方面中,所述方法包括:基于将在所述gpu处执行的第一工作负载来识别所述多个程序线程中的第二程序线程;以及响应于识别出所述第二程序线程,将所述gpu的所述时钟调整为与所述第二程序线程相关联的第二频率。在另一个方面中,调整所述时钟包括使所述时钟从第二频率缓变到所述第一频率。
41.在一些实施方案中,一种图形处理单元(gpu)包括:调度程序,所述调度程序用于从中央处理单元(cpu)接收多个命令,所述多个命令与在所述cpu处同时执行的多个程序线程相关联,所述多个线程中的每一者与对应的指定时钟频率相关联;多个计算单元,所述多个计算单元被配置为基于所述多个命令来执行工作负载;时钟控制模块,所述时钟控制模块用于产生用于所述多个计算单元的第一时钟信号;以及时钟频率调整模块,所述时钟频率调整模块被配置为:确定将在所述多个计算单元处执行的第一工作负载;基于所述第一工作负载来识别在所述cpu处同时执行的所述多个程序线程中的第一程序线程;以及响应于识别出所述第一程序线程,将所述时钟信号调整为与所述第一程序线程相关联的所述指定时钟频率。在一个方面中,所述时钟频率调整模块被配置为:响应于所述第一工作负载超过第一工作负载阈值而识别所述第一程序线程。
42.在一个方面中,所述时钟频率调整模块被配置为:确定将在所述多个计算单元处执行的第二工作负载;基于所述第二工作负载来识别第二程序线程;以及响应于识别出所述第二程序线程,将所述时钟信号从所述第一频率调整为与所述第二程序线程相关联的第二频率。在另一个方面中,所述时钟频率调整模块被配置为:响应于所述第二工作负载低于
第二工作负载阈值而识别所述第二程序线程。在另一个方面中,所述第一阈值是可编程的。在另一个方面中,所述时钟频率调整模块被配置为基于被安排在所述gpu的一组计算单元处的波前的数量来识别所述第一工作负载。在另一个方面中,所述时钟频率调整模块被配置为基于在所述调度程序处接收到的绘制命令的数量来识别所述第一工作负载。
43.计算机可读存储介质可包括在使用期间能够由计算机系统访问以将指令和/或数据提供到计算机系统的任何非暂时性存储介质或者非暂时性存储介质的组合。此类存储介质可包括但不限于光学介质(例如,压缩光盘(cd)、数字通用光盘(dvd)、蓝光光盘)、磁性介质(例如,软盘、磁带或磁性硬盘)、易失性存储器(例如,随机存取存储器(ram)或高速缓存)、非易失性存储器(例如,只读存储器(rom)或闪存存储器)或基于微机电系统(mems)的存储介质。计算机可读存储介质可嵌入计算系统(例如,系统ram或rom)中、固定地附接到计算系统(例如,磁性硬盘驱动器)、可移除地附接到计算系统(例如,光盘或基于通用串行总线(usb)的闪存存储器)、或者经由有线或无线网络联接到计算机系统(例如,网络可访问存储装置(nas))。
44.在一些实施方案中,上文所描述的技术的某些方面可由执行软件的处理系统的一个或多个处理器实现。软件包括存储或以其他方式有形地体现在非暂时性计算机可读存储介质上的一个或多个可执行指令集。软件可包括指令和某些数据,当由一个或多个处理器执行时,所述指令和某些数据操纵所述一个或多个处理器来执行上述技术的一个或多个方面。非暂时性计算机可读存储介质可以包括例如磁盘或光盘存储装置、例如闪存存储器的固态存储装置、高速缓存、随机存取存储器(ram)或其他一个或多个非易失性存储器装置等。存储在非暂时性计算机可读存储介质上的可执行指令可呈现源代码、汇编语言代码、对象代码或由一个或多个处理器解译或以其他方式执行的其他指令格式。
45.应注意,并不需要上文在一般描述中所描述的所有活动或元件,特定活动或装置的一部分可能是不需要的,并且可以执行一个或多个其他活动,或者可以包括除所描述的那些元件之外的元件。此外,列出活动的顺序不一定是执行活动的顺序。另外,已经参考具体实施方案描述了概念。然而,本领域普通技术人员应了解,在不脱离如所附权利要求书中所阐述的本公开范围的情况下,可作出各种修改和改变。因此,本说明书和附图将被视为说明性而非限制性的,并且所有此类修改都意图被包括在本公开的范围内。
46.上文已经参照具体实施方案描述了益处、其他优点以及问题的解决方案。然而,所述益处、优点、问题解决方案以及可使任何益处、优点或问题解决方案出现或变得更突出的任何特征都不应被解释为是任何或所有权利要求的关键、必需或必要特征。此外,以上所公开的特定实施方案只是说明性的,因为所公开的主题可以按了解了本文教义的本领域的技术人员显而易知的不同但等效的方式来修改和实践。除了如所附权利要求中所描述的之外,并不意图限制本文所示的构造或设计的细节。因此,明显的是,上文所公开的特定实施方案可被更改或修改,并且所有此类变化都被认为是在所公开的主题的范围内。因此,本文所寻求的保护正如在所附权利要求书中阐述的那般。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献