diff --git a/Makefile b/Makefile index ee50259f9..a413df10b 100644 --- a/Makefile +++ b/Makefile @@ -214,8 +214,7 @@ KOKKOS_CMAKEFLAGS := -DCMAKE_INSTALL_PREFIX=$(KOKKOS_INSTALL) \ -DKokkos_CXX_STANDARD=14 \ -DKokkos_ENABLE_SERIAL=On \ -DKokkos_ENABLE_LIBDL=On \ - -DKokkos_ENABLE_PROFILING_LOAD_PRINT=On \ - -DKokkos_ENABLE_IMPL_DESUL_ATOMICS=Off + -DKokkos_ENABLE_PROFILING_LOAD_PRINT=On KOKKOS_IS_SHARED := ifndef KOKKOS_DEVICE_PARALLEL KOKKOS_CMAKEFLAGS += -DCMAKE_CXX_COMPILER=g++ diff --git a/src/kokkos/KokkosCore/AtomicPairCounter.h b/src/kokkos/KokkosCore/AtomicPairCounter.h index df8190f70..f5477e7f0 100644 --- a/src/kokkos/KokkosCore/AtomicPairCounter.h +++ b/src/kokkos/KokkosCore/AtomicPairCounter.h @@ -9,7 +9,10 @@ namespace cms { namespace kokkos { class AtomicPairCounter { public: - using c_type = unsigned long long int; + // unsigned long long caused performance issue with Desul atomics in Kokkos 3.5 + //using c_type = unsigned long long int; + using c_type = unsigned long int; + static_assert(sizeof(unsigned long int) == sizeof(unsigned long long int)); KOKKOS_INLINE_FUNCTION AtomicPairCounter() { counter.ac = 0; } KOKKOS_INLINE_FUNCTION AtomicPairCounter(c_type i) { counter.ac = i; }