Heterogeneous-Race-Free (HRF)
The foundational framework that introduced scoped synchronisation. It generalises data-race-free (DRF) to a scope hierarchy, distinguishing HRF-direct (scopes must match exactly) and HRF-indirect (transitive scope chains). Heterogeneous-race-free programs get an SC-like guarantee; using sub-global scopes admits behaviours flat DRF forbids. Most subsequent GPU models build on it.
Ordering relationships
- Strictly weaker than
- C11/C++11 Memory Model — HRF generalises DRF to a scope hierarchy; restricted to a single global scope it matches C11's DRF-SC guarantee, while sub-global scopes admit additional weak behaviours.
- Strictly stronger than
- Scoped C11 / HRF-Relaxed — Gaster et al.'s HRF-Relaxed loosens HRF-direct/indirect's exact scope-matching, admitting more programs and behaviours than the original HRF models.
References
- Derek R. Hower, Blake A. Hechtman, Bradford M. Beckmann, Benedict R. Gaster, Mark D. Hill, Steven K. Reinhardt, David A. Wood. Heterogeneous-Race-Free Memory Models. ASPLOS 2014, 2014. doi:10.1145/2541940.2541981