Relaxed Memory Model Zoo

Apple Metal Memory Model
← Back to the map

Apple Metal Memory Model

2017 · Apple · language, gpu, scoped

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

References