In #1075 @brryan recently reported that 1D par_reduce doesn't seem to work. I think this is because it's not supported for the all loop patterns, including simd for loops, which are default on CPU builds. I resolve this by just falling back to Kokkos for all loop patterns in 1D.
I also add overloads in 1D for IndexRange instead of a start and end pair of indices. If this is desirable I can add overloads and fallbacks for other patterns and dimensions in a later pull request.
PR Checklist
[x] Code passes cpplint
[ ] New features are documented.
[x] Adds a test for any bugs fixed. Adds tests for new features.
[x] Code is formatted
[x] Changes are summarized in CHANGELOG.md
[ ] Change is breaking (API, behavior, ...)
[ ] Change is additionally added to CHANGELOG.md in the breaking section
[ ] PR is marked as breaking
[ ] Short summary API changes at the top of the PR (plus optionally with an automated update/fix script)
[ ] CI has been triggered on Darwin for performance regression tests.
[x] Docs build
[x] (@lanl.gov employees) Update copyright on changed files
PR Summary
In #1075 @brryan recently reported that 1D
par_reduce
doesn't seem to work. I think this is because it's not supported for the all loop patterns, including simd for loops, which are default on CPU builds. I resolve this by just falling back to Kokkos for all loop patterns in 1D.I also add overloads in 1D for
IndexRange
instead of a start and end pair of indices. If this is desirable I can add overloads and fallbacks for other patterns and dimensions in a later pull request.PR Checklist