Skip to content
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

Closed

Conversation

mohammadfawaz
Copy link
Contributor

This is used for heterogenous global memory in FPGA targets

This is used for heterogenous global memory in FPGA targets
Copy link
Contributor

@MrSidims MrSidims left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

MrSidims added a commit to MrSidims/SPIRV-LLVM-Translator that referenced this pull request Jul 10, 2020
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>
MrSidims added a commit to MrSidims/SPIRV-LLVM-Translator that referenced this pull request Jul 10, 2020
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>
MrSidims added a commit to MrSidims/SPIRV-LLVM-Translator that referenced this pull request Jul 24, 2020
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>
MrSidims added a commit to MrSidims/SPIRV-LLVM-Translator that referenced this pull request Jul 24, 2020
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>
MrSidims added a commit to MrSidims/SPIRV-LLVM-Translator that referenced this pull request Jul 24, 2020
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>
MrSidims added a commit to MrSidims/SPIRV-LLVM-Translator that referenced this pull request Jul 24, 2020
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>
AlexeySotkin pushed a commit to KhronosGroup/SPIRV-LLVM-Translator that referenced this pull request Jul 27, 2020
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>
alexbatashev pushed a commit to alexbatashev/llvm that referenced this pull request Jul 28, 2020
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>
@bader
Copy link
Contributor

bader commented Aug 14, 2020

@intel/dpcpp-specification-reviewers, could you take a look, please?

1 similar comment
@bader
Copy link
Contributor

bader commented Oct 14, 2020

@intel/dpcpp-specification-reviewers, could you take a look, please?

@bader bader added the spec extension All issues/PRs related to extensions specifications label Oct 14, 2020
@bader bader added the SPIR-V Issues related to SPIRV-LLVM-Translator label Feb 12, 2021
@github-actions github-actions bot added the Stale label Feb 18, 2022
@MrSidims
Copy link
Contributor

@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?

@tiwaria1
Copy link
Contributor

tiwaria1 commented Oct 19, 2022

@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.

jsji pushed a commit that referenced this pull request Jul 17, 2023
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
Chenyang-L added a commit that referenced this pull request Jul 31, 2023
jsji pushed a commit that referenced this pull request Aug 11, 2023
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
spec extension All issues/PRs related to extensions specifications SPIR-V Issues related to SPIRV-LLVM-Translator Stale
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants