US 11,989,076 B2
Dynamically power on/off processing clusters during execution
Balaji Vembu, Folsom, CA (US); Josh B. Mastronarde, Sacramento, CA (US); and Nikos Kaburlasos, Lincoln, CA (US)
Assigned to INTEL CORPORATION, Santa Clara, CA (US)
Filed by INTEL CORPORATION, Santa Clara, CA (US)
Filed on Dec. 31, 2019, as Appl. No. 16/731,885.
Application 16/731,885 is a continuation of application No. 15/493,566, filed on Apr. 21, 2017, granted, now 10,528,118.
Prior Publication US 2020/0201420 A1, Jun. 25, 2020
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 1/32 (2019.01); G06F 1/3287 (2019.01); G06F 1/3296 (2019.01); G06F 9/50 (2006.01); G06F 13/40 (2006.01); G06F 1/26 (2006.01)
CPC G06F 1/3287 (2013.01) [G06F 1/3296 (2013.01); G06F 9/5083 (2013.01); G06F 9/5088 (2013.01); G06F 9/5094 (2013.01); G06F 13/4022 (2013.01); G06F 1/26 (2013.01)] 21 Claims
OG exemplary drawing
 
1. A graphics processor, comprising:
a first streaming multiprocessor and a second streaming multiprocessor;
the first streaming multiprocessor comprising first set of processing clusters and a first state accumulator;
the second streaming multiprocessor comprising a second set of processing clusters and a second state accumulator;
a processing resource to:
power on the first set of processing clusters;
dispatch a first workload to the first set of processing clusters;
accumulate state information relating to the workload executing on the first set of processing clusters in the first state accumulator;
monitor the first state accumulator to detect a full operating state of the first set of processing clusters, and in response to the detection of a full operating state of the first set of processing clusters, to:
power on the second set of processing clusters;
replay the state information from the first state accumulator to the second state accumulator;
dispatch operations from the first workload to the second set of processing clusters;
monitor a utilization level of the first set of processing clusters and the second set of processing clusters;
compare the utilization level of the first set of processing clusters to a threshold corresponding to a capacity level which indicates that the first workload can be processed by a single set of processing clusters;
cease to dispatch operations from the first workload to the second set of processing clusters when a utilization level of the first set of processing clusters falls below the threshold; and
power off the second set of processing clusters after operations cease on the second set of processing clusters.