TypeART
TypeART copied to clipboard
Thread-safe / multi-threaded TypeART runtime implementation
To be able to handle multi-threaded, e.g., hybrid MPI+OpenMP, applications, the TypeART runtime needs to be made thread-safe.
Most likely also some careful inspection of the instrumentation function interfaces, and the LLVM pass implementation is needed here to account for thread-local storage variables, etc.
OpenMP
Some points apply to general thread-safety.
Runtime
- [x] Pointer map is thread-safe:
- [x] Mutex (shared)
- [x] Safe ptr, see https://github.com/AlexeyAB/object_threadsafe
- [x] (Current) Stack allocations are stored with thread-local vector
- [x] omp specific callbacks
Passes
- [x] Support basics for data-flow filter with omp microtask indirection
- [ ] Add data-flow tracking w.r.t. omp tasks (e.g.,
task_alloc
)
- [ ] Add data-flow tracking w.r.t. omp tasks (e.g.,