KhronosGroup / KhronosGroup/Vulkan-Docs

Task list for VK_EXT_shader_split_barrier release

Open
#2,746 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
3.3k
Forks
549
Avg merge
5d 5h
Merged PRs (30d)
2

Description

Exposes split barriers in compute shaders via two new SPIR-V instructions: `OpControlBarrierArriveEXT` (signals that an invocation has finished accessing a shared resource, potentially unblocking other invocations waiting at the corresponding wait) and `OpControlBarrierWaitEXT` (blocks until all invocations in the workgroup have arrived). By separating the arrive and wait phases, fast subgroups can signal completion of their shared memory reads and immediately begin issuing long-latency global memory fetches for the next iteration while slow subgroups are still performing ALU work, eliminating the synchronization bubble that a standard `barrier()` would impose. Particularly beneficial for tiled cooperative matrix loops.

The task list for the VK_EXT_shader_split_barrier release is:

- [x] Vulkan Specification: https://docs.vulkan.org/refpages/latest/refpages/source/VK_EXT_shader_split_barrier.html
- [x] SPIRV specification: https://github.com/KhronosGroup/SPIRV-Registry/blob/main/extensions/EXT/SPV_EXT_split_barrier.asciidoc
- [x] SPIRV Headers: https://github.com/KhronosGroup/SPIRV-Headers/pull/600
- [x] SPIRV tools released: https://github.com/KhronosGroup/SPIRV-Tools/pull/6732
- [ ] GLSL extension: https://github.com/KhronosGroup/GLSL/pull/337
- [x] Glslang implementation: https://github.com/KhronosGroup/glslang/pull/4357
- [ ] Conformance tests released:
- [x] Validation layer: Only spirv-val checks needed (see spirv-tools)

As each component is made public, the task will be checked off. When all tasks have been completed this issue will be closed and the extension will be fully released.

Contributor guide

Open the contributing guide

Research direction

Review the outstanding GLSL extension link, https://github.com/KhronosGroup/GLSL/pull/337, and the unchecked conformance-tests item alongside the completed Vulkan, SPIR-V, glslang, and validation-layer entries. The release is done when the GLSL extension and conformance tests are public and every checklist item is checked.

Written by the indexing model from the issue text.

Assessment

Domain
documentation, release
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.