InsightSoftwareConsortium / InsightSoftwareConsortium/ITK
Add stdexec threading backend
- Dominant language
- C++
- Stars
- 1.7k
- Forks
- 748
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 64
Description
A new threading backend based on [stdexec](https://github.com/NVIDIA/stdexec), which is proposed as the prototype for the new `std::execution` parallelism model for the C++ standard.
It supports asynchronous execution with scheduler backends based on coroutine thread pools or GPU schedulers, and could be an alternative or basis for #2831.
### Description
A new MultiThreader class that that uses `stdexec/execution.hpp`
### Impact analysis
CPU-based parallism could be improved and this could provide GPU parallelism support throughout the toolkit.
### Expected behavior
If benchmarking succeeds and support is available across platforms and toolchains, use the new MultiThreader class as the default with the `exec/static_thread_pool.hpp`. Optionally provided support for NVIDIA GPUs if available.
### Versions
Target for ITK 6.
### Additional Information
Eventually the header-only library could be vendored in the ITK source tree in ThirdParty/.
Contributor guide
Assessment
This issue has not been assessed yet.