[libcxx-commits] [libcxx] [libcxxabi] Adding Separate OpenMP Offloading Backend to `libcxx/include/__algorithm/pstl_backends` (PR #66968)
Tom Lin via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Dec 12 16:14:15 PST 2023
tom91136 wrote:
For context, here's a list of StdPar apps that, with just a few more changes, would offload nicely:
UoB [BabelStream](https://github.com/UoB-HPC/BabelStream):
* `copy`
* `fill`
* `for_each_n`
* `transform`
* `transform_reduce`
UoB [TeaLeaf](https://github.com/UoB-HPC/TeaLeaf):
* `copy`
* `fill`
* `for_each`
* `transform_reduce`
UoB [CloverLeaf](https://github.com/UoB-HPC/CloverLeaf):
* `for_each`
* `transform_reduce`
UoB [miniBUDE](https://github.com/UoB-HPC/miniBUDE/tree/v2/src/std-indices):
* `for_each`
LLNL [LULESH](https://github.com/LLNL/LULESH/tree/2.0.2-dev/stdpar):
* `copy`
* `any_of`
* `for_each_n`
* `transform`
* `transform_reduce`
I believe the current PR has the following:
* [x] `fill`
* [ ] `copy`
* [x] `for_each`*
* [ ] `for_each_n`
* [x] `transform`*
* [ ] `transform_reduce`*
- Missing custom reduction, and a potential OMP/std behaviour mismatch on the value identities
* [x] `any_of`*
*Missing support for non-memory backed iterators (i.e std::ranges::view, or custom "counting" iterators like C++20 iota)
https://github.com/llvm/llvm-project/pull/66968
More information about the libcxx-commits
mailing list