TWI570543B - 用於與圖形核心相關聯的能量節省之方法及系統 - Google Patents
用於與圖形核心相關聯的能量節省之方法及系統 Download PDFInfo
- Publication number
- TWI570543B TWI570543B TW101147182A TW101147182A TWI570543B TW I570543 B TWI570543 B TW I570543B TW 101147182 A TW101147182 A TW 101147182A TW 101147182 A TW101147182 A TW 101147182A TW I570543 B TWI570543 B TW I570543B
- Authority
- TW
- Taiwan
- Prior art keywords
- mode
- gfx
- core
- gfx core
- sub
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/5044—Allocation 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 hardware capabilities
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Power Sources (AREA)
Description
本發明係有關動態圖形電力閘控,更特別係有關用以對電池壽命最佳化之用於動態圖形電力閘控的方法及裝置。
圖形資料的處理常常係由包含有一個圖形(graphics,GFX)核心的一個專用GFX引擎來進行,處理動作係於此GFX核心發生。一個典型的GFX核心係利用複數個執行單元(execution unit,EU),這些EU可係協奏性地或彼此獨立地發揮功能。當處理工作負載很高時,可藉由將GFX核心轉移至一個RC6電力降低狀態而部份地最佳化GFX核心能量消耗。然而,在這樣的情況中,這整個GFX核心必須同時轉移至RC6狀態。若此GFX核心的任何一部分必須變成作動中,則整個GFX核心都必須被轉移回RC0作動中狀態。當整個GFX核心都運作於RC0作動中狀態,但處理工作負載卻相當輕量時,這樣的一個制度可能會引起不必要的電力消耗。因此,可能會有這樣的需求,要減低由GFX
核心所致的電力消耗,以延長,例如,電池壽命。
依據本發明之又一實施例,係特地提出一種方法,其包含下列步驟:於一第一模式中在一個圖形(GFX)核心上執行一個工作負載,該GFX核心包含多個子截割,其中該等多個子截割中之各者接收電力;計算使該GFX核心在一第一決策窗之期間內於該第一模式中進行該工作負載所需的時鐘循環之數量,Tfirst mode,該第一決策窗包含多個時鐘循環;計算使該GFX核心在該第一決策窗之期間內於一第二模式中進行該工作負載所需的時鐘循環之數量,Tsecond mode,其中該第二模式包含:以接收電力的該等多個子截割中之比在該第一模式中執行該工作負載更少的子截割來執行該工作負載;判定該GFX核心先前於該第一決策窗之期間內是否係操作於一個電力降低狀態中;若判定出該GFX核心先前於該第一決策窗之期間內係操作於一個電力降低狀態中,則部份基於Tfirst mode和Tsecond mode而判定是否有可能藉由將該GFX核心轉移至該第二模式而獲得能量節省;以及若判定可能藉由將該GFX核心轉移至該第二模式而獲得能量節省,將該GFX核心轉移至該第二模式。
依據本發明之又一實施例,係特地提出一種製造物品,其包含:一個電腦可讀媒體,其具有儲存在內之指令,該等指令在由一個處理器執行時會致使該處理器進行
下列步驟:於一第一模式中在一個圖形(GFX)核心上執行一個工作負載,該GFX核心包含多個子截割,其中該等多個子截割中之各者接收電力;計算使該GFX核心在一第一決策窗之期間內於該第一模式中進行該工作負載所需的時鐘循環之數量,TFIRST MODE,該第一決策窗包含多個時鐘循環;計算使該GFX核心在該第一決策窗之期間內於一第二模式中進行該工作負載所需的時鐘循環之數量,TSECOND MODE,其中該第二模式包含:以接收電力的該等多個子截割中之比在該第一模式中執行該工作負載更少的子截割來執行該工作負載;判定該GFX核心先前於該第一決策窗之期間內是否係操作於一個電力降低狀態中;若判定出該GFX核心先前於該第一決策窗之期間內係操作於一個電力降低狀態中,則部份基於Tfirst mode和Tsecond mode而判定是否有可能藉由將該GFX核心轉移至該第二模式而獲得能量節省;以及若判定可能藉由將該GFX核心轉移至該第二模式而獲得能量節省,將該GFX核心轉移至該第二模式。
依據本發明之又一實施例,係特地提出一種方法,其包含下列步驟:於一第一模式中在一個圖形(GFX)核心上執行一個工作負載,該GFX核心包含多個子截割,其中並非該等多個子截割中之各者均接收電力;計算該GFX核心先前在一第一決策窗之期間內操作於一個電力降低狀態中的時間之百分比,該第一決策窗包含多個時鐘循環;判定該百分比是否超越一個預定臨界值;若該百分比
有超越一個預定臨界值,則判定該GFX核心先前在該第一決策窗之期間內操作於該電力降低狀態中的時間之該百分比是否可歸因於一個週期性活動圖型;以及若判定出該GFX核心先前在該第一決策窗之期間內操作於該電力降低狀態中的時間之該百分比之至少一部分不可歸因於該週期性活動圖型,則將該GFX核心轉移至一第二模式,其中該第二模式包含:以接收電力的該等多個子截割中之比當於該第一模式中執行該工作負載時更多的子截割來執行。
10‧‧‧圖形(GFX)引擎
12‧‧‧圖形(GFX)核心
14、14’‧‧‧子截割
16‧‧‧執行單元(EU)
18‧‧‧取樣器邏輯模組/取樣器
20‧‧‧快取記憶體
22‧‧‧圖形(GFX)固定功能模組
24‧‧‧輸入
26‧‧‧輸出
410~430‧‧‧方塊
當考慮隨附圖式時,可藉由參考下面的詳細說明而快速地獲得對於在本文中所描述的數實施例及其相伴優點的理解,其中:圖1是一個圖形(GFX)引擎的一個示範性且無限制意味的實施例之示意圖;圖2是依據一個示範性且無限制意味的實施例的一個GFX核心12之操作的圖;圖3是依據一個示範性且無限制意味的替代實施例的一個GFX核心12之操作的圖;並且圖4是依據一個示範性且無限制意味的實施例的一個方法的流程圖;圖5例示出依據一些實施例的另一個系統;並且圖6是依據一些實施例的一個小型狀因數設備的一個範例。
依據於本文中所述的許多示範實施例,係提供一種方法,用以在輕量GFX核心12工作負載的情況中減低能量消耗並增進電池壽命,其容許至少一些RC6狀態停駐,並同時維持效能,像是可藉由所遞送訊框速率來量測者。因此,述於下文中的這些示範實施例係與本技藝中之用來使用電力閘控以在沈重的工作負載條件下於給定電力預算內最佳化GFX核心12效能的已知其他方法論不同。
請參看圖1,其例示出一個圖形(GFX)引擎10的一個示意圖。GFX引擎10典型上包含一個GFX核心12,其係由多個一模一樣(或幾乎一模一樣)的方塊組成,係將這些方塊示為複數個子截割(Subslice)14、14’。各個子截割14、14’含有多個執行單元(Execution Unit)16,或EU 16,其進行算術、邏輯操作、及諸如此類者。各個子截割14、14’可亦包含一個取樣器(Sampler)邏輯模組18(之後稱為「取樣器18」),用於紋理處理的進行。一個GFX核心12可包含大量的子截割14、14’。雖然圖1係例示出僅由兩個子截割14、14’組成的GFX核心12,但採用這樣的組態是為了例示於本文中所揭露的許多非限制意味的示範實施例。可瞭解,在實務上,包含任何數量的(各包含有任何數量的EU的)子截割14的GFX核心12係可在不悖離於本文中所體現之教示的情況下運作。
各個子截割14、14’皆可與一個快取記憶體20通訊。快取記憶體20可將資料儲存在與快取記憶體20相關聯
的記憶體中,其中,此等資料可包含用於GFX核心12和GFX引擎10之操作的指令,如於下文中更完整說明的。GFX引擎10進一步包含一個GFX固定功能模組22,其包含有一個處理器,用以進行許多經定義GFX功能,包括但不受限於:量測、計算和判定,如於下文中更完整說明的。GFX引擎10包含一個輸入24,用以自位在GFX引擎10之外部的一個來源接收資料和/或指令。同樣地,GFX引擎10亦包含有一個輸出26,用以將資料和/或指令發送到位在GFX引擎10之外部的一個實體。
在操作上,GFX核心12常常會必需要處理非常大量的三角形和紋理元素,或曰,「文理影像元件」。在這樣的情況中,可證明,以一種持續方式完全利用所有的可用EU 16和所有的取樣器18是必須的,就算不是必須的也會是大有益處的。在當中GEX工作負載可係更輕量的其他情況中,處理動作可能並不需要以相當長的時間來使用在GFX核心12中可用的所有的EU 16和所有的取樣器18。
請參看圖2,其例示出一個圖,此圖描繪出對於EU 16(黑線)和取樣器18(黑虛線)在時鐘循環的一個跨距中的示範使用方式,在這個時間當中,係遭遇到週期性叢發GFX核心12活動,像是用來處理一個訊框所需者,其中,這樣的活動係由閒置區間分開。當閒置時,GFX核心12典型上會進入一個低電力RC6狀態,並且關閉電力。在一個典型的範例中,作動中或閒置GFX時段可持續數毫秒。然而,在圖2中,純粹為了簡明,係將這樣的閒置或作
動中GFX時段例示為只持續相當小量的時鐘週期。
圖2中的黑曲線代表包含兩個子截割14 14’的一個示範16 EU/2取樣器GFX核心12(例如例示於圖1中的示範GFX核心12)的活動。當於本文中使用時,對於構造「X EU/Y取樣器」的使用係指包含有X數量個EU 16和Y數量個取樣器18的一個組態。圖2的Y軸例示出在各個時鐘循環期間內為作動中(執行中)的EU 16或取樣器18的數量。請注意,在這個範例中所假設的工作負載並沒有重到足以在大部分的時鐘循環期間內將GFX核心12的全部十六個EU 16維持為作動中。這可係由於,例如,工作負載的本質,或者是由於此管線之其他部份中的瓶頸(例如,在GFX固定功能模組22、記憶體停頓等等中的瓶頸)所致。
在本範例中,這看起來是有利可圖的,即,在將小量的EU 16維持為電力提昇以服務被呈送到GFX引擎10的輕量工作負載的同時,將GFX核心12的一部分,例如某個數量的EU 16或甚至是整個子截割14,作電力降低以減少洩漏功率。圖2中的灰曲線代表施用於黑曲線的相同工作負載在時間上的執行,但係假設此工作負載被呈送到如示於圖1中的一個16 EU/2取樣器GFX核心12,可是有單個子截割(八個EU 16和一個取樣器18)被作電力降低。當於本文中使用時,當操作於這樣的一個模式中時,係以操作於一個「8 EU/1取樣器模式」中來指涉GFX核心12。若這十六個EU GFX核心12的這些活動曲線(圖2中之黑曲線)為已知,則有可能針對這八個EU GFX核心12得到相同類型的曲
線(灰曲線)。
例如,假設X個執行緒在一個給定時鐘循環N上,執行於在16 EU/2取樣器模式中的GFX核心12上。若這些相同的X個執行緒取而代之地係在相同的時鐘循環N上被呈送至在8 EU/1取樣器模式中的GFX核心12,那麼如果X<=8,則所有的執行緒都可在8 EU/1取樣器模式中的GFX核心12上執行(假設沒有其他的執行緒從之前的時鐘循環就被懸置以作執行)。若X>8,則只有8個執行緒可作執行,並且剩下的X-8個執行緒會滯留,以在時鐘循環N+1上作在8 EU/1取樣器模式中的GFX核心12上之執行(和在時鐘循環N+1上所呈送的無論什麼新的執行緒一起)。
基本上,在例示出於16 EU/2取樣器模式中之GFX核心12之EU活動的黑曲線下面的區域應該與在例示出於8 EU/1取樣器模式中之GFX核心12之EU活動的灰曲線下面的區域相同。類似理由施用於例示出取樣器活動的虛灰和黑曲線。
如於圖2之範例中所例示的,在大部分的情況中,相較於在16 EU/2取樣器模式中的GFX核心12而言,於8 EU/1取樣器模式中的GFX核心12之操作係使用在數量上大致相同或稍微多一點的時鐘週期來執行相同的輕量工作負載。在於此範例中所假定的工作負載夠輕的情況下,這兩個GFX核心的(例如以每秒訊框來量測的)整體效能會是大致相同的。
如於此範例中所例示的,當在16 EU/2取樣器模
式中時,GFX核心12會花費可觀的時間比例在RC6狀態中。在8 EU/1取樣器模式中之GFX核心12上執行相同的工作負載會將GFX核心12活動的週期作一點延伸,並在遞送相同訊框率的同時以相同的量使整體的RC6時間縮水。請注意,事情可能不會是這樣的,若在16 EU/2取樣器模式中的GFX核心12只經歷一點點或完全沒有RC6停駐。在這樣的一種情況中,將工作負載從在16 EU/2取樣器模式中的GFX核心12轉移到在8 EU/1取樣器模式中的GFX核心12,很有可能會需要在整個RC0狀態中的持續操作,而沒有任何機會可實施RC6切斷。此外,在這樣的一種情況中,為了維持相同的訊框率,在8 EU/1取樣器模式中的GFX核心12之繼續操作可能會需要增加操作電壓和頻率,並且因此還增加電力消散。
在其他條件相同的情況下,在GFX核心12之操作電壓上的增加會容易導致較高的電力消散。示範性且無限制意味的數個實施例因此係聚焦在這樣的情況上,當中,由GFX核心12所經歷的一個工作負載輕到足以容許一些RC6停駐,甚至是在一部分的GFX核心12之電力閘控之後。當於本文中使用時,「電力閘控」係指減少可用於GFX核心12中之處理的子截割14的數量和/或EU 16的數量和/或取樣器18的數量。
在一個示範實施例中,可對GFX核心12作電力閘控,以從一個16 EU/2取樣器模式轉移至一個8 EU/1取樣器模式。只有在由GFX核心12所經歷的工作負載輕到足以甚
至在對一部分的GFX核心12作電力閘控之後還容許一些RC6停駐的事例中,才能夠達到電力節省,而無須對效能有不利的影響。
請注意,在當GFX核心12係配合一些RC6停駐而操作的事例中,典型上,會比較希望其電壓被設為最小操作值Vmin,並且其頻率被設為在那個電壓的最大頻率fvmin。
現在要描述這個方法,藉由這個方法,可判定出由複數個EU 16和子截割14所組成的一個GFX核心12正執行輕到可使得可藉由對一部分的GFX核心12作電力閘控而達到電力節省的一個工作負載。雖然於本文中係參考運用操作於16 EU/2子截割模式中的GFX核心12(其被作電力閘控切斷成一個8 EU/1子截割模式)的一個示範性且無限制意味的實施例而論述,這些操作概念亦可被應用到對其一部分的EU 16或子截割14作電力降低的多EU、多取樣器GFX核心12的一般情況中。
當它執行其工作負載時,16 EU/2子截割模式GFX核心12持續追蹤它有多少個EU 16正在各個時鐘循環期間內執行執行緒,並在包含有多個時鐘循環的一個時間窗(於本文中稱之為一個「決策窗」)內收集此資料。此決策窗可係一個滑動窗,其中,其起始點、終止點和持續時間係受動態組配。在各個決策窗期間內的資料收集可係經由硬體、經由軟體、經由容許圖形驅動器讀取計數和收集資料的週期性中斷、或透過前述模態的某種組合而達成。
在於一個決策窗期間內收集資料的期間內或稍晚,操作於16 EU/2取樣器模式中的GFX核心12會計算先前若只有它的八個EU 16和它的一個取樣器18在相同的決策窗中為作動中,則執行先前在此決策窗內執行的相同工作負載會需要多少個時鐘循環。在一個示範實施例中,這個計算係利用於上文中所述的演算法來進行。從這個計算中,可以分別計算出操作於16 EU/2取樣器模式和8 EU/1取樣器模式中的GFX核心12會必須要在這樣一個決策窗期間內為作動中的時鐘循環T16和T8之數量。
假設Lkg1、Lg2和Lkgrest分別代表子截割14的、子截割14’的和16 EU/2取樣器模式中之GFX核心12的剩餘(非子截割)邏輯的洩漏功率。進一步假設C16和C8分別是執行相同工作負載的操作於16 EU/2取樣器模式或操作於8 EU/1取樣器模式中之GFX核心12的切換電容。當於最近期之決策窗中的16 EU/2取樣器模式中時所消散的能量會是:E1=((Lkg1+Lkg2+Lkgrest)+(fvmin*C16*Vmin2))*T16 (1)
假設GFX核心12已於它的一個子截割14受到電力閘控的情況下在相同決策窗上執行相同工作負載,則它可能已經耗散的能量會是:E2=((Lkg2+Lkgrest)+(fvmin*C8*Vmin2))*T8 (2)
因此,假設這個工作負載是執行於8 EU/1取樣器模式中而非16 EU/2取樣器模式中,則所達到的能量節省會是:
E1-E2=((Lkg1+Lkg2+Lkgrest)+(fvmin*C16*Vmin2))*T16-((Lkg1+Lkgrest)+(fvmin*C8*Vmin))*T8=Lkg2*T16+(Lkg2+Lkgrest)*(T16-T8)+fvmin*Vmin2*(C16*T16-C8*T8) (3)
在上面這個等式中的第一項(Lkg2*T16)是從對一個子截割14作電力閘控而形成的潛在能量節省之來源,以減少洩漏消散。在T16<=T8的情況下,等式((Lkg2+Lkgrest)*(T16-T8))的第二項可能會減少由第一項所提供的能量節省。如從圖2之範例中可明顯看出的,若工作負載夠輕且夠具叢發性,那麼在許多情況中,T8將會是與T16相同、或略大於T16,以使得這個第二項可常常是很小的。在等式(3)裡的第三項可係正的或負的,視C16和C8的相對值而定。無論正或負,等式(3)均可有助於判定出從16 EU/2取樣器模式向下作電力閘控成8 EU/1取樣器模式是否有提供能量節省,如於下文中完整描述的。
請注意,等式(3)中大部分的值為已知。一部分的洩漏被熔融,並由此,係可計算出此部份之任何小部分之洩漏,例如,子截割14之洩漏,因為子截割14代表整體閘控計數的一個已知部份。可能也會需要用來讀取目前接點溫度的一個熱感測器讀數,因為洩漏是溫度的一個函數。T16和T8的值可如於上文中所述地被計算出來。操作電壓Vmin和頻率fvmin也是已知。若GFX核心12目前正操作於16 EU/2取樣器模式中,則可利用形成GFX核心12之一部份
的能量計數器(未示於圖中)來量測C16。可使用能量計數器來評估目前電力消散,並且因此亦可評估目前切換電容C16。當C8這個值未知時,它的值係可藉由後矽(post-silicon)特徵化來估算。例如,係可使用能量監控器計數器來經由一種曲線擬合法,而使得若會要發生電力閘控的話,這些計數器的值不只是與處於其目前之16 EU/2取樣器組態(C16)中的GFX核心12之切換電容互相關,還與操作於8 EU/1取樣器模式中之目標組態的互相關。可針對某個範圍的工作負載和因此獲得的特徵化而進行在16 EU/2取樣器模式和在8 EU/1取樣器模式此二者中的後矽特徵化。
雖然這樣的後矽特徵化提供對於C8的在不同工作負載的許多情況中可能會是足夠精確的近似值,這樣的一種近似可能並非在所有的情況中都足夠精確。在做出決定要從16 EU/2取樣器模式切換到8 EU/1取樣器模式之後,可(例如藉由利用GFX核心12中的能量計數器而)量測C8之值。所量測出來的C8之值可能會與先前所估算者不同,這不只是因為估算不夠準確,還有可能是因為工作負載的特性可能由於已完成估算所以已經改變了。若所量測的C8得證為是比所預估的高很多,這便表示,電力閘控並沒有導致所欲的和所預期的電力節省,那麼,對於電力閘控的這個決定可能必需要被推翻。請注意,一旦已經計算出在16 EU/2取樣器模式或8 EU/1取樣器模式中於決策窗期間內執行一個給定工作負載會需要的時鐘循環的T16或T18數
量,便可判定出在16 EU/2取樣器模式或8 EU/1取樣器模式中會獲得的RC6時間的持續時間。若切換到8 EU/1取樣器模式係將RC6停駐減少至0(或接近0),則可證明作電力閘控是非所欲的,因為這麼做的話,要保留於上文中所述的目前訊框率會需要提昇電壓和頻率,並且因此還提昇電力消散。
一旦GFX核心12已從16 EU/2取樣器模式變換成8 EU/1取樣器模式,對於GFX核心12的使用便會受到監控,以判定它是否應在之後的某個時間再次被變換回16 EU/2取樣器模式。這樣的一個變換可能會是較佳的,若工作負載活動已變得較為沈重。理想上,操作於8 EU/1取樣器模式中的GFX核心12可在一段數個時鐘循環的期間內量測其使用,並利用這樣的量測結果來估算倘若它取而代之地是操作於16 EU/2取樣器模式中則它的使用會是什麼樣的。不幸地,這樣的判定可能會得證為是不實際的,因為相同的8 EU/1取樣器模式GFX核心12活動可對映於許多不同類型的16 EU/2取樣器模式GFX核心12活動。
請參看圖3,其例示出GFX核心12之操作的一個範例,其中,至少在整體RC0停駐這方面,8 EU/1取樣器模式GFX核心12活動係類似於例示於圖2中的。然而,示於圖3中的對應16 EU/2取樣器模式GFX核心12活動係與例示於圖2中的大不相同。有關圖3的這個範例,使一個子截割14電力提昇並從8 EU/1取樣器模式轉移至16 EU/2取樣器模式是有道理的,因為這麼做會顯著地減少GFX核心12的整體
RC0停駐。另一方面,有關圖2的這個範例,從8 EU/1取樣器模式轉移至16 EU/2取樣器模式是沒有道理的,因為這麼做並不會明顯改變整體RC0停駐,並且只會增加第二個子截割14’的洩漏功率,而沒有任何對應的電力或效能利益。
依據一個示範性且無限制意味的實施例,8 EU/1取樣器模式GFX核心12的RC6停駐在一段時間內被追蹤。若在此段時間中,發現所有的八個EU 16都有被使用,並且整體RC6停駐小於一個預定臨界值,則這樣的發現可作為對於一個可能更沈重且持續的工作負載的一個指示。在這樣的一個事例中,將GFX核心12轉移至16 EU/2取樣器模式並將其第二子截割14作電力提昇有可能會是比繼續待在8 EU/1取樣器模式裡更具電力效益的。一但處於16 EU/2取樣器模式中,便可如上文中所述地量測GFX核心12之使用,以判定繼續待在16 EU/2取樣器模式中是否更具電力效益、或是否GFX核心12應被再次作電力關閉並轉移回8 EU/1取樣器模式。
如可明顯看出的,採用避開在16 EU/2取樣器模式和8 EU/1取樣器模式中太頻繁地來回轉移的策略是很有益處的。依據一個示範性且無限制意味的實施例,對GFX核心12作電力閘控、或相反地「不閘控」的整體方案係基於「快速」電力提昇和「慢速」電力降低的原則來實施。當於本文中使用時,「不閘控」或「電力不閘控」係指增加可用於GFX核心12中之處理的子截割14之數量和/或EU 16之數量和或取樣器18之數量。
因為以單個或減少數量的子截割14所作的操作在一些情況中可能會對效能有負面衝擊,所以在本範例中,可能較佳係意欲要在有某種指示指出工作負載正變得更為密集並且GFX核心12被要求要給予更多效能時立即將電力提昇到兩個子截割14、14’。另一方面,若目前的工作負載看起來是輕到足以容許對某些EU 16或GFX核心12的一個子截割14、14’做電力閘控,那麼由於在具體將一部分GFX核心12提交作電力閘控之前等待較長的一段短時間以減少貿然實施電力閘控決策的風險所導致的負面衝擊會相當小。因此,在一個示範實施例中,可係針對電力閘控使用較長持續時間決策窗,並針對電力不閘控使用較短持續時間決策窗。
從這樣的一個策略所形成的一個潛在複雜性是,在如例示於圖2中者的輕量週期性工作負載的事例中,在判定要從8 EU/1取樣模式作電力不閘控到16 EU/2取樣模式上使用一個相對短的決策窗,這可能會導致重複作出錯誤的模式轉移。若所選決策窗與如於圖2中所例示的週期性GFX核心12活動的持續時間一樣長(或比它小),那麼,若此決策窗與GFX核心12活動重疊,則將會有一個決策被快速做出,以作電力不閘控並轉移至16 EU/2取樣器模式,但卻發現在下一個決策窗中,GFX核心12是閒置的且又再次處於RC6狀態中。這種對於電力不閘控的次最佳決策可在每次GFX核心12作動小段時間(作為其輕量且不持續活動的週期性圖型的一部分)時被重複採用。
為了應付這種可能性,依據一個示範性且無限制意味的實施例,要促進如上文中所述的對GFX核心12之電力不閘控的所需條件係有所調整。具體而言,當操作於8 EU/1取樣器模式中時,GFX核心12持續追蹤其目前工作負載可能展現的輕量活動的週期性圖型,並量測在某個數量的決策窗中之各者中的RC6停駐。若在當前決策窗中所量測到的RC6停駐落在某個臨界值之下,並且高活動並非是所預期的週期性活動圖型之一,那麼可能會採用要電力不閘控至16 EU/2取樣器模式的決策。
請參看圖4,於此係例示出如於上文中所述的一個示範性且無限制意味的實施例之流程圖。雖然係參考這樣的事例(其中GFX核心12在16 EU/2取樣器模式和8 EU/1取樣器模式之間變換)來作描述,熟於此技藝者會可瞭解,在這個流程圖中所體現的演算法可被一般化成涵蓋涉及更多子截割14或EU 16和/或更多選項以對子截割14和/或EU 16之不同組合作電力閘控或不閘控的情況。
於方塊410,GFX核心12操作於一個16 EU/2取樣器模式中。於方塊412,針對一第一決策窗而進行對T16和T8的量測。具體而言,係計算於此決策窗之期間內在16 EU/2取樣器模式中(T16)或8 EU/1取樣器模式中(T8)執行一個給定工作負載所需的時鐘循環和的數量。於方塊414,係做出對於先前在此決策窗之期間內GFX核心12是否係操作於一個RC6狀態中的判定。若GFX核心12先前並非如此操作,則這指出一個相當高的負載,則處理程序回到方
塊410,並且GFX核心12繼續操作於16 EU/2取樣器模式中。若判定出GFX核心12先前係在一個RC6狀態中於此決策窗內操作一段時間,則處理程序前進到方塊416。
於方塊416,係做出對於藉由電力閘控至8 EU/1取樣器模式而可能在能量消耗/消散中會有的節省的一個判定。具體而言,這個判定係依據於上文中所述的等式3而作出。處理程序接著繼續來到方塊418,於此,若不可能有能量節省,則處理程序回到方塊410,並且GFX核心12繼續操作於16 EU/2取樣器模式中。反之,若判定出可能有能量節省,則處理程序接著繼續來到方塊420,於此,GFX核心12作電力閘控以轉移成操作於8 EU/1取樣器模式中,並且處理程序繼續來到方塊422,於此,GFX核心12著手開始在8 EU/1取樣器模式中的操作。
處理程序接著前進到方塊424,於此,係做出有關GFX核心12在一第二滑動決策窗中操作於RC6狀態中之時間之百分比的一個判定。處理程序接著繼續來到方塊426,於此,係進行一項檢查,看看是否來自方塊424的操作於RC6狀態之時間之百分比有超過一個預定臨界值並且所有的八個EU 16和一個取樣器18先前在此第二決策窗中有被使用。若這兩個條件中之任一者被認定為不成立,則處理程序回到方塊422,於此,處理程序繼續是在8 EU/1取樣器模式中。反之,若這兩個條件都滿足,則處理程序繼續來到方塊428,於此,係判定出此高RC6百分比是否如於上文中所述的一個週期性活動圖型的一部份。若此高RC6
百分比被判定為是如於上文中所述的一個週期性活動圖型的一部份,則處理程序回到方塊422,於此,處理程序繼續是在8 EU/1取樣器模式中。反之,若判定出此高RC6百分比不是如於上文中所述的一個週期性活動圖型的一部份,則處理程序前進到方塊430,於此,處理程序轉移回到16 EU/2取樣器模式(方塊410)。
圖5例示出依據一些實施例的一系統500。該系統500包含一顯示器520、一使用者介面522、一選擇器550、一平台502、一內容遞送裝置540、一內容服務裝置530及一網路560。該平台502包含一天線、記憶體512、無線電518、儲存體514、晶片組505、應用程式516、處理器510及圖形子系統515。圖6是依據一些實施例的小型狀因數設備600的一範例。
當於本文中使用時,「資訊」和「資料」等詞語係可互換使用,並且可係指涉任何資料、文本、語音、視訊、影像、訊息、位元、封包、脈波、音調、波形、和/或其他類型或是信號和/或資訊的組態。資訊可包含例如,符合如由網際網路工程任務編組(Internet Engineering Task Force,IETF)之網路工作群組(Network Working Group)的S.Deering等人(於1995年十二月)所公佈的「網際網路協定第6版(IPv6)規格(Internet Protocol Version 6(IPv6)Specification)」RFC 1883所定義的網際網路協定第6版(IPv6)標準所發送的資訊封包。依據一些實施例,資訊可被壓縮、編碼、解碼、和/或以其他方式依據已知或將成
為已知或可實行的任何方法被封裝或操縱。
此外,於本文中所述的一些實施例係與「指示」相關聯。當於本文中使用時,「指示」一詞可係用來指涉任何指標和/或可指示出或關聯於一個目標、項目、實體、和/或其他物件和/或構想的其他資訊。當於本文中使用時,「指示出…的資訊」和「指標」等詞語可係用來指涉表達、描述、和或以其他方式與一個相關實體、目標、或物件相關聯的任何資訊。資訊之指標可包括,例如,碼、參考、鍊結、訊號、識別符、和/或前述幾項之任何組合和/或與此資訊相關聯的任何其他資訊式表示。在一些實施例中,資訊之指標(或對資訊的指示)可係或包括此資訊本身和/或此資訊的任何部份或成份。在一些實施例中,指示可包括請求、懇求、廣播、和/或任何其他形式的資訊收集和/或配送。
在這個發明說明書中,有敘述許多實施例,這些實施例僅係為作例示用途而呈現。所描述的這些實施例並不、且並非意欲要具有任何限制意味。當前所揭露的這(些)發明可廣泛地應用至許多實施例,如可輕易地從本揭露內容中明顯看出的。熟於本技藝者會可識出,所揭露的這(些)發明係可配合各種調整和變化而實施,例如結構性的、邏輯性的、軟體的、和電氣式的調整。雖然所揭露的這(些)發明的特定特徵可係已參考一或多個特定實施例和/或圖式而作描述,應瞭解,此等特徵並不受限在使用於對其有所參考而描述的這一或多個特定實施例或圖式中,除非有清楚指明其他情況。
對於具有數個部件或特徵的實施例之說明並不意味著所有或甚至是任何一個此等部件和/或特徵都是需要的。相反地,文中係描述各式各樣的非必要性部件,以例示出這(些)發明的可能實施例之多樣性。除非有清楚指明其他情況,否則沒有任何部件和/或特徵是必要的或需要的。
此外,雖然可能係以序列順序來處理步驟、演算法或其他諸如此類者,係可將此等處理程序組配成以不同的順序運作。易言之,可能已有清楚描述的任何序列或步驟順序並不必然便係指出要以那個順序進行這些步驟的必要條件。於本文中所描述的處理程序之步驟可係以可實踐的任何順序來進行。此外,一些步驟可係同時進行,除非有被敘述成或暗示為非同時發生(例如,因為將一個步驟描述成在另外那一個之後)。再者,藉由在一個圖式中繪示出一個處理程序所作的對此處理程序之例示並不意味著所例示的這個處理程序係排除對它所做的其他變化和調整、並不意味著所例示的這個處理程序或其任何步驟對本發明而言是必需的、並且亦並不意味著所例示的這個處理程序是較佳的。
410~430‧‧‧方塊
Claims (12)
- 一種用於能量節省之方法,其包含:於一第一模式中在一個圖形(GFX)核心上執行一個工作負載,該GFX核心包含多個子截割,其中該等多個子截割中之各者接收電力;計算使該GFX核心在一第一決策窗之期間內於該第一模式中進行該工作負載所需的時鐘循環之數量,Tfirst mode,該第一決策窗包含多個時鐘循環;計算使該GFX核心在該第一決策窗之期間內於一第二模式中進行該工作負載所需的時鐘循環之數量,Tsecond mode,其中該第二模式包含:以接收電力的該等多個子截割中之比在該第一模式中執行該工作負載更少的子截割來執行該工作負載;判定該GFX核心先前於該第一決策窗之期間內是否係操作於一個電力降低狀態中;若判定出該GFX核心先前於該第一決策窗之期間內係操作於一個電力降低狀態中,則部份基於Tfirst mode和Tsecond mode而判定是否能夠藉由將該GFX核心轉移至該第二模式而獲得能量節省;以及若判定能夠藉由將該GFX核心轉移至該第二模式而獲得能量節省,將該GFX核心轉移至該第二模式,其中判定是否能夠獲得能量節省包含:評鑑: Lkgsecond mode*Tfirst mode+(Lkgsecond mode+Lkgrest)*(Tfirst mode-Tsecond mode)+fvmin*Vmin*(Cfirst mode*Tfirst mode-Csecond mode*Tsecond mode)其中Lkgsecond mode是於該第二模式中的接收電力的該一或多個子截割之電力洩漏,Lkgrest是該GFX核心的不包括由該等多個子截割所耗用之電力的電力洩漏,fvmin是該GFX核心的操作頻率,Vmin是該GFX核心的操作電壓,Cfirst mode是執行於該第一模式中的該GFX核心之切換電容,並且Csecond mode是執行於該第二模式中的該GFX核心之切換電容;以及若評鑑所得之結果是一個正量,則判定該能量節省是能夠獲得的。
- 如申請專利範圍第1項之方法,其進一步包含:估算Csecond mode之值。
- 如申請專利範圍第2項之方法,其中,估算Csecond mode之該值包含:利用後矽特徵化來估算Csecond mode之該值。
- 如申請專利範圍第1項之方法,其中,該電力降低狀態是一個RC6狀態。
- 一種製造物品,其包含:一非暫態電腦可讀媒體,其具有儲存在其上之指令,該等指令在由一個處理器執行時會致使該處理器用 以:於一第一模式中在一個圖形(GFX)核心上執行一個工作負載,該GFX核心包含多個子截割,其中該等多個子截割中之各者接收電力;計算使該GFX核心在一第一決策窗之期間內於該第一模式中進行該工作負載所需的時鐘循環之數量,Tfirst mode,該第一決策窗包含多個時鐘循環;計算使該GFX核心在該第一決策窗之期間內於一第二模式中進行該工作負載所需的時鐘循環之數量,Tsecond mode,其中該第二模式包含:以接收電力的該等多個子截割中之比在該第一模式中執行該工作負載更少的子截割來執行該工作負載;判定該GFX核心先前於該第一決策窗之期間內是否係操作於一個電力降低狀態中;若判定出該GFX核心先前於該第一決策窗之期間內係操作於一個電力降低狀態中,則部份基於Tfirst mode和Tsecond mode而判定是否能夠藉由將該GFX核心轉移至該第二模式而獲得能量節省;以及若判定能夠藉由將該GFX核心轉移至該第二模式而獲得能量節省,將該GFX核心轉移至該第二模式,其中該等指令進一步致使該處理器用以判定 是否能夠藉由評鑑而獲得能量節省:Lkgsecond mode*Tfirst mode+(Lkgsecond mode+Lkgrest)*(Tfirst mode-Tsecond mode)+fvmin*Vmin*(Cfirst mode*Tfirst mode-Csecond mode*Tsecond mode)其中Lkgsecond mode是於該第二模式中的接收電力的該一或多個子截割之電力洩漏,Lkgrest是該GFX核心的不包括由該等多個子截割所耗用之電力的電力洩漏,fvmin是該GFX核心的操作頻率,Vmin是該GFX核心的操作電壓,Cfirst modE是執行於該第一模式中的該GFX核心之切換電容,並且Csecond mode是執行於該第二模式中的該GFX核心之切換電容;以及若評鑑所得之結果是一個正量,則判定該能量節省是能夠獲得的。
- 如申請專利範圍第5項之物品,其中該等指令進一步致使該處理器用以:估算Csecond mode的值。
- 如申請專利範圍第6項之物品,其中該等指令進一步致使該處理器用以:利用後矽特徵化來估算Csecond mode之該值。
- 如申請專利範圍第5項之物品,其中,該電力降低狀態是一個RC6狀態。
- 一種用於能量節省之系統,其包含: 一處理器;以及一非暫態電腦可讀媒體,其具有儲存在其上之指令,該等指令在由一個處理器執行時會致使該處理器用以:於一第一模式中在一個圖形(GFX)核心上執行一個工作負載,該GFX核心包含多個子截割,其中該等多個子截割中之各者接收電力;計算使該GFX核心在一第一決策窗之期間內於該第一模式中進行該工作負載所需的時鐘循環之數量,Tfirst mode,該第一決策窗包含多個時鐘循環;計算使該GFX核心在該第一決策窗之期間內於一第二模式中進行該工作負載所需的時鐘循環之數量,Tsecond mode,其中該第二模式包含:以接收電力的該等多個子截割中之比在該第一模式中執行該工作負載更少的子截割來執行該工作負載;判定該GFX核心先前於該第一決策窗之期間內是否係操作於一個電力降低狀態中;若判定出該GFX核心先前於該第一決策窗之期間內係操作於一個電力降低狀態中,則部份基於Tfirst mode和Tsecond mode而判定是否能夠藉由將該GFX核心轉移至該第二模式而獲得能量節省;以及 若判定能夠藉由將該GFX核心轉移至該第二模式而獲得能量節省,將該GFX核心轉移至該第二模式,其中該等指令進一步致使該處理器用以判定是否能夠藉由評鑑而獲得能量節省:Lkgsecond mode*Tfirst mode+(Lkgsecond mode+Lkgrest)*(Tfirst mode-Tsecond mode)+fvmin*Vmin*(Cfirst mode*Tfirst mode-Csecond mode*Tsecond mode)其中Lkgsecond mode是於該第二模式中的接收電力的該一或多個子截割之電力洩漏,Lkgrest是該GFX核心的不包括由該等多個子截割所耗用之電力的電力洩漏,fvmin是該GFX核心的操作頻率,Vmin是該GFX核心的操作電壓,Cfirst modE是執行於該第一模式中的該GFX核心之切換電容,並且Csecond mode是執行於該第二模式中的該GFX核心之切換電容;以及若評鑑所得之結果是一個正量,則判定該能量節省是能夠獲得的。
- 如申請專利範圍第9項之系統,其中該等指令進一步致使該處理器用以:估算Csecond mode的值。
- 如申請專利範圍第10項之系統,其中該等指令進一步致使該處理器用以:利用後矽特徵化來估算Csecond mode之該值。
- 如申請專利範圍第9項之系統,其中,該電力降低狀態是一個RC6狀態。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/338,354 US8806243B2 (en) | 2011-12-28 | 2011-12-28 | Method of and apparatus for energy savings associated with a graphics core |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201344414A TW201344414A (zh) | 2013-11-01 |
TWI570543B true TWI570543B (zh) | 2017-02-11 |
Family
ID=46380381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101147182A TWI570543B (zh) | 2011-12-28 | 2012-12-13 | 用於與圖形核心相關聯的能量節省之方法及系統 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8806243B2 (zh) |
EP (1) | EP2798433B1 (zh) |
CN (1) | CN104024976B (zh) |
TW (1) | TWI570543B (zh) |
WO (1) | WO2013101437A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9703364B2 (en) * | 2012-09-29 | 2017-07-11 | Intel Corporation | Rotational graphics sub-slice and execution unit power down to improve power performance efficiency |
US10025367B2 (en) * | 2014-08-19 | 2018-07-17 | Intel Corporation | Dynamic scaling of graphics processor execution resources |
CN107003934B (zh) * | 2014-12-08 | 2020-12-29 | 英特尔公司 | 改进共享本地存储器和系统全局存储器之间的存储器访问性能的装置和方法 |
DE102016202306A1 (de) * | 2015-04-08 | 2016-10-13 | Robert Bosch Gmbh | Verfahren zum Betreiben eines elektrifizierten Kraftfahrzeugs |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110131430A1 (en) * | 2009-11-30 | 2011-06-02 | International Business Machines Corporation | Managing accelerators of a computing environment |
TWI372338B (en) * | 2006-11-22 | 2012-09-11 | Nvidia Corp | System, method, and computer program product for saving power in a multi-graphics processor environment |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6938176B1 (en) | 2001-10-05 | 2005-08-30 | Nvidia Corporation | Method and apparatus for power management of graphics processors and subsystems that allow the subsystems to respond to accesses when subsystems are idle |
US6971034B2 (en) * | 2003-01-09 | 2005-11-29 | Intel Corporation | Power/performance optimized memory controller considering processor power states |
US7134031B2 (en) * | 2003-08-04 | 2006-11-07 | Arm Limited | Performance control within a multi-processor system |
US20050132239A1 (en) * | 2003-12-16 | 2005-06-16 | Athas William C. | Almost-symmetric multiprocessor that supports high-performance and energy-efficient execution |
US7562234B2 (en) | 2005-08-25 | 2009-07-14 | Apple Inc. | Methods and apparatuses for dynamic power control |
US7412353B2 (en) | 2005-09-28 | 2008-08-12 | Intel Corporation | Reliable computing with a many-core processor |
US7861068B2 (en) * | 2006-03-07 | 2010-12-28 | Intel Corporation | Method and apparatus for using dynamic workload characteristics to control CPU frequency and voltage scaling |
US8386808B2 (en) * | 2008-12-22 | 2013-02-26 | Intel Corporation | Adaptive power budget allocation between multiple components in a computing system |
KR101533572B1 (ko) * | 2009-05-20 | 2015-07-03 | 삼성전자주식회사 | 전력 관리 방법 |
US9360914B2 (en) * | 2010-01-12 | 2016-06-07 | Oracle America, Inc. | System and method for controlling energy usage in a server |
US8612984B2 (en) | 2010-04-28 | 2013-12-17 | International Business Machines Corporation | Energy-aware job scheduling for cluster environments |
US8701121B2 (en) * | 2011-06-27 | 2014-04-15 | Khalifa University Of Science, Technology And Research | Method and system for reactive scheduling |
US8185758B2 (en) | 2011-06-30 | 2012-05-22 | Intel Corporation | Method and system for determining an energy-efficient operating point of a platform |
US9196013B2 (en) * | 2011-10-31 | 2015-11-24 | Apple Inc. | GPU workload prediction and management |
-
2011
- 2011-12-28 US US13/338,354 patent/US8806243B2/en active Active
-
2012
- 2012-12-10 WO PCT/US2012/068682 patent/WO2013101437A1/en active Application Filing
- 2012-12-10 CN CN201280065118.1A patent/CN104024976B/zh not_active Expired - Fee Related
- 2012-12-10 EP EP12861421.1A patent/EP2798433B1/en not_active Not-in-force
- 2012-12-13 TW TW101147182A patent/TWI570543B/zh active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI372338B (en) * | 2006-11-22 | 2012-09-11 | Nvidia Corp | System, method, and computer program product for saving power in a multi-graphics processor environment |
US20110131430A1 (en) * | 2009-11-30 | 2011-06-02 | International Business Machines Corporation | Managing accelerators of a computing environment |
Also Published As
Publication number | Publication date |
---|---|
US20120169747A1 (en) | 2012-07-05 |
TW201344414A (zh) | 2013-11-01 |
EP2798433A4 (en) | 2015-10-07 |
EP2798433B1 (en) | 2019-05-01 |
CN104024976A (zh) | 2014-09-03 |
EP2798433A1 (en) | 2014-11-05 |
WO2013101437A1 (en) | 2013-07-04 |
US8806243B2 (en) | 2014-08-12 |
CN104024976B (zh) | 2017-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210064117A1 (en) | Optimizing power usage by factoring processor architectural events to pmu | |
TWI525547B (zh) | 用以避免無效率核心跳換及提供硬體輔助低功率狀態選擇之機構 | |
CN101379453B (zh) | 使用动态工作负载特征来控制cpu频率和电压调节的方法和装置 | |
JP6169547B2 (ja) | チップ上のマルチコアシステムの全域チップ電力を管理する方法およびその装置 | |
JP2018533112A (ja) | コマンドストリームヒントを使用したgpu作業負荷の特徴づけおよび電力管理 | |
JP5695766B2 (ja) | マルチコアシステムエネルギー消費最適化 | |
US8806491B2 (en) | Thread migration to improve power efficiency in a parallel processing environment | |
TWI570543B (zh) | 用於與圖形核心相關聯的能量節省之方法及系統 | |
TW201229912A (en) | System and method for power optimization | |
TW201342209A (zh) | 在多核心處理器中的非對稱核心之間遷移執行緒 | |
KR102239229B1 (ko) | 공유 하드웨어 자원들을 사용하는 클러스터드 프로세서 코어들의 하드웨어 스레드들의 동적 부하 밸런싱, 및 관련된 회로들, 방법들, 및 컴퓨터 판독가능 미디어 | |
US10242418B2 (en) | Reconfigurable graphics processor for performance improvement | |
TW201211755A (en) | System and method for power optimization | |
US9753531B2 (en) | Method, apparatus, and system for energy efficiency and energy conservation including determining an optimal power state of the apparatus based on residency time of non-core domains in a power saving state | |
US20180342227A1 (en) | Performance-Based Graphics Processing Unit Power Management | |
CN108664367B (zh) | 一种基于处理器的功耗控制方法及装置 | |
US11763414B2 (en) | Glitchless GPU switching at a multiplexer | |
TW201621809A (zh) | 繪圖處理系統及其電源閘控方法 | |
US20170075589A1 (en) | Memory and bus frequency scaling by detecting memory-latency-bound workloads | |
CN115934309A (zh) | 用于核心特定度量收集的技术 | |
US11399344B2 (en) | System and method for SoC idle power state control based on I/O operation characterization | |
US9213585B2 (en) | Controlling sprinting for thermal capacity boosted systems | |
JP2023505459A (ja) | 異種プロセッサ間のタスク遷移の方法 |