Apple Metal Memory Model
Apple's GPU programming model provides a relaxed memory model with atomics (relaxed/acquire/release) and threadgroup/device barriers in the Metal Shading Language. It is less formally specified in public than the other GPU models here.
Cat model
Expressible in cat author-extrapolated
Only informally specified. The documented guarantees (relaxed/acquire-release atomics, threadgroup and device barriers) are per-execution conditions a cat model could state, but there is no formal semantics to transcribe. Inc. 2023
Properties
Property vector author-extrapolated — set only where the model’s definition pins the cell down (unknown cells are omitted); cells citing a specific source are marked.
- Reordering sound
- yes Store→Load
- yes Store→Store
- yes Load→Load
- yes Load→Store
- Reasoning guarantees
- yes Coherence
- no In-order execution
Ordering relationships
- Compilation target of
- WebGPU / WGSL Memory Model — On Apple platforms WebGPU implementations lower WGSL to Metal.
References
- Apple Inc.. Metal Shading Language Specification. Apple Developer Documentation, 2023. developer.apple.com/metal/Metal-Shading-Language-Specification.pdf