Our great sponsors
-
kokkos
Kokkos C++ Performance Portability Programming Ecosystem: The Programming Model - Parallel Execution and Memory Abstraction
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
Source code: https://github.com/fAndreuzzi/parallel-kd-tree
I would suggest using a C++ abstraction around thread parallelism. This will make your code easier to read and more concise, and will also make it easier to switch between different thread-parallel programming models. Kokkos is a lovely example of such an abstraction, but there are others. Modern C++ even has thread-parallel standard algorithms. Bryce Adelstein Lelbach's CppCon 2021 talk describes these.
Related posts
- Requesting suggestions for languages, libraries, and architectures for parallel (and sometimes non parallel) numerical and scientific computations
- Kokkos C++ Performance Portability Programming EcoSystem
- pykokkos-base available in PyPi (numpy and cupy array interoperability)
- 3rd Edition of Programming: Principles and Practice Using C++ by Stroustrup
- Lessons from Open-Source Game Projects