-
Notifications
You must be signed in to change notification settings - Fork 749
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adding buffer_location SPIR-V spec as an extension #2084
Conversation
This is used for heterogenous global memory in FPGA targets
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks!
This extension adds a function parameter decoration that is useful for FPGA targets. This decoration indicates that a particular global memory pointer can only access a articular physical memory location. Knowing this information at compile time can allow FPGA compilers to generate load store units of lower area for accesses done through such a pointer. Specification: intel/llvm#2084 Signed-off-by: Dmitry Sidorov <dmitry.sidorov@intel.com>
This extension adds a function parameter decoration that is useful for FPGA targets. This decoration indicates that a particular global memory pointer can only access a articular physical memory location. Knowing this information at compile time can allow FPGA compilers to generate load store units of lower area for accesses done through such a pointer. Specification: intel/llvm#2084 Signed-off-by: Dmitry Sidorov <dmitry.sidorov@intel.com>
This extension adds a function parameter decoration that is useful for FPGA targets. This decoration indicates that a particular global memory pointer can only access a articular physical memory location. Knowing this information at compile time can allow FPGA compilers to generate load store units of lower area for accesses done through such a pointer. Specification: intel/llvm#2084 Signed-off-by: Dmitry Sidorov <dmitry.sidorov@intel.com>
This extension adds a function parameter decoration that is useful for FPGA targets. This decoration indicates that a particular global memory pointer can only access a particular physical memory location. Knowing this information at compile time can allow FPGA compilers to generate load store units of lower area for accesses done through such a pointer. Specification: intel/llvm#2084 Signed-off-by: Dmitry Sidorov <dmitry.sidorov@intel.com>
This extension adds a function parameter decoration that is useful for FPGA targets. This decoration indicates that a particular global memory pointer can only access a particular physical memory location. Knowing this information at compile time can allow FPGA compilers to generate load store units of lower area for accesses done through such a pointer. Specification: intel/llvm#2084 Signed-off-by: Dmitry Sidorov <dmitry.sidorov@intel.com>
This extension adds a function parameter decoration that is useful for FPGA targets. This decoration indicates that a particular global memory pointer can only access a particular physical memory location. Knowing this information at compile time can allow FPGA compilers to generate load store units of lower area for accesses done through such a pointer. Specification: intel/llvm#2084 Signed-off-by: Dmitry Sidorov <dmitry.sidorov@intel.com>
This extension adds a function parameter decoration that is useful for FPGA targets. This decoration indicates that a particular global memory pointer can only access a particular physical memory location. Knowing this information at compile time can allow FPGA compilers to generate load store units of lower area for accesses done through such a pointer. Specification: intel/llvm#2084 Signed-off-by: Dmitry Sidorov <dmitry.sidorov@intel.com>
This extension adds a function parameter decoration that is useful for FPGA targets. This decoration indicates that a particular global memory pointer can only access a particular physical memory location. Knowing this information at compile time can allow FPGA compilers to generate load store units of lower area for accesses done through such a pointer. Specification: intel#2084 Signed-off-by: Dmitry Sidorov <dmitry.sidorov@intel.com>
@intel/dpcpp-specification-reviewers, could you take a look, please? |
1 similar comment
@intel/dpcpp-specification-reviewers, could you take a look, please? |
@ajaykumarkannan @tiwaria1 @GarveyJoe could some of you re-create this PR? Also can we consider this extension to be finished or other changes are required? |
I will try to re-start upstreaming the buffer_location property. If I cannot get to it by then I will find a different owner. |
This fixes most of the tests to use -emit-opaque-pointers. There are a few tests not yet converted for various reasons: Several tests only have check lines for opaque struct declarations. These are not emitted in opaque pointer mode, so the tests need deeper rewrites. A few tests check both typed and opaque pointer output. A few tests only make sense with typed pointer output (ForwardPtr.ll and RecursiveType.ll in particular). One test has a crash in reverse translation. Outside of these cases, all tests should now be using opaque pointer for testing reverse translation. Original commit: KhronosGroup/SPIRV-LLVM-Translator@0dc80be
This reverts commit 6a57011.
This fixes most of the tests to use -emit-opaque-pointers. There are a few tests not yet converted for various reasons: Several tests only have check lines for opaque struct declarations. These are not emitted in opaque pointer mode, so the tests need deeper rewrites. A few tests check both typed and opaque pointer output. A few tests only make sense with typed pointer output (ForwardPtr.ll and RecursiveType.ll in particular). One test has a crash in reverse translation. Outside of these cases, all tests should now be using opaque pointer for testing reverse translation. Original commit: KhronosGroup/SPIRV-LLVM-Translator@0dc80be
This is used for heterogenous global memory in FPGA targets