Name Strings
SPV_INTEL_fpga_invocation_pipelining_attributes
Contact
To report problems with this extension, please open a new issue at:
Contributors
-
Jessica Davies, Intel
-
Joe Garvey, Intel
-
Mike Kinsner, Intel
Notice
Copyright (c) 2021 Intel Corporation. All rights reserved.
Status
Final draft
Version
Last Modified Date |
2021-05-21 |
Revision |
1 |
Dependencies
This extension is written against the SPIR-V Specification, Version 1.5 Revision 3.
This extension requires SPIR-V 1.0.
Overview
Some FPGA devices and toolchains can support customizable levels or implementation of pipeline parallelism when mapping a SPIR-V module to hardware. Through pipeline parallelism, multiple invocations of a kernel or function can execute concurrently.
This extension adds decorations to request that a kernel or function support invocations at a specified initiation interval, that multiple invocations are forbidden from executing concurrently, or that the kernel or function is limited to a maximum number of concurrent invocations.
Extension Name
To use this extension within a SPIR-V module, the following OpExtension must be present in the module:
OpExtension "SPV_INTEL_fpga_invocation_pipelining_attributes"
New capabilities
This extension introduces a new capability:
FPGAInvocationPipeliningAttributesINTEL
New Decorations
This extension adds the following decorations under the FPGAInvocationPipeliningAttributesINTEL capability:
InitiationIntervalINTEL MaxConcurrencyINTEL PipelineEnableINTEL
Token Number Assignments
FPGAInvocationPipeliningAttributesINTEL |
5916 |
InitiationIntervalINTEL |
5917 |
MaxConcurrencyINTEL |
5918 |
PipelineEnableINTEL |
5919 |
Modifications to the SPIR-V Specification, Version 1.5
Decoration
Modify Section 3.20, Decoration, adding these rows to the Decoration table:
Decoration | Extra Operands | Enabling Capabilities | ||
---|---|---|---|---|
5917 |
InitiationIntervalINTEL |
Literal |
FPGAInvocationPipeliningAttributesINTEL |
|
5918 |
MaxConcurrencyINTEL |
Literal |
FPGAInvocationPipeliningAttributesINTEL |
|
5919 |
PipelineEnableINTEL |
Literal |
FPGAInvocationPipeliningAttributesINTEL |
Capability
Modify Section 3.31, Capability, adding a row to the Capability table:
Capability | Implicitly Declares | |
---|---|---|
5916 |
FPGAInvocationPipeliningAttributesINTEL |
Kernel |
Validation Rules
None.
Issues
None.
Revision History
Rev | Date | Author | Changes |
---|---|---|---|
1 |
2021-05-21 |
Jessica Davies |
Initial public release |