sandialabs / qthreads

Lightweight locality-aware user-level threading runtime.
https://www.sandia.gov/qthreads/
Other
173 stars 35 forks source link

C11 Standard-Based Implementations #234

Closed insertinterestingnamehere closed 2 weeks ago

insertinterestingnamehere commented 9 months ago

I'd really prefer if we could make our implementations of various synchronization primitives and data structures rely on C11 atomics and some additional architecture property defines instead of referring to the architectures explicitly throughout the code. That would (hopefully) make adding support for novel architectures much easier because we could ask questions like "are 64-bit atomics lock-free?" and "are interleaved atomics of different sizes consistent?" for new architectures and then just set the defines for that instead of trying to hunt through the code for anywhere there might be issues.

This will be easier to address once we've done #233.