IP Library › Granted Patent US 9,594,594
Granted Patent B2
US 9,594,594 · App. 13/654,694 · Granted Mar 14, 2017

Media hardware resource allocation

Inventors: Michael L. Schmit (Cupertino, CA); Ashish Farmer (Sunnyvale, CA)
Assignee: Advanced Micro Devices, Inc.
G06F9/5044G06F9/50G06F9/505G06F9/5005G06F9/5011G06F9/5027G06F9/5055
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,594,594
App. No.
13/654,694
Granted
Mar 14, 2017
Kind
B2
Abstract

Apparatus, computer readable medium, and method of allocating media resources, the method including determining a media resources allocation table based on one or more media hardware resources and predetermined benchmarks of media hardware resources for performing media operations; in response to receiving a request for media resources from a first application, comparing the requested media resources with the media resources allocation table; and if the comparison indicates that the requested media resources are available, then allocating the requested media resources to the first application in the media resources allocation table, and sending a response to the request for media resources to the first application indicating the requested media resources are allocated to the application. If the comparison indicates that the requested media resources are not available, then sending indicating to the first application that the requested media resources are not allocated to the first application.

Claims (46)

1. A method of allocating media resources on a device, comprising:

determining a media resources allocation table based on one or more media resources, the one or more media resources being determined based on media hardware resources on the device, a power consumption of each hardware resource, and predetermined benchmarks of the media hardware resources for performing media operations;

adjusting the media resources allocation table based on actual clock speeds determined for the device while it is running the one or more media resources by running test routines on the device and comparing the actual clock speeds of the device to an estimated clock speed of the device;

receiving a request for media resources from a first application, wherein the request for media resources includes requested media resources, requested performance and a requested power consumption;

in response to receiving the request, comparing the requested media resources with the media resources allocation table based on the requested performance and the requested power consumption to generate a comparison result;

when the comparison result indicates that the requested media resources satisfies the requested performance and the requested power consumption:

allocating the requested media resources to the first application, and

sending a response to the request for media resources to the first application indicating the requested media resources are allocated to the application; and

when the comparison result indicates that the requested media resources are not available;

determining a different media resource to allocate that does satisfy the requested performance and the requested power consumption.

2. The method of allocating media resources of claim 1 , further comprising:

when the comparison indicates that a second application having a priority lower than a priority of the first application is allocated media resources needed to satisfy the request for media resources, then allocating at least some of the media resources from the second application to the first application in the media resources allocation table, and calling a call back routine of the second application indicating to the second application that at least some of the media resources allocated to the second application have been de-allocated, and sending a response to the request for media resources to the first application indicating the requested media resources are allocated to the first application.

3. The method of allocating media resources of claim 1 , wherein the media resources comprise at least one of a decode capacity, an encode capacity, and a scaling/color space conversion (CSC) operation capacity.

4. The method of allocating media resources of claim 1 , wherein hardware media resources comprise one or more graphic processing units, and one or more device central processing unit (CPU).

5. The method of allocating media resources of claim 1 , further comprising:

in response to receiving a request to initiate a media resource allocation system, generating the media resources allocation table.

6. A device for allocating media resources, the device comprising:

one or more processors; and

a memory communicatively coupled to the one or more processors:

wherein the one or more processors:

determine a media resources allocation table based on one or more media resources, the one or more media resources being determined based on media hardware resources, a power consumption of each hardware resource and predetermined benchmarks of the media hardware resources for performing media operations;

adjust the media resources allocation table based on actual clock speeds determined for the device while it is running the one or more media resources by running test routines on the device and comparing the actual clock speeds of the device to an estimated clock speed of the device;

receive a request for media resources from a first application, wherein the request for media resources includes requested media resources, requested performance and a requested power consumption;

in response to receiving the request, compares the requested media resources with the media resources allocation table based on the requested performance and the requested power consumption to generate a comparison result;

when the comparison result indicates that the requested media resources satisfies the requested performance and the requested power consumption:

allocate the requested media resources to the first application, and

send a response to the request for media resources to the first application indicating the requested media resources are allocated to the first application, when the comparison indicates that the requested media resources are available; and

when the comparison result indicates that the requested media resources satisfies the requested performance and the requested power consumption:

determine a different media resource to allocate that does satisfy the requested performance and the requested power consumption.

7. The device for allocating media resources of claim 6 , wherein the one or more processors further:

allocate at least some of the media resources from a second application to the first application in the media resources allocation table, and call a call back routine of the second application indicating to the second application that at least some of the media resources allocated to the second application have been de-allocated, and send a response to the request for media resources to the first application indicating the requested media resources are allocated to the first application, when the comparison indicates that the second application has a priority lower than a priority of the first application and that the second application is allocated media resources needed to satisfy the request for media resources of the first application.

8. The device for allocating media resources of claim 6 , wherein the media resources comprise at least one of a decode capacity, an encode capacity, and a scaling/color space conversion (CSC) operation capacity.

9. The device for allocating media resources of claim 6 , wherein hardware media resources comprise one or more graphic processing units, and one or more device central processing unit (CPU).

10. The device for allocating media resources of claim 6 , wherein the one or more processor further:

respond to receiving a request to initiate a media resource allocation system, by generating the media resources allocation table.

11. A computer readable non-transitory medium including instructions which when executed in a processing system cause the processing system to execute a method for allocating media resources, the method comprising the steps of:

determining a media resources allocation table based on one or more media resources, the one or more media resources being determined based on media hardware resources on a device, a power consumption of each hardware resource, and predetermined benchmarks of the media hardware resources for performing media operations;

adjusting the media resources allocation table based on actual clock speeds determined for the device while it is running the one or more media resources by running test routines on the device and comparing the actual clock speeds of the device to an estimated clock speed of the device;

receiving a request for media resources from a first application, wherein the request for media resources includes requested media resources, requested performance and a requested power consumption;

in response to receiving the request, comparing the requested media resources with the media resources allocation table based on the requested performance and the requested power consumption to generate a comparison result;

when the comparison result indicates that the requested media resources satisfies the requested performance and the requested power consumption:

allocating the requested media resources to the first application, and

sending a response to the request for media resources to the first application indicating the requested media resources are allocated to the application; and

when the comparison result indicates that the requested media resources are not available:

determining a different media resource to allocate that does satisfy the requested performance and the requested power consumption, and

sending a recommendation for the different media resource.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2014
From: SCHMIT, MICHAEL L.; FARMER, ASHISH
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 032522/0245 →
Continuity (1)
Related Publication 20140115597A1 · Apr 24, 2014