IP Library Granted Patent US 12710991
Granted Patent B2
US 12710991 · App. 17/487,480 · Granted Aug 18, 2026

Providing an optimized service-based pipeline

Inventors: Daniel Waihim Wong (Santa Clara, CA); Allen J. Porter (Markham, CA)
Assignees: ADVANCED MICRO DEVICES, INC.; ATI TECHNOLOGIES ULC
G06F9/505G06F9/48G06F9/4843G06F9/4881G06F9/50G06F9/5005G06F9/5027G06F9/5044G06F11/3433
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 12710991
App. No.
17/487,480
Granted
Aug 18, 2026
Kind
B2
Abstract

An optimized service-based pipeline includes a resource manager that receives a request that includes a description of a workload from a workload initiator such as an application. The resource manager identifies runtime utilization metrics of a plurality of processing resources, where the plurality of processing resources includes at least a first graphics processing unit (GPU) and a second GPU. The resource manager determines, based on the utilization metrics and one or more policies, a workload allocation recommendation for the workload. Thus, the workload initiator can determine whether placing a workload on a particular processing resource is preferable based on runtime behavior of the system and policies established of the workload.

Claims (45)

1 . A method of providing a service-based pipeline, the method comprising:

inspecting, in response to a request that includes a description of a workload received from a workload initiator, runtime utilization metrics of a plurality of processing resources, wherein the plurality of processing resources includes at least a first graphics processing unit (GPU) and a second GPU;

generating, by a resource manager and based on the utilization metrics and one or more policies, a workload allocation recommendation; and

providing, to the workload initiator in response to the request, the workload allocation recommendation, wherein the workload initiator is to allocate the workload to one or more of the processing resources for execution by making a call to an operating system.

2 . The method of claim 1 , wherein the first GPU is an integrated GPU that is integrated with a central processing unit (CPU); and wherein the second GPU is a discrete GPU, and wherein the workload allocation recommendation specifies whether to utilize the integrated GPU or the discrete GPU for executing the workload.

3 . The method of claim 1 , wherein the plurality of processing resources further includes at least one of a video encoding/decoding accelerator, an audio encoding/decoding accelerator, a display controller, a bus interface controller, and a memory subsystem controller, and wherein the resource manager and the workload initiator are both included within a system memory.

4 . The method of claim 1 further comprising:

exposing, to the workload initiator, an application programming interface (API) for submitting the request via an API call to the resource manager to request a recommended allocation, wherein the description of the workload is included as one or more arguments to the API call; and

providing the workload allocation recommendation to the workload initiator as a response to the API call.

5 . The method of claim 1 ,

wherein the workload initiator comprises an application, wherein the workload is generated by the application, and wherein the application receives the workload allocation recommendation from the resource manager and selects the one or more of the processing resources based on the received workload allocation recommendation.

6 . The method of claim 1 further comprising:

identifying the runtime utilization metrics and the one or more policies based at least on the description of the workload.

7 . The method of claim 1 , wherein generating, based on the utilization metrics and one or more policies, a workload allocation recommendation includes:

predicting, based on the runtime utilization metrics, a utilization impact on the plurality of processing resources in a particular workload allocation.

8 . The method of claim 7 , wherein a plurality of workload allocations is described in the one or more policies.

9 . The method of claim 7 , wherein generating, based on the utilization metrics and one or more policies, a workload allocation recommendation also includes:

scoring a plurality of workload allocations based on one or more factors specified in the one or more policies.

10 . The method of claim 1 further comprising:

registering the workload initiator for a resource management notification; and

notifying the workload initiator of resource availability in response to at least one of a change in capabilities and a change in utilization.

11 . An apparatus for providing a service-based pipeline, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed therein computer program instructions that, when executed by the computer processor, cause the apparatus to:

inspect, in response to a request that includes a description of a workload received from a workload initiator, runtime utilization metrics of a plurality of processing resources, wherein the plurality of processing resources includes at least a first graphics processing unit (GPU) and a second GPU;

generate, by a resource manager and based on the utilization metrics and one or more policies, a workload allocation recommendation; and

provide, to the workload initiator in response to the request, the workload allocation recommendation, wherein the workload initiator is to allocate the workload to one or more of the processing resources for execution by making a call to an operating system.

12 . The apparatus of claim 11 , wherein generate, based on the utilization metrics and one or more policies, a workload allocation recommendation includes:

predict, based on the runtime utilization metrics, a utilization impact on the plurality of processing resources in a particular workload allocation.

13 . The apparatus of claim 12 , wherein a plurality of workload allocations is described in the one or more policies.

14 . The apparatus of claim 12 wherein generate, based on the utilization metrics and one or more policies, a workload allocation recommendation also includes:

score a plurality of workload allocations based on one or more factors specified in the one or more policies.

15 . The apparatus of claim 11 further comprising computer program instructions that, when executed, cause the apparatus to:

register the workload initiator for a resource management notification; and

notify the workload initiator of resource availability in response to at least one of a change in capabilities and a change in utilization.

16 . A computer program product for providing a service-based pipeline, the computer program product disposed upon a non-transitory computer readable storage medium, the computer program product comprising computer program instructions that, when executed, cause a computer to:

inspect, in response to a request that includes a description of a workload received from a workload initiator, runtime utilization metrics of a plurality of processing resources, wherein the plurality of processing resources includes at least a first graphics processing unit (GPU) and a second GPU;

generate, by a resource manager and based on the utilization metrics and one or more policies, a workload allocation recommendation; and

provide, to the workload initiator in response to the request, the workload allocation recommendation, wherein the workload initiator is to allocate the workload to one or more of the processing resources for execution by making a call to an operating system.

17 . The computer program product of claim 16 , wherein generate, based on the utilization metrics and one or more policies, a workload allocation recommendation includes:

predict, based on the runtime utilization metrics, a utilization impact on the plurality of processing resources in a particular workload allocation.

18 . The computer program product of claim 17 , wherein generate, based on the utilization metrics and one or more policies, a workload allocation recommendation is performed atomically for a plurality of streams in a workload.

19 . The computer program product of claim 17 , wherein generate, based on the utilization metrics and one or more policies, a workload allocation recommendation also includes:

score a plurality of workload allocations based on one or more factors specified in the one or more policies.

20 . The computer program product of claim 16 further comprising computer program instructions that, when executed, cause the computer to:

register the workload initiator for a resource management notification; and

notify the workload initiator of resource availability in response to at least one of a change in capabilities and a change in utilization.