Graphics compute process scheduling
AssigneesAdvanced Micro Devices, Inc., ATI Technologies ULC
InventorsJeffrey Gongxian Cheng, Paul Blinzer, Mark Hummel, Leendert Peter Van Doorn
Life of this patent
Estimating the term…
Abstract
A method, system, and computer program product are disclosed for providing improved access to accelerated processing device compute resources to user mode applications. The functionality disclosed allows user mode applications to provide commands to an accelerated processing device without the need for kernel mode transitions in order to access a unified ring buffer. Instead, applications are each provided with their own buffers, which the accelerated processing device hardware can access to process commands. With full operating system support, user mode applications are able to utilize the accelerated processing device in much the same way as a CPU.
Claims28
A method comprising:
- allocating a work queue by a kernel mode driver to a user mode application in response to a request by the application, wherein the work queue is directly accessible by an accelerated processing device;
- selecting the application for scheduling in the accelerated processing device by an accelerated processing device scheduler, wherein at least non-dependent instructions are processed autonomously from a processor scheduler;
- and
- allocating non-pageable memory allocations upon access by the accelerated processing device to support at least page fault handling by the accelerated processing device.
A non-transitory computer-usable medium having instructions recorded thereon that, if executed by a computing device, cause the computing device to perform a method comprising:
- allocating a work queue by a kernel mode driver to a user mode application in response to a request by the application, wherein the work queue is directly accessible by an accelerated processing device;
- selecting the application for scheduling in the accelerated processing device by an accelerated processing device scheduler, wherein at least non-dependent instructions are processed autonomously from a processor scheduler;
- and
- allocating non-pageable memory allocations upon access by the accelerated processing device to support at least page fault handling by the accelerated processing device.
A system comprising:
- a memory;
- a processor configured to allocate an accelerated processing device work queue for an application and to allocate a work queue by a kernel mode driver to a user mode application in response to a request by the application, wherein the work queue is directly accessible by an accelerated processing device;
- and
- an accelerated processing device scheduler configured to select the application for scheduling in the accelerated processing device, wherein at least non-dependent instructions are processed autonomously from a processor scheduler;
- and,
- an accelerated processing device memory manager configured to allocate non-pageable memory allocations in the memory upon access by the accelerated processing device to support at least page fault handling by the accelerated processing device.
Dependencies are inferred from the claim text.