Facilitating dynamic parallel scheduling of command packets at graphics processing units on computing devices
AssigneeIntel Corporation
InventorMichal Andrzej Mrozek
Life of this patent
Estimating the term…
Abstract
A mechanism is described for facilitating parallel scheduling of multiple commands on computing devices. A method of embodiments, as described herein, includes detecting a command of a plurality of commands to be processed at a graphics processing unit (GPU), and acquiring one or more resources of a plurality of resources to process the command. The plurality of resources may include other resources being used to process other commands of the plurality of commands. The method may further include facilitating processing of the command using the one or more resources, wherein the command is processed in parallel with processing of the other commands using the other resources.
Claims22
An apparatus comprising:
- one or more memory devices configured to provide a command buffer to store a plurality of commands;
- and
- a graphics processing unit (GPU) coupled to the one or more memory devices and configured to implement logic including
- detection and verification logic to detect a command of the plurality of commands to be processed at the GPU,
- resource management logic to acquire one or more resources of a plurality of resources to process the command, wherein the plurality of resources include other resources being used to process other commands of the plurality of commands,
- scheduling and processing logic to facilitate processing of the command using the one or more resources, wherein the command is processed in parallel with processing of the other commands using the other resources, and
- global synchronization logic to synchronize a plurality of GPU hardware threads over a plurality of workgroups, wherein each workgroup includes two or more of the plurality of GPU hardware threads processing in parallel with two or more of the plurality of commands.
A method for a graphics processing unit (GPU) comprising:
- detecting a command of a plurality of commands to be processed at the GPU;
- acquiring one or more resources of a plurality of resources to process the command by the GPU, wherein the plurality of resources include other resources being used to process other commands of the plurality of commands;
- facilitating processing of the command using the one or more resources by the GPU, wherein the command is processed in parallel with processing of the other commands using the other resources;
- and
- synchronizing a plurality of GPU hardware threads over a plurality of workgroups by the GPU, wherein each workgroup includes two or more of the plurality of GPU hardware threads processing in parallel with two or more of the plurality of commands.
At least one non-transitory machine-readable medium comprising a plurality of instructions, when executed on a computing device, to cause the computing device to perform one or more operations comprising:
- detecting a command of a plurality of commands to be processed at a graphics processing unit (GPU);
- acquiring one or more resources of a plurality of resources to process the command, wherein the plurality of resources include other resources being used to process other commands of the plurality of commands by the GPU;
- and
- facilitating processing of the command using the one or more resources by the GPU, wherein the command is processed in parallel with processing of the other commands using the other resources;
- and
- synchronizing a plurality of GPU hardware threads over a plurality of workgroups by the GPU, wherein each workgroup includes two or more of the plurality of GPU hardware threads processing in parallel with two or more of the plurality of commands.
Dependencies are inferred from the claim text.