Skip to content

Commit

Permalink
Disable NEON simd when compiling with NVCC
Browse files Browse the repository at this point in the history
  • Loading branch information
Christian Robert Trott committed May 23, 2024
1 parent 34547c2 commit 24d9381
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions simd/src/Kokkos_SIMD.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,8 @@
#include <Kokkos_SIMD_AVX512.hpp>
#endif

#if defined(KOKKOS_ARCH_ARM_NEON)
//FIXME: If and when NVCC supports NEON intrinsics reenable
#if defined(KOKKOS_ARCH_ARM_NEON) && !defined(__NVCC__)
#if !defined(__ARM_NEON)
#error "__ARM_NEON must be definded for KOKKOS_ARCH_ARM_NEON"
#endif
Expand All @@ -87,7 +88,7 @@ namespace Impl {
using host_native = avx512_fixed_size<8>;
#elif defined(KOKKOS_ARCH_AVX2)
using host_native = avx2_fixed_size<4>;
#elif defined(KOKKOS_ARCH_ARM_NEON)
#elif defined(KOKKOS_ARCH_ARM_NEON) && !defined(__NVCC__)
using host_native = neon_fixed_size<2>;
#else
using host_native = scalar;
Expand Down Expand Up @@ -190,7 +191,7 @@ using data_type_set = data_types<std::int32_t, std::uint32_t, std::int64_t,
using host_abi_set = abi_set<simd_abi::scalar, simd_abi::avx2_fixed_size<4>>;
using data_type_set =
data_types<std::int32_t, std::int64_t, std::uint64_t, double, float>;
#elif defined(KOKKOS_ARCH_ARM_NEON)
#elif defined(KOKKOS_ARCH_ARM_NEON) && !defined(__NVCC__)
using host_abi_set = abi_set<simd_abi::scalar, simd_abi::neon_fixed_size<2>>;
using data_type_set =
data_types<std::int32_t, std::int64_t, std::uint64_t, double, float>;
Expand Down

0 comments on commit 24d9381

Please sign in to comment.