# US 2013/0155045 A1 · Method and apparatus for power management of a graphics processing core in a virtual environment

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2013/0155045 A1
- Document ID: US20130155045A1
- Status: Published application
- Kind: A1
- Application number: 13/325,846
- Filed: 2011-12-14
- Published: 2013-06-20
- Earliest claimed: 2011-12-14
- Assignees: Advanced Micro Devices, Inc.; ATI Technologies ULC
- Inventors: Oleksandr Khodorkovsky; Stephen D. Presant
- Web page: https://patentgrep.com/patent/US20130155045A1

## CPC

- G06F 1/3206: Monitoring of events, devices or parameters that trigger a change in power modality
- G06F 1/324: by lowering clock frequency
- G06F 9/5077: {Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455)}
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

A method and apparatus controls power management of a graphics processing core when multiple virtual machines are allocated to the graphics processing core on a much finer-grain level than conventional systems. In one example, the method and apparatus processes a plurality of virtual machine power control setting requests to determine a power control request for a power management unit of a graphics processing core. The method and apparatus then controls power levels of the graphics processing core with the power management unit based on the determined power control request.

## Claims

### Claim 1

A method comprising:
processing a plurality of virtual machine power control setting requests to determine a power control request for a power management unit of a graphics processing core; and
controlling power levels of the graphics processing core with the power management unit based on the determined power control request.

### Claim 2 (depends on 1)

The method of claim 1, wherein processing a plurality of virtual machine power control setting requests to determine a power control request comprises blending a plurality of virtual machine power control setting requests together to determine the power control request for the power management unit.

### Claim 3 (depends on 1)

The method of claim 1, wherein processing a plurality of virtual machine power control setting requests to determine a power control request comprises selecting a power control setting request from one of the plurality of virtual machines as the power control request for the power management unit.

### Claim 4 (depends on 3)

The method of claim 3, wherein the power control setting request from one of the plurality of virtual machines is selected as the power control request for the power management unit when the selected one of the virtual machines is scheduled to use the graphics processing core for a time slice greater than a predetermined threshold time length.

### Claim 5 (depends on 1)

The method of claim 1, wherein the power management unit uses the determined power control request to controls a power level of at least one engine of the graphics processing core.

### Claim 6 (depends on 5)

The method of claim 5, wherein the determined power control request also controls turning at least one engine of the graphics processing core on and off.

### Claim 7 (depends on 5)

The method of claim 5, wherein the power management unit uses the determined power control request to control power levels of a graphics engine, a display engine, a decoding engine and an encoding engine of the graphics processing core.

### Claim 8 (depends on 1)

The method of claim 1, wherein processing a plurality of virtual machine power control setting requests to determine a power control request comprises comparing the plurality of virtual machine power control setting requests and determining the power control request for the power management unit based on the comparison.

### Claim 9 (depends on 1)

The method of claim 1, wherein the determined power control request is a range of operating frequencies of the graphics processing core suitable for operating each of the plurality of virtual machines.

### Claim 10 (depends on 1)

The method of claim 1, further comprising storing the plurality of virtual machine power control setting requests and the determined power control request in a memory electrically coupled to the power management unit.

### Claim 11 (depends on 10)

The method of claim 10, wherein the stored plurality of virtual machine power control setting requests are linked to a unique identifier of an associated virtual machine.

### Claim 12

A method comprising:
receiving a unique identifier for each of a plurality of virtual machines having access to a graphics processing core;
receiving a virtual machine power control setting request for a power management unit of the graphics processing core for each of the plurality of virtual machines;
storing the plurality of virtual machine power control setting requests in a memory electrically coupled to the power management unit, the stored virtual machine power control setting requests being linked to the unique identifier of an associated virtual machine;
determining which of the plurality of virtual machines are actively using the graphics processing core during a predetermined time period;
processing the plurality of stored virtual machine power control setting requests linked to the unique identifiers of the active virtual machines to determine the power control request for the power management unit of the graphics processing core; and
controlling power levels of the graphics processing core with the power management unit based on the determined power control request.

### Claim 13 (depends on 12)

The method of claim 12, wherein processing the plurality of stored virtual machine power control setting requests linked to the unique identifiers of the active virtual machines to determine the power control request comprises blending a plurality of virtual machine power control setting requests together to determine the power control request for the power management unit.

### Claim 14 (depends on 12)

The method of claim 12, wherein processing the plurality of stored virtual machine power control setting requests linked to the unique identifiers of the active virtual machines to determine the power control request comprises selecting a power control setting request from one of the plurality of virtual machines as the power control request for the power management unit.

### Claim 15 (depends on 14)

The method of claim 14, wherein the power control setting request from one of the plurality of virtual machines is selected as the power control request for the power management unit when the selected one of the virtual machines is scheduled to use the graphics processing core for a time slice greater than a predetermined threshold time length.

### Claim 16 (depends on 12)

The method of claim 12, wherein the determined power control request is a range of operating frequencies of the graphics processing core suitable for operating each of the plurality of virtual machines.

### Claim 17

An apparatus comprising:
a graphics processing core operative to host a plurality of virtual machines;
a power management unit configured to control power levels of the graphics processing core based on a power control request; and
a blending and arbitration module in operative communication with the power management unit, the blending and arbitration module being operable to process a plurality of virtual machine power control setting requests to determine the power control request for use by the power management unit.

### Claim 18 (depends on 17)

The apparatus of claim 17, further comprising a display in operative communication with the graphics processing core to display image data generated by the graphics processing core.

### Claim 19 (depends on 17)

The apparatus of claim 17, wherein the blending and arbitration module is operable to process a plurality of virtual machine power control setting requests to determine the power control request for use by the power management unit by blending a plurality of virtual machine power control setting requests together to determine the power control request for the power management unit.

### Claim 20 (depends on 17)

The apparatus of claim 17, wherein the blending and arbitration module is operable to process a plurality of virtual machine power control setting requests to determine the power control request for use by the power management unit by selecting a power control setting request from one of the plurality of virtual machines as the power control request for the power management unit.

### Claim 21 (depends on 20)

The apparatus of claim 20, wherein the power control setting request from one of the plurality of virtual machines is selected by the blending and arbitration module as the power control request for the power management unit when the selected one of the virtual machines is scheduled to use the graphics processing core for a time slice greater than a predetermined threshold time length.

### Claim 22 (depends on 17)

The apparatus of claim 17, wherein the determined power control request is a range of operating frequencies of the graphics processing core suitable for operating each of the plurality of virtual machines.

### Claim 23

A computer readable storage medium comprising executable instructions that when executed by at least one processor causes the at least one processor to:
process a plurality of virtual machine power control setting requests to determine a power control request for a graphics processing core; and
adjust power levels of the graphics processing core based on the determined power control request.

### Claim 24 (depends on 23)

The computer readable storage medium of claim 23, further comprising executable instructions that when executed by at least one processor causes the at least one processor to blend a plurality of virtual machine power control setting requests together to determine the power control request for the graphics processing core.

### Claim 25 (depends on 23)

The computer readable storage medium of claim 23, further comprising executable instructions that when executed by at least one processor causes the at least one processor to select a power control setting request from one of the plurality of virtual machines as the power control request for the graphics processing core when the selected one of the virtual machines is scheduled to use the graphics processing core for a time slice greater than a predetermined threshold time length.
