Skip to content
Success

Changes

Summary

  1. SYCL: Cleanup device selection (details)
  2. Adding SECURITY.md file (details)
  3. multi-GPU support: Add test for all policies (#6782) (details)
  4. Implement sort_by_key (#6801) (details)
  5. Fix scorecard workflow (#6831) (details)
  6. Remove redundant RangePolicy constructor (#6841) (details)
  7. Bump Google Benchmark version v1.{6.2 -> 7.1} in CMake FetchContent (details)
  8. Remove variadic range policy constructor (#6845) (details)
  9. Avoid unused variable warning in TestRangePolicyCTAD.cpp (details)
  10. bytes_and_flops with CMake (details)
  11. bytes_and_flops fix a small bug in command line argument (details)
  12. add gather benchmark to CMake (details)
  13. add atomic benchmark to CMake (details)
  14. add policy_performance benchmark to CMake (details)
  15. fix some warnings in policy_performance benchmark (details)
  16. policy_benchmark: fix indentation (details)
  17. Benchmarks: disable 2 benchmarks for OpenMPTarget (details)
  18. bytes_and_flops: fix a counter name (details)
  19. Fix C-style cast (details)
  20. Fix amdclang++ compilation (#6857) (details)
  21. Fix fallback implementation for sort_by_key (#6856) (details)
  22. Update the unsafe implicit conversion error message in MDRangePolicy (#6855) (details)
  23. Split some classes from Kokkos_ViewMapping (#6859) (details)
  24. update mdspan tpl (details)
  25. CTAD (deduction guides) for RangePolicy (#6850) (details)
  26. CTAD (deduction guides) for MDRangePolicy (#5516) (details)
Commit 37962b3d2f9a26ce3fdcb80229ab3a73106f456b by Daniel Arndt
SYCL: Cleanup device selection
The file was modified core/src/SYCL/Kokkos_SYCL.cpp (diff)
Commit 2a8ac6f48a467e91b0abce5edf22b34fbfe50e4f by crtrott
Adding SECURITY.md file

This is based on the one from OSSF Scorecard
The file was addedSECURITY.md
Commit 16a5ebe95e88bf103ff7459ca1b1ce9983426eed by noreply
multi-GPU support: Add test for all policies (#6782)

* Cuda multi-GPU support: Test with managed and unmanaged Views

* Move check for cuda_device

* Also test copying between devices

* Refactor using StreamsAndDevices

* Don't use shared_ptr
The file was modified core/unit_test/CMakeLists.txt (diff)
The file was modified core/unit_test/cuda/TestCuda_InterOp_StreamsMultiGPU.cpp (diff)
Commit c90a9c6f7bf439b4e224a0eaabcc2af815980dc5 by noreply
Implement sort_by_key (#6801)

* Implement sort_by_key

* Address review comments

* Make passed in view const ref

* Fix _via_sort for OpenMPTarget

Co-authored-by: Daniel Arndt <arndtd@ornl.gov>

* Rip out ROCThrust for now

* Few changes to address the comments

* Fix SYCL

* Fix SYCL implementation

---------

Co-authored-by: Daniel Arndt <arndtd@ornl.gov>
The file was addedalgorithms/src/sorting/Kokkos_SortByKeyPublicAPI.hpp
The file was addedalgorithms/src/sorting/impl/Kokkos_SortByKeyImpl.hpp
The file was modified algorithms/src/Kokkos_Sort.hpp (diff)
The file was modified algorithms/unit_tests/CMakeLists.txt (diff)
The file was addedalgorithms/unit_tests/TestSortByKey.hpp
Commit 058c3a08e6b871f2ddfe3774f390ee473525df5e by noreply
Fix scorecard workflow (#6831)

* Add Scorecrad

* another one

* Don't run on pull requests

* Add comments back in
The file was modified .github/workflows/scorecard.yml (diff)
Commit 04a5334c699cb9b87293d27bc73090b3b7c13019 by noreply
Remove redundant RangePolicy constructor (#6841)

* Remove redundant RangePolicy constructor

* Disable test case for Cuda <11.2 completely
The file was modified core/unit_test/TestRangePolicyCTAD.cpp (diff)
The file was modified core/src/Kokkos_ExecPolicy.hpp (diff)
Commit 0cdc9eb768582bec4af8f0e44057e235ca8277f0 by Damien L-G
Bump Google Benchmark version v1.{6.2 -> 7.1} in CMake FetchContent
The file was modified core/perf_test/CMakeLists.txt (diff)
Commit 8b8de2cf47cd85005b6adafb8fe5c99b57c32c23 by noreply
Remove variadic range policy constructor (#6845)

* Removed variadic ctor from RangePolicy, as well as extra
set(...) methods.

* In RangePolicy:
Deprecated set(ChunkSize)
In the ctor that takes a ChunkSize, set the chunk size via
set_chunk_size instead of via member initializers (to be more consistent
with other code)

* Removed superfluous "inline" from two of the RangePolicy constructors
The file was modified core/src/Kokkos_ExecPolicy.hpp (diff)
Commit dc524910d397feb7050b39f34d38dfd7d4f82b65 by Daniel Arndt
Avoid unused variable warning in TestRangePolicyCTAD.cpp
The file was modified core/unit_test/TestRangePolicyCTAD.cpp (diff)
Commit 277339090e02e6555cf4f8508bd4b1f78bb6d2a2 by cedric.chevalier
bytes_and_flops with CMake

Fix some warnings as well
The file was modified benchmarks/bytes_and_flops/bench_float.cpp (diff)
The file was addedbenchmarks/bytes_and_flops/CMakeLists.txt
The file was modified benchmarks/bytes_and_flops/bench_unroll_stride.hpp (diff)
The file was modified benchmarks/bytes_and_flops/main.cpp (diff)
The file was modified benchmarks/CMakeLists.txt (diff)
The file was modified benchmarks/bytes_and_flops/bench_double.cpp (diff)
The file was modified benchmarks/bytes_and_flops/bench.hpp (diff)
The file was modified benchmarks/bytes_and_flops/bench_int64_t.cpp (diff)
The file was modified benchmarks/bytes_and_flops/bench_stride.hpp (diff)
The file was modified benchmarks/bytes_and_flops/bench_int32_t.cpp (diff)
Commit 5c9a4aa3ce9360892d8c558e19618357366b2640 by cedric.chevalier
bytes_and_flops fix a small bug in command line argument
The file was modified benchmarks/bytes_and_flops/main.cpp (diff)
Commit 932466f21364b7d99aa06d5e499c7e4bf1a1c00d by cedric.chevalier
add gather benchmark to CMake
The file was modified benchmarks/CMakeLists.txt (diff)
The file was modified benchmarks/gather/gather.hpp (diff)
The file was addedbenchmarks/gather/CMakeLists.txt
The file was modified benchmarks/gather/main.cpp (diff)
The file was modified benchmarks/gather/gather_unroll.hpp (diff)
Commit 16d2edbb34925d23602a69ca6866db5d783d2aa6 by cedric.chevalier
add atomic benchmark to CMake
The file was modified benchmarks/CMakeLists.txt (diff)
The file was addedbenchmarks/atomic/CMakeLists.txt
Commit 750ef211ac68526a6677ed298300e6dc0c4b86a6 by cedric.chevalier
add policy_performance benchmark to CMake
The file was modified benchmarks/CMakeLists.txt (diff)
The file was addedbenchmarks/policy_performance/CMakeLists.txt
Commit 97fa76f29d35c2dcb364473c3bc759510de45c59 by cedric.chevalier
fix some warnings in policy_performance benchmark
The file was modified benchmarks/policy_performance/policy_perf_test.hpp (diff)
The file was modified benchmarks/policy_performance/main.cpp (diff)
Commit 715d6156e9729e2be930ff1c7845e32a27efe164 by cedric.chevalier
policy_benchmark: fix indentation
The file was modified benchmarks/policy_performance/main.cpp (diff)
Commit 4dcbff2cf4b6a4b7476b3cf647e7d0b8adf10808 by cedric.chevalier
Benchmarks: disable 2 benchmarks for OpenMPTarget

Apply Rahul suggestion to disable two benchmarks that are causing Internal Compiler Errors with OpenMPTarget.
The file was modified benchmarks/CMakeLists.txt (diff)
Commit 3d485c19da4aea22021df2673df2183d35fc87f2 by cedric.chevalier
bytes_and_flops: fix a counter name
The file was modified benchmarks/bytes_and_flops/bench_unroll_stride.hpp (diff)
The file was modified core/src/Serial/Kokkos_Serial_Task.hpp (diff)
Commit 99c7e1b1c430f2012eaea2f4bec90e8e0858b9f9 by noreply
Fix amdclang++ compilation (#6857)

* Fix amdclang++ compilation

* Add guards for hipcc
The file was modified cmake/kokkos_arch.cmake (diff)
Commit 9feb104d9b3ce86230f1b56c6207246f67f22de1 by noreply
Fix fallback implementation for sort_by_key (#6856)

* Fix fallback implementation for sort_by_key

* Guard with KOKKOS_ENABLE_ONEDPL

* Drop sort_on_device

* Improve wording

* Improve comment
The file was modified algorithms/src/sorting/impl/Kokkos_SortByKeyImpl.hpp (diff)
Commit c3c8a70d21ffe88f810bfe392fb5a0457c62c928 by noreply
Update the unsafe implicit conversion error message in MDRangePolicy (#6855)

* Updated the error message in MDRangePolicy about unsafe implicit conversions

* Addressed clang warnings
The file was modified core/src/KokkosExp_MDRangePolicy.hpp (diff)
The file was modified core/unit_test/TestMDRangePolicyConstructors.hpp (diff)
Commit 9a7e7958ae6e35124546663936520f93f964d021 by noreply
Split some classes from Kokkos_ViewMapping (#6859)

* move ViewOffset and ViewDataAnalysis to a separate header

* only include Kokkos_Macro in ViewDataAnalysis
The file was modified core/src/impl/Kokkos_ViewMapping.hpp (diff)
The file was addedcore/src/impl/Kokkos_ViewDataAnalysis.hpp
The file was modified tpls/mdspan/include/experimental/__p2630_bits/submdspan_mapping.hpp (diff)
The file was modified tpls/mdspan/include/experimental/__p0009_bits/compressed_pair.hpp (diff)
The file was modified tpls/mdspan/include/experimental/__p2630_bits/submdspan.hpp (diff)
The file was modified tpls/mdspan/include/mdspan/mdspan.hpp (diff)
The file was modified tpls/mdspan/include/experimental/__p2630_bits/strided_slice.hpp (diff)
The file was modified tpls/mdspan/include/experimental/__p0009_bits/config.hpp (diff)
The file was modified tpls/mdspan/include/experimental/__p1684_bits/mdarray.hpp (diff)
The file was addedtpls/mdspan/include/experimental/__p2642_bits/layout_padded.hpp
The file was modified tpls/mdspan/include/experimental/__p0009_bits/mdspan.hpp (diff)
The file was addedtpls/mdspan/include/experimental/__p2642_bits/layout_padded_fwd.hpp
The file was modified tpls/mdspan/include/experimental/__p0009_bits/extents.hpp (diff)
The file was modified tpls/mdspan/include/experimental/__p2630_bits/submdspan_extents.hpp (diff)
The file was modified tpls/mdspan/include/experimental/__p0009_bits/layout_left.hpp (diff)
The file was modified tpls/mdspan/include/experimental/__p0009_bits/layout_stride.hpp (diff)
The file was modified tpls/mdspan/include/experimental/__p0009_bits/layout_right.hpp (diff)
Commit 6db04b3b5803fb7686475effe2b6af071b885697 by noreply
CTAD (deduction guides) for RangePolicy (#6850)

* Removed the check for NVCC compiler version when testing CTAD,
as decltype(RangePolicy(...)) isn't compiling under any version
of Cuda.

* Added in the explicit deduction guides for RangePolicy:
• Correctness when passing in an execution space
• Workaround for nvcc as RangePolicy<...> doesn't have any
template parameters that can be deduced, so gcc/clang assume that a
matching ctor in the primary template deduces to RangePolicy<> while
nvcc assumes it is a bug.

Rewrote the tests to be of the form:

[[maybe_unused]] static inline auto rpxy = RangePolicy(x, y);
static_assert(is_same_v<RangePolicy<WhatShouldBeHere>, decltype(rpxy)>);

This form avoids the most vexing parse.o, and seems to pass on all
compilers.

Added tests for SomeExecutionSpace which is guaranteed not to be
DefaultExecutionSpace.

Added calls to ImplicitlyConvertibleToDefaultExecutionSpace::operator
DefaultExecutionSpace() and SomeExecutionSpace::concurrency() to
avoid maybe_unused errors under some compilers.

Notes:

The default constructed CTAD RangePolicy uses list initialization syntax
(curlies) instead of parentheses to get around a gcc 8.2 compiler bug.

nestodes uses "Kokkos::DefaultExecutionSpace" instead of "auto" in order
to trigger the implicit conversion.
The file was modified core/src/Kokkos_ExecPolicy.hpp (diff)
The file was modified core/unit_test/TestRangePolicyCTAD.cpp (diff)
Commit cfc260ac0aa36b42626d51093e1098aefbe79da7 by noreply
CTAD (deduction guides) for MDRangePolicy (#5516)

* CTAD for MDRangePolicy

* WIP: Moved CTAD tests from TestMDRangePolicyConstructors.hpp to
TestMDRangePolicyCTAD.cpp

* WIP Added [[maybe_unused]] to all static inline variables in
CTAD tests

* Removed TEST_EXECSPACE from the MDRangePolicy CTAD tests
(as that isn't needed for compile time only tests) and
associated cleanup

* Marked
struct ImplicitlyConvertibleToDefaultExecutionSpace::operator Kokkos::DefaultExecutionSpace() const;
as [[maybe_unused]] to make it consistent with the
other policy CTAD tests (in other PRs)

* Added a Workaround for nvc++ (CUDA-11.7-NVHPC) ignoring
[[maybe_unused]] on

ImplicitlyConvertibleToDefaultExecutionSpace::operator
Kokkos::DefaultExecutionSpace() const

by defining it and implicitly calling it in another [[maybe_unused]] static inline
variable.

* Workaround for HIP-ROCm-5.2 "declared but never referenced"

* Added MDRangePolicy CTAD tests for initializer_lists
Fixed a comment
The file was addedcore/unit_test/TestMDRangePolicyCTAD.cpp
The file was modified core/unit_test/CMakeLists.txt (diff)
The file was modified core/src/KokkosExp_MDRangePolicy.hpp (diff)