Method for preempting graphics tasks to accommodate compute tasks in an accelerated processing device (APD)
AssigneeAdvanced Micro Devices, Inc.
InventorsRobert Scott Hartog, Ralph Clay Taylor, Michael Mantor, Sebastien Nussbaum, Rex McCrary, Mark Leather, Philip J. Rogers, Thomas R. Woller
Life of this patent
Estimating the term…
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.
Claims20
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.
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.
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.
Dependencies are inferred from the claim text.