ashvardanian/fork_union: Minimalistic scoped thread-pool designed for SIMT-style ‘Fork-Join’ parallelism in Rust & C++ with more control and portability than OpenMP, avoiding memory allocations, mutexes, and CAS-primitives others use ?????

The fork_union library is a thread-pool for “Fork-Join” SIMT-style parallelism for Rust and C++. It’s quite different from most open-source thread-pool implementations, generally designed around heap-allocated “queues of tasks”, synchronized by a “mutex”. In C++, wrapping tasks into a std::function is expensive, as is growing the std::queue and locking the std::mutex under contention. Same for Rust. When you can avoid it – you should. OpenMP-like use-cases are the perfect example of …