Add new execution mode to SPV_INTEL_kernel_attributes#176
Merged
johnkslang merged 2 commits intoKhronosGroup:mainfrom Feb 15, 2023
Merged
Add new execution mode to SPV_INTEL_kernel_attributes#176johnkslang merged 2 commits intoKhronosGroup:mainfrom
johnkslang merged 2 commits intoKhronosGroup:mainfrom
Conversation
Contributor
Author
|
The html file was updated using the VSCode AsciiDoc extension. |
This was referenced Dec 8, 2022
Contributor
Author
|
Please take a look, @johnkslang / @alan-baker , thank you! |
Collaborator
|
Can you please add a link to this extension in the README also? |
Contributor
Author
The readme already seems to have this extension linked since it's an existing extension. |
Contributor
Author
|
ping @bashbaug , @johnkslang (I am unable add you as git reviewers) |
bashbaug
reviewed
Feb 2, 2023
Collaborator
bashbaug
left a comment
There was a problem hiding this comment.
The readme already seems to have this extension linked since it's an existing extension.
Whoops, I'd missed that, sorry!
LGTM, needs a non-Intel reviewer before merging.
Contributor
Author
|
ping @johnkslang / @dneto0 / @alan-baker for review. Thank you! |
MrSidims
pushed a commit
to KhronosGroup/SPIRV-LLVM-Translator
that referenced
this pull request
Mar 8, 2023
This PR adds the new execution mode RegisterMapInterfaceINTEL, see the Khronos SPIRV spec here: KhronosGroup/SPIRV-Registry#176 This execution mode allows specifying a 'register' based interface for FPGA kernels. The RegisterMapInterfaceINTEL execution mode is added with a 0/1 literal based on the kernel metadata. When the metadata is: !ip_interface !N !N = !{!"csr"} The translator emits RegisterMapInterfaceINTEL 0, and when the metadata is: !ip_interface !N !N = !{!"csr", !"accept_downstream_stall"} The translator emits RegisterMapInterfaceINTEL 1 NOTE The new mode is under capability FPGAKernelAttributesv2INTEL which implicitly defines the capability FPGAKernelAttributesv2INTEL. This PR is very similar to Implement StreamingInterfaceINTEL execution mode #1218
FreddyLeaf
pushed a commit
to FreddyLeaf/llvm
that referenced
this pull request
Mar 22, 2023
This PR adds the new execution mode RegisterMapInterfaceINTEL, see the Khronos SPIRV spec here: KhronosGroup/SPIRV-Registry#176 This execution mode allows specifying a 'register' based interface for FPGA kernels. The RegisterMapInterfaceINTEL execution mode is added with a 0/1 literal based on the kernel metadata. When the metadata is: !ip_interface !N !N = !{!"csr"} The translator emits RegisterMapInterfaceINTEL 0, and when the metadata is: !ip_interface !N !N = !{!"csr", !"accept_downstream_stall"} The translator emits RegisterMapInterfaceINTEL 1 NOTE The new mode is under capability FPGAKernelAttributesv2INTEL which implicitly defines the capability FPGAKernelAttributesv2INTEL. This PR is very similar to Implement StreamingInterfaceINTEL execution mode intel#1218 Original commit: KhronosGroup/SPIRV-LLVM-Translator@a9f4f25
fveselov
added a commit
to fveselov/SPIRV-LLVM-Translator
that referenced
this pull request
Feb 20, 2024
…ution mode This PR adds the new execution mode RegisterMapInterfaceINTEL, see the Khronos SPIRV spec here: KhronosGroup/SPIRV-Registry#176 This execution mode allows specifying a 'register' based interface for FPGA kernels.
fveselov
added a commit
to fveselov/SPIRV-LLVM-Translator
that referenced
this pull request
Feb 27, 2024
…ution mode This PR adds the new execution mode RegisterMapInterfaceINTEL, see the Khronos SPIRV spec here: KhronosGroup/SPIRV-Registry#176 This execution mode allows specifying a 'register' based interface for FPGA kernels.
MrSidims
pushed a commit
to KhronosGroup/SPIRV-LLVM-Translator
that referenced
this pull request
Feb 28, 2024
* Backport from llvm16 branch: Support FPGA function !spirv.Decoration metadata Supporting the new FPGA kernel attribute pipelined needs the translator to handle !spirv.Decoration metadata on functions as well as on global variables. If the MD is found on the function, call the existing translation of metadata. * Backport from llvm16 branch: Implement RegisterMapInterfaceINTEL execution mode This PR adds the new execution mode RegisterMapInterfaceINTEL, see the Khronos SPIRV spec here: KhronosGroup/SPIRV-Registry#176 This execution mode allows specifying a 'register' based interface for FPGA kernels. * Backport from llvm16 branch: Implement SPIR-V support for max_reinvocation_delay attribute The attribute generates the llvm.loop.intel.max_reinvocation_delay.count metadata in LLVM IR. There is one positive integer literal operand denoting the maximum number of cycles allowed between loop invocations. * Backport from llvm18 branch: Support sycl_ext_oneapi_prefetch Handle new properties and decorate prefetch's arg.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
FPGA kernels can have two types of interfaces - streaming based or register based. This PR adds a new execution mode (
RegisterMapInterfaceINTEL) which specifies a 'register' based interface.RegisterMapInterfaceINTELis being added to the existingSPV_INTEL_kernel_attributesextension as this extension already has the other execution mode (StreamingInterfaceINTEL) that represents the streaming based interface. We want to keep these two related modes together in one extension document.To allow backwards compatibility, the new mode is guarded by a new capability
FPGAKernelAttributesv2INTEL.