Application programming interface to enable the construction of pipeline parallel programs
AssigneeNVIDIA Corporation
InventorIgnacio LLAMAS
Life of this patent
Estimating the term…
Abstract
An application programming interface (API) provides various software constructs that allow a developer to assemble a processing pipeline having arbitrary structure and complexity. Once assembled, the processing pipeline is configured to include a set of interconnected pipestages. Those pipestages are associated with one or more different CTAs that may execute in parallel with one another on a parallel processing unit. The developer specifies the configuration of the pipestages, including the configuration of the different CTAs across all pipestages, as well as the different processing operations performed by each different CTA.
Claims20
A computer-implemented method for executing a processing pipeline within a parallel processing unit (PPU), the method comprising:
- causing the PPU to configure a first set of processing engines to execute a first pipestage of the processing pipeline that includes a first plurality of task streams;
- and
- causing the first set of processing engines to execute a first plurality of CTAs in parallel to generate first output data, wherein a given task stream in the first plurality of task streams is associated with a given set of CTAs in the first plurality of CTAs.
A non-transitory computer-readable medium storing program instructions that, when executed by a processing unit, cause the processing unit to execute a processing pipeline within a parallel processing unit (PPU), by performing the steps of:
- causing the PPU to configure a first set of processing engines to execute a first pipestage of the processing pipeline that includes a first plurality of task streams;
- and
- causing the first set of processing engines to execute a first plurality of CTAs in parallel to generate first output data, wherein a given task stream in the first plurality of task streams is associated with a given set of CTAs in the first plurality of CTAs.
A system for executing a processing pipeline within a parallel processing unit (PPU), including:
- a processing unit configured to:
- cause the PPU to configure a first set of processing engines to execute a first pipestage of the processing pipeline that includes a first plurality of task streams, and
- cause the first set of processing engines to execute a first plurality of CTAs in parallel to generate first output data, wherein a given task stream in the first plurality of task streams is associated with a given set of CTAs in the first plurality of CTAs.
Dependencies are inferred from the claim text.