Skip to content
Failed

Changes

Summary

  1. Add SpaceAwareAccessor (commit: afbff6c) (details)
  2. Add basic tests for SpaceAwareAccessor (commit: b2046a4) (details)
  3. Use SpaceAwareAccessor in View mdspan-interop (commit: e2d68fd) (details)
  4. Add specialization of SpaceAwareAcc for AnonymousSpace (commit: a6b95e9) (details)
  5. Address review comments (commit: 34db518) (details)
  6. SpaceAwareAccessor: fix issues (no-unique-address, is_empty) (commit: 6c78f4b) (details)
  7. Structured binding support for Kokkos::complex (#7040) (commit: 2678194) (details)
  8. Move `layout_iterate_type_selector` into Impl namespace (#7076) (commit: 708abe2) (details)
  9. Use correct includes for spaceawareaccessor (commit: 7b962ce) (details)
  10. fix refcount exception safety (#6289) (commit: 1e14d04) (details)
  11. Complex needs a tuple include (commit: cf14f1c) (details)
Commit afbff6c532aef15665636073251328f37c354f51 by crtrott
Add SpaceAwareAccessor

This mdspan accessor wraps otehr accessors, and adds memory space
accessibility checks.
(commit: afbff6c)
The file was addedcore/src/View/MDSpan/Kokkos_MDSpan_Accessor.hpp
Commit b2046a40e4c9d109b2004abec91d542998a03859 by crtrott
Add basic tests for SpaceAwareAccessor
(commit: b2046a4)
The file was modified core/unit_test/CMakeLists.txt (diff)
The file was addedcore/unit_test/TestSpaceAwareAccessorAccessViolation.hpp
The file was addedcore/unit_test/TestSpaceAwareAccessor.hpp
Commit e2d68fd2b18ac59934a4a7891458600863f615aa by crtrott
Use SpaceAwareAccessor in View mdspan-interop
(commit: e2d68fd)
The file was modified core/src/View/MDSpan/Kokkos_MDSpan_Accessor.hpp (diff)
The file was modified core/src/Kokkos_View.hpp (diff)
Commit a6b95e9f53945ba92295f5694f73bd668c2f843b by crtrott
Add specialization of SpaceAwareAcc for AnonymousSpace

That version is convertible into all other variants
(commit: a6b95e9)
The file was modified core/unit_test/TestSpaceAwareAccessor.hpp (diff)
The file was modified core/src/View/MDSpan/Kokkos_MDSpan_Accessor.hpp (diff)
The file was modified core/src/View/MDSpan/Kokkos_MDSpan_Accessor.hpp (diff)
The file was modified core/unit_test/TestSpaceAwareAccessor.hpp (diff)
The file was modified core/unit_test/TestMDSpanConversion.hpp (diff)
The file was modified core/unit_test/TestSpaceAwareAccessorAccessViolation.hpp (diff)
Commit 6c78f4b1f22094f63f88bb1e1d9e3a0033fba8fd by crtrott
SpaceAwareAccessor: fix issues (no-unique-address, is_empty)

CI serviced these. Also turn off tests if mdspan is not enabled
(commit: 6c78f4b)
The file was modified core/unit_test/CMakeLists.txt (diff)
The file was modified core/src/View/MDSpan/Kokkos_MDSpan_Accessor.hpp (diff)
The file was modified core/unit_test/TestSpaceAwareAccessor.hpp (diff)
Commit 2678194c7316891da778d249c0243c5617c021ff by noreply
Structured binding support for Kokkos::complex (#7040)

* Added structured binding support to Kokkos::complex, as per P2819R2

* Fix clang-format issues

* In complex_get, Fix for compilers that need a return in the impossible situation
where I >= 2

* Workaround for VS16 not liking casting to r-value reference to const

* Changed the comment on P2819 to clearly state that
the WG21 paper has been voted into the draft for C++26

* Changed static_cast<ComplexForwardingRef&&>(z) to
std::forward<CompleForwardingRef>(z)

* Changed complex structured bindings test to be performed on the device

* Removed original complex structured bindings test
Fixed d_results complex structured bindings test

* Reworked complex structured bindings device test to get around various
compiler issues

* Fixed complex structured binding tests to check host (and not device)
results on the host

* Reworked to make complex::get non-hidden friends

* Cleanup

* Changed the return type tests for get(complex) to workaround
a CUDA 11.6 issue where is_same_v is making a host call from
a device function even though it is an unevaluated context.

* Moved the get() return reference type checks into a function to get
around an issue with icpc and static inline class variables.

* Removed friend get() functions.
Removed static helper function get_ref().
Removed forward declarations of get() functions.
Added two friend get() declarations (not definitions as to avoid hidden
friends) that are an exact match to the free functions (two template
parameters), as there is no public interface to get const l/r value references
to re_ and im_ (real() and imag() are specified to return by value in
the case of const references).
An alternative to friendship would be to use const_cast inside the get()
methods taking const r/l value references, but I'd rather
not cast unless strictly necessary.
(commit: 2678194)
The file was modified core/src/Kokkos_Complex.hpp (diff)
The file was modified core/unit_test/TestComplex.hpp (diff)
Commit 708abe21a7e9759cf52560d076e48b4b4562ec29 by noreply
Move `layout_iterate_type_selector` into Impl namespace (#7076)

* Move `layout_iterate_type_selector` into Impl namespace

  - Address issue #6923
  - Copied the `layout_iterate_type_selector` into the Impl namespace
  - Deprecated the `layout_iterate_type_selector` in parent namespace

* Wrap deprecated layout_iterate_type_selector in appropriate #ifdef

* Used alias instead of duplicated code to remove warnings

* Drop unnecessary comment

---------

Co-authored-by: Damien L-G <dalg24+github@gmail.com>
(commit: 708abe2)
The file was modified core/src/Kokkos_Layout.hpp (diff)
The file was modified core/src/Kokkos_ExecPolicy.hpp (diff)
The file was modified core/src/Kokkos_CopyViews.hpp (diff)
Commit 7b962ce2943640fb0b0d4956cd0efed40adf634d by crtrott
Use correct includes for spaceawareaccessor
(commit: 7b962ce)
The file was modified core/src/View/MDSpan/Kokkos_MDSpan_Accessor.hpp (diff)
Commit 1e14d047ce0d8b65dba3d95a546def86015a0fce by noreply
fix refcount exception safety (#6289)

Addresses issue #6289
(commit: 1e14d04)
The file was modified core/src/Kokkos_View.hpp (diff)
The file was modified core/src/impl/Kokkos_SharedAlloc.hpp (diff)
The file was modified core/src/Kokkos_Parallel.hpp (diff)
The file was modified core/unit_test/TestViewAPI.hpp (diff)
The file was modified core/unit_test/TestViewAPI_c.hpp (diff)
The file was modified core/src/Kokkos_Parallel_Reduce.hpp (diff)
Commit cf14f1c71cc540867f352f2e297c938aeb69206c by crtrott
Complex needs a tuple include
(commit: cf14f1c)
The file was modified core/src/Kokkos_Complex.hpp (diff)