Skip to content

Conversation

@bashbaug
Copy link
Contributor

@bashbaug bashbaug commented Sep 8, 2025

Adds the proposed SPV_INTEL_shader_atomic_bfloat16 extension specification, which extends the floating-point atomic support in SPIR-V to support floating-point atomic addition, minimum, and maximum on 16-bit bfloat16 floating-point numbers in memory.

@bashbaug bashbaug requested a review from a team as a code owner September 8, 2025 22:34
MrSidims added a commit to MrSidims/SPIRV-LLVM-Translator that referenced this pull request Sep 10, 2025
Spec is available here:
intel/llvm#20009

Author:
"Ratajewski, Andrzej" <[email protected]>

Signed-off-by: Sidorov, Dmitry <[email protected]>
MrSidims added a commit to KhronosGroup/SPIRV-LLVM-Translator that referenced this pull request Sep 11, 2025
Spec is available here:
intel/llvm#20009

Author:
"Ratajewski, Andrzej" <[email protected]>

Signed-off-by: Sidorov, Dmitry <[email protected]>
MrSidims added a commit to MrSidims/SPIRV-LLVM-Translator that referenced this pull request Sep 14, 2025
…3343)

Spec is available here:
intel/llvm#20009

Author:
"Ratajewski, Andrzej" <[email protected]>

Signed-off-by: Sidorov, Dmitry <[email protected]>
MrSidims added a commit to MrSidims/SPIRV-LLVM-Translator that referenced this pull request Sep 14, 2025
…3343)

Spec is available here:
intel/llvm#20009

Author:
"Ratajewski, Andrzej" <[email protected]>

Signed-off-by: Sidorov, Dmitry <[email protected]>
MrSidims added a commit to MrSidims/SPIRV-LLVM-Translator that referenced this pull request Sep 14, 2025
…3343)

Spec is available here:
intel/llvm#20009

Author:
"Ratajewski, Andrzej" <[email protected]>

Signed-off-by: Sidorov, Dmitry <[email protected]>
MrSidims added a commit to MrSidims/SPIRV-LLVM-Translator that referenced this pull request Sep 14, 2025
…3343)

Spec is available here:
intel/llvm#20009

Author:
"Ratajewski, Andrzej" <[email protected]>

Signed-off-by: Sidorov, Dmitry <[email protected]>
MrSidims added a commit to MrSidims/SPIRV-LLVM-Translator that referenced this pull request Sep 14, 2025
…3343)

Spec is available here:
intel/llvm#20009

Author:
"Ratajewski, Andrzej" <[email protected]>

Signed-off-by: Sidorov, Dmitry <[email protected]>
MrSidims added a commit to MrSidims/SPIRV-LLVM-Translator that referenced this pull request Sep 14, 2025
…3343)

Spec is available here:
intel/llvm#20009

Author:
"Ratajewski, Andrzej" <[email protected]>

Signed-off-by: Sidorov, Dmitry <[email protected]>
MrSidims added a commit to MrSidims/SPIRV-LLVM-Translator that referenced this pull request Sep 15, 2025
…3343)

Spec is available here:
intel/llvm#20009

Author:
"Ratajewski, Andrzej" <[email protected]>

Signed-off-by: Sidorov, Dmitry <[email protected]>
MrSidims added a commit to KhronosGroup/SPIRV-LLVM-Translator that referenced this pull request Sep 16, 2025
…on (#3343) (#3344)

Spec is available here:
intel/llvm#20009

Author:
"Ratajewski, Andrzej" <[email protected]>

---------

Signed-off-by: Sidorov, Dmitry <[email protected]>
MrSidims added a commit to KhronosGroup/SPIRV-LLVM-Translator that referenced this pull request Sep 16, 2025
…on (#3343) (#3345)

Spec is available here:
intel/llvm#20009

Author:
"Ratajewski, Andrzej" <[email protected]>

---------

Signed-off-by: Sidorov, Dmitry <[email protected]>
MrSidims added a commit to KhronosGroup/SPIRV-LLVM-Translator that referenced this pull request Sep 16, 2025
…on (#3343) (#3346)

Spec is available here:
intel/llvm#20009

Author:
"Ratajewski, Andrzej" <[email protected]>

---------

Signed-off-by: Sidorov, Dmitry <[email protected]>
MrSidims added a commit to KhronosGroup/SPIRV-LLVM-Translator that referenced this pull request Sep 16, 2025
…on (#3343) (#3347)

Spec is available here:
intel/llvm#20009

Author:
"Ratajewski, Andrzej" <[email protected]>

---------

Signed-off-by: Sidorov, Dmitry <[email protected]>
MrSidims added a commit to KhronosGroup/SPIRV-LLVM-Translator that referenced this pull request Sep 16, 2025
…on (#3343) (#3348)

Spec is available here:
intel/llvm#20009

Author:
"Ratajewski, Andrzej" <[email protected]>

Signed-off-by: Sidorov, Dmitry <[email protected]>
MrSidims added a commit to KhronosGroup/SPIRV-LLVM-Translator that referenced this pull request Sep 16, 2025
…on (#3343) (#3349)

Spec is available here:
intel/llvm#20009

Author:
"Ratajewski, Andrzej" <[email protected]>

Signed-off-by: Sidorov, Dmitry <[email protected]>
@bashbaug
Copy link
Contributor Author

We may want to consider broadening this extension to support 16-bit atomics more generally vs. just bfloat16 atomics. Here's what this might look like:

  • Add a capability for 16-bit integer atomics, perhaps Int16Atomics, similar to the Int64Atomics capability for 64-bit integer atomics. We could slice this more finely if we would like and add capabilities for specific 16-bit atomic operations.
  • Figure out a more appropriate name for the extension, since it wouldn't just be for bfloat16 atomics anymore.

Just like in this current draft for bfloat16 atomics, I don't think we would need any new instructions, and would just support 16-bit types for existing atomic instructions.

MrSidims added a commit to MrSidims/SPIRV-LLVM-Translator that referenced this pull request Sep 22, 2025
…on (KhronosGroup#3343)

Spec is available here:
intel/llvm#20009

Author:
"Ratajewski, Andrzej" <[email protected]>

Signed-off-by: Sidorov, Dmitry <[email protected]>
MrSidims added a commit to KhronosGroup/SPIRV-LLVM-Translator that referenced this pull request Sep 22, 2025
…on (#3343)

Spec is available here:
intel/llvm#20009

Author:
"Ratajewski, Andrzej" <[email protected]>

Signed-off-by: Sidorov, Dmitry <[email protected]>
MrSidims added a commit to MrSidims/SPIRV-LLVM-Translator that referenced this pull request Sep 26, 2025
…3343)

Spec is available here:
intel/llvm#20009

Author:
"Ratajewski, Andrzej" <[email protected]>

Signed-off-by: Sidorov, Dmitry <[email protected]>
MrSidims added a commit to MrSidims/SPIRV-LLVM-Translator that referenced this pull request Sep 26, 2025
…on (KhronosGroup#3343)

Spec is available here:
intel/llvm#20009

Author:
"Ratajewski, Andrzej" <[email protected]>

Signed-off-by: Sidorov, Dmitry <[email protected]>
@bashbaug
Copy link
Contributor Author

bashbaug commented Nov 5, 2025

I've assigned enums for the new SPIR-V instructions and the new OpenCL queries.

@intel/dpcpp-spirv-doc-reviewers I believe this is ready for final review and merging.

AlexVlx added a commit to llvm/llvm-project that referenced this pull request Nov 9, 2025
…tomics` extension (#166257)

This enables support for atomic RMW ops (add, sub, min and max to be
precise) with `bfloat16` operands, via the [SPV_INTEL_16bit_atomics
extension](intel/llvm#20009). It's logically a
successor to #166031 (I should've used a stack), but I'm putting it up
for early review.

---------

Co-authored-by: Matt Arsenault <[email protected]>
llvm-sync bot pushed a commit to arm/arm-toolchain that referenced this pull request Nov 9, 2025
…TEL_16bit_atomics` extension (#166257)

This enables support for atomic RMW ops (add, sub, min and max to be
precise) with `bfloat16` operands, via the [SPV_INTEL_16bit_atomics
extension](intel/llvm#20009). It's logically a
successor to #166031 (I should've used a stack), but I'm putting it up
for early review.

---------

Co-authored-by: Matt Arsenault <[email protected]>
vmaksimo added a commit to KhronosGroup/SPIRV-LLVM-Translator that referenced this pull request Nov 18, 2025
This continues #3343 and reflects specification update, including extension renaming.
Specification: intel/llvm#20009
vmaksimo added a commit to vmaksimo/SPIRV-LLVM-Translator that referenced this pull request Nov 18, 2025
…3424)

This continues KhronosGroup#3343 and reflects specification update, including extension renaming.
Specification: intel/llvm#20009
vmaksimo added a commit to vmaksimo/SPIRV-LLVM-Translator that referenced this pull request Nov 18, 2025
…3424)

This continues KhronosGroup#3343 and reflects specification update, including extension renaming.
Specification: intel/llvm#20009
vmaksimo added a commit to vmaksimo/SPIRV-LLVM-Translator that referenced this pull request Nov 18, 2025
…3424)

This continues KhronosGroup#3343 and reflects specification update, including extension renaming.
Specification: intel/llvm#20009
vmaksimo added a commit to vmaksimo/SPIRV-LLVM-Translator that referenced this pull request Nov 18, 2025
…3424)

This continues KhronosGroup#3343 and reflects specification update, including extension renaming.
Specification: intel/llvm#20009
vmaksimo added a commit to vmaksimo/SPIRV-LLVM-Translator that referenced this pull request Nov 18, 2025
…3424)

This continues KhronosGroup#3343 and reflects specification update, including extension renaming.
Specification: intel/llvm#20009
vmaksimo added a commit to vmaksimo/SPIRV-LLVM-Translator that referenced this pull request Nov 19, 2025
…3424)

This continues KhronosGroup#3343 and reflects specification update, including extension renaming.
Specification: intel/llvm#20009
vmaksimo added a commit to vmaksimo/SPIRV-LLVM-Translator that referenced this pull request Nov 19, 2025
…3424)

This continues KhronosGroup#3343 and reflects specification update, including extension renaming.
Specification: intel/llvm#20009
vmaksimo added a commit to vmaksimo/SPIRV-LLVM-Translator that referenced this pull request Nov 19, 2025
…3424)

This continues KhronosGroup#3343 and reflects specification update, including extension renaming.
Specification: intel/llvm#20009

note for llvm14 branch: removed atomicrmw_fminfmax.ll test as it seems
like llvm14 don't have atomicrmw fmin
vmaksimo added a commit to KhronosGroup/SPIRV-LLVM-Translator that referenced this pull request Nov 20, 2025
This continues #3343 and reflects specification update, including extension renaming. 
Specification: intel/llvm#20009
vmaksimo added a commit to KhronosGroup/SPIRV-LLVM-Translator that referenced this pull request Nov 20, 2025
This continues #3343 and reflects specification update, including extension renaming. 
Specification: intel/llvm#20009
vmaksimo added a commit to KhronosGroup/SPIRV-LLVM-Translator that referenced this pull request Nov 20, 2025
This continues #3343 and reflects specification update, including extension renaming. 
Specification: intel/llvm#20009
vmaksimo added a commit to KhronosGroup/SPIRV-LLVM-Translator that referenced this pull request Nov 20, 2025
This continues #3343 and reflects specification update, including extension renaming. 
Specification: intel/llvm#20009
vmaksimo added a commit to KhronosGroup/SPIRV-LLVM-Translator that referenced this pull request Nov 20, 2025
This continues #3343 and reflects specification update, including extension renaming. 
Specification: intel/llvm#20009
vmaksimo added a commit to KhronosGroup/SPIRV-LLVM-Translator that referenced this pull request Nov 20, 2025
This continues #3343 and reflects specification update, including extension renaming.
Specification: intel/llvm#20009
vmaksimo added a commit to KhronosGroup/SPIRV-LLVM-Translator that referenced this pull request Nov 20, 2025
This continues #3343 and reflects specification update, including extension renaming.
Specification: intel/llvm#20009
vmaksimo added a commit to KhronosGroup/SPIRV-LLVM-Translator that referenced this pull request Nov 20, 2025
This continues #3343 and reflects specification update, including extension renaming.
Specification: intel/llvm#20009

note for llvm14 branch: removed atomicrmw_fminfmax.ll test as it seems
like llvm14 don't have atomicrmw fmin
jsji pushed a commit that referenced this pull request Dec 6, 2025
This continues #3343 and reflects specification update, including extension renaming.
Specification: #20009

Original commit:
KhronosGroup/SPIRV-LLVM-Translator@2f2a95e686e72ec
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant