IP Library Granted Patent US 8,803,891
Granted Patent B2
US 8,803,891 · App. 13/307,904 · Granted Aug 12, 2014

Method for preempting graphics tasks to accommodate compute tasks in an accelerated processing device (APD)

Inventors: Robert Scott Hartog (Windemere, FL); Ralph Clay Taylor (Deland, FL); Michael Mantor (Orlando, FL); Sebastien Nussbaum (Lexington, MA); Rex McCrary (Oviedo, FL); Mark Leather (Los Gatos, CA); Philip J. Rogers (Pepperell, MA); Thomas R. Woller (Austin, TX)
Assignee: Advanced Micro Devices, Inc.
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 8,803,891
App. No.
13/307,904
Granted
Aug 12, 2014
Kind
B2
Abstract

Embodiments described herein provide a method of arbitrating a processing resource. The method includes receiving a command to preempt a task and preventing additional wavefronts associated with the task from being processed. The method also includes evicting currently executing wavefronts associated with the task from being processed based upon predetermined criteria.

Claims (32)

1. A method of arbitrating a resource within an accelerated processing device (APD), comprising:

receiving a command to preempt a task;

preventing additional wavefronts associated with the task from being processed;

adjusting a currently executing wavefront threshold associated with the task in response to receiving the command; and

determining whether to evict a currently executing wavefront associated with the task from being processed based on the threshold.

2. The method of claim 1 , further comprising updating a history queue in response to the wavefront being evicted.

3. The method of claim 1 , further comprising waiting a time quanta before the evicting so that one or more currently executing wavefronts associated with the task can complete execution.

4. The method of claim 1 , wherein the adjusting the currently executing wavefront threshold comprises setting the currently executing wavefront threshold to zero.

5. The method of claim 1 , wherein the task is a graphics task.

6. The method of claim 1 , further comprising generating a backflow signal in response to an amount of concurrently executing wavefronts exceeding the threshold.

7. A resource arbiter, comprising:

registers configured to store a currently executing wavefront threshold associated with one type of task;

wherein the threshold is adjusted in response to a command to context switch in favor of another type of task; and

a flow controller configured to generate a backflow signal responsive to a number of currently executing wavefronts associated with the one type of task when the threshold is exceeded.

8. The resource arbiter of claim 7 , further comprising a wavefront controller configured to evict at least one of the currently executing wavefronts.

9. The resource arbiter of claim 8 , further comprising a history queue configured to store a value pertaining to each of the at least one evicted wavefronts.

10. The resource arbiter of claim 9 , wherein the wavefront controller is configured to generate wavefronts.

11. The resource arbiter of claim 7 , wherein the resource arbiter is configured for coupling to a shader core.

12. The resource arbiter of claim 7 , wherein the one type of task is a graphics task.

13. The resource arbiter of claim 7 , wherein the one type of task originates from a stage in a graphics pipeline.

14. The resource arbiter of claim 7 , wherein the resource arbiter is configured for coupling to at least one of a compute pipeline and a graphics pipeline.

15. The resource arbiter of claim 7 , wherein the backflow signal results in a graphics pipeline becoming stalled.

16. A non-transitory computer readable medium carrying one or more sequences of one or more instructions for execution by one or more processors to perform a method for arbitrating a resource, the instructions when executed by the one or more processors, cause the one or more processors to:

receive a command to preempt a task;

prevent additional wavefronts associated with the task from being processed;

adjust a currently executing wavefront threshold associated with the task in response to receiving the command; and

determine whether to evict a currently executing wavefront associated with the task from being processed based on the threshold.

17. The method of claim 6 , wherein the backflow signal results in a graphics pipeline becoming stalled.

18. The method of claim 1 , further comprising saving state information associated with an evicted wavefront.

19. The non-transitory computer readable medium of claim 16 , wherein the instructions when executed by the one or more processors further cause the one or more processors to:

generate a backflow signal in response to a counter value indicating an amount of concurrently executing wavefronts exceeding the threshold.

20. The non-transitory computer readable medium of claim 16 , wherein the instructions when executed by the one or more processors, further cause the one or more processors to: save state information associated with an evicted wavefront.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE TYPOGRAPHICAL ERROR IN ASSIGNOR'S NAME FROM "SABASTIEN" TO --SEBASTIEN-- AND ASSIGNEE'S ADDRESS PREVIOUSLY RECORDED ON REEL 028024 FRAME 0362. ASSIGNOR(S) HEREBY CONFIRMS THE THE ASSIGNMENT OF ASSIGNORS' INTEREST. Recorded Apr 17, 2012
From: HARTOG, ROBERT SCOTT; TAYLOR, RALPH CLAY; MANTOR, MICHAEL; NUSSBAUM, SEBASTIEN; MCCRARY, REX; LEATHER, MARK; ROGERS, PHILIP J.; WOLLER, THOMAS
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 028062/0496 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2012
From: HARTOG, ROBERT SCOTT; TAYLOR, RALPH CLAY; MANTOR, MICHAEL; NUSSBAUM, SABASTIEN; MCCRARY, REX; LEATHER, MARK; ROGERS, PHILIP J.; WOLLER, THOMAS
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 028024/0362 →
Continuity (2)
Provisional Application 61422349 · Dec 13, 2010
Related Publication 20120194527A1 · Aug 2, 2012