IP Library › Granted Patent US 9,196,013
Granted Patent B2
US 9,196,013 · App. 13/663,289 · Granted Nov 24, 2015

GPU workload prediction and management

Inventors: Ian C. Hendry (San Jose, CA); Anthony G. Sumpter (Santa Clara, CA)
Assignee: Apple Inc.
G06T1/20
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,196,013
App. No.
13/663,289
Granted
Nov 24, 2015
Kind
B2
Abstract

The disclosed embodiments provide a system that configures a graphics-processing unit (GPU) in a computer system. During operation, the system predicts an incoming workload to the GPU. Next, the system identifies an operational floor for the GPU based on the incoming workload. Finally, the system uses the operational floor to configure the subsequent execution of the GPU, wherein the operational floor facilitates processing of the incoming workload by the GPU.

Claims (55)

1. A method for configuring a graphics-processing unit (GPU) in a computer system, comprising:

predicting an incoming workload to the GPU;

identifying an operational floor for the GPU based on the incoming workload; and

using the operational floor to configure the subsequent execution of the GPU, wherein the operational floor facilitates processing of the incoming workload by the GPU, wherein using the operational floor comprises:

obtaining an operating level of the GPU; and

modifying the operating level of the GPU based on at least one of the operational floor, an existing workload of the GPU, a bottleneck in the GPU, a minimum configuration of the GPU, an operational ceiling for the GPU, and a thermal limit for the GPU, wherein modifying the operating level includes preparing the GPU to transition to a new operating level associated with an incoming workload by initially adjusting slow-changing hardware-specific attributes based on the new operating level, but leaving fast-changing hardware-specific attributes at a previous level until the incoming workload arrives at the GPU.

2. The method of claim 1 , wherein the incoming workload is predicted based on at least one of:

command buffers associated with the GPU;

graphics calls to the GPU;

applications associated with the GPU; and

application programming interfaces (APIs) associated with the GPU.

3. The method of claim 1 , wherein the operational floor is associated with at least one of an operating voltage, an operating frequency, a memory bandwidth, a latency, a power-gating configuration, a cache configuration, and a throughput.

4. The method of claim 1 , wherein modifying the operating level of the GPU involves at least one of:

increasing the operating level based on the existing workload, the minimum configuration, or the operational floor; and

decreasing the operating level based on the bottleneck, the operational ceiling, or the thermal limit.

5. The method of claim 4 , wherein the operational ceiling and the thermal limit are associated with a higher priority than the existing workload and the operational floor.

6. The method of claim 1 , wherein the operational ceiling is based on at least one of the thermal limit and a battery runtime associated with the computer system.

7. A system for configuring a graphics-processing unit (GPU) in a computer system, comprising:

a processor; and

the GPU;

wherein the processor and the GPU perform operations for:

an analysis apparatus configured to:

predict an incoming workload to the GPU; and

identify an operational floor for the GPU based on the incoming workload; and

a management apparatus configured to use the operational floor to configure the subsequent execution of the GPU, wherein the operational floor facilitates processing of the incoming workload by the GPU, including:

obtaining an operating level of the GPU; and

modifying the operating level of the GPU based on at least one of the operational floor, an existing workload of the GPU, a bottleneck in the GPU, a minimum configuration of the GPU, an operational ceiling for the GPU, and a thermal limit for the GPU, wherein modifying the operating level includes preparing the GPU to transition to a new operating level associated with an incoming workload by initially adjusting slow-changing hardware-specific attributes based on the new operating level, but leaving fast-changing hardware-specific attributes at a previous level until the incoming workload arrives at the GPU.

8. The system of claim 7 , wherein the incoming workload is predicted based on at least one of:

command buffers associated with the GPU;

graphics calls to the GPU;

applications associated with the GPU; and

application programming interfaces (APIs) associated with the GPU.

9. The system of claim 7 , wherein the operational floor is associated with at least one of an operating voltage, an operating frequency, a memory bandwidth, a latency, a power-gating configuration, a cache configuration, and a throughput.

10. The system of claim 7 , wherein modifying the operating level of the GPU involves at least one of:

increasing the operating level based on the existing workload, the minimum configuration, or the operational floor; and

decreasing the operating level based on the bottleneck, the operational ceiling, or the thermal limit.

11. The system of claim 10 , wherein the operational ceiling and the thermal limit are associated with a higher priority than the existing workload and the operational floor.

12. The system of claim 7 , wherein the operational ceiling is based on at least one of the thermal limit and a battery runtime associated with the computer system.

13. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for configuring a graphics-processing unit (GPU) in a computer system, the method comprising:

predicting an incoming workload to the GPU;

identifying an operational floor for the GPU based on the incoming workload; and

using the operational floor to configure the subsequent execution of the GPU, wherein the operational floor facilitates processing of the incoming workload by the GPU, wherein using the operating floor comprises:

obtaining an operating level of the GPU; and

modifying the operating level of the GPU based on at least one of the operational floor, an existing workload of the GPU, a bottleneck in the GPU, a minimum configuration of the GPU, an operational ceiling for the GPU, and a thermal limit for the GPU, wherein modifying the operating level includes preparing the GPU to transition to a new operating level associated with an incoming workload by initially adjusting slow-changing hardware-specific attributes based on the new operating level, but leaving fast-changing hardware-specific attributes at a previous level until the incoming workload arrives at the GPU.

14. The computer-readable storage medium of claim 13 , wherein the incoming workload is predicted based on at least one of:

command buffers associated with the GPU;

graphics calls to the GPU;

applications associated with the GPU; and

application programming interfaces (APIs) associated with the GPU.

15. The computer-readable storage medium of claim 13 , wherein the operational floor is associated with at least one of an operating voltage, an operating frequency, a memory bandwidth, a latency, a power-gating configuration, a cache configuration, and a throughput.

16. The computer-readable storage medium of claim 13 , wherein modifying the operating level of the GPU involves at least one of:

increasing the operating level based on the existing workload, the minimum configuration, or the operational floor; and

decreasing the operating level based on the bottleneck, the operational ceiling, or the thermal limit.

17. The computer-readable storage medium of claim 16 , wherein the operational ceiling and the thermal limit are associated with a higher priority than the existing workload and the operational floor.

18. The computer-readable storage medium of claim 13 , wherein the operational ceiling is based on at least one of the thermal limit and a battery runtime associated with the computer system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2013
From: HENDRY, IAN C.; SUMPTER, ANTHONY G.
To: APPLE INC.
Reel/Frame 029902/0588 →
Continuity (2)
Provisional Application 61553735 · Oct 31, 2011
Related Publication 20130106881A1 · May 2, 2013