Skip to content

Commit

Permalink
Disable KOKKOS_ARCH_AVX512XEON for NVHPC
Browse files Browse the repository at this point in the history
  • Loading branch information
masterleinad committed Jun 16, 2023
1 parent 99fe134 commit c229f2e
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 11 deletions.
21 changes: 16 additions & 5 deletions cmake/kokkos_arch.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -406,8 +406,10 @@ IF (KOKKOS_ARCH_SKL)
ENDIF()

IF (KOKKOS_ARCH_SKX)
#avx512-xeon
SET(KOKKOS_ARCH_AVX512XEON ON)
# FIXME_NVHPC nvc++ doesn't seem to support AVX512.
IF (NOT KOKKOS_CXX_HOST_COMPILER_ID STREQUAL NVHPC)
SET(KOKKOS_ARCH_AVX512XEON ON)
ENDIF()
COMPILER_SPECIFIC_FLAGS(
COMPILER_ID KOKKOS_CXX_HOST_COMPILER_ID
Cray NO-VALUE-SPECIFIED
Expand All @@ -419,7 +421,10 @@ IF (KOKKOS_ARCH_SKX)
ENDIF()

IF (KOKKOS_ARCH_ICL)
SET(KOKKOS_ARCH_AVX512XEON ON)
# FIXME_NVHPC nvc++ doesn't seem to support AVX512.
IF (NOT KOKKOS_CXX_HOST_COMPILER_ID STREQUAL NVHPC)
SET(KOKKOS_ARCH_AVX512XEON ON)
ENDIF()
COMPILER_SPECIFIC_FLAGS(
COMPILER_ID KOKKOS_CXX_HOST_COMPILER_ID
MSVC /arch:AVX512
Expand All @@ -428,7 +433,10 @@ IF (KOKKOS_ARCH_ICL)
ENDIF()

IF (KOKKOS_ARCH_ICX)
SET(KOKKOS_ARCH_AVX512XEON ON)
# FIXME_NVHPC nvc++ doesn't seem to support AVX512.
IF (NOT KOKKOS_CXX_HOST_COMPILER_ID STREQUAL NVHPC)
SET(KOKKOS_ARCH_AVX512XEON ON)
ENDIF()
COMPILER_SPECIFIC_FLAGS(
COMPILER_ID KOKKOS_CXX_HOST_COMPILER_ID
MSVC /arch:AVX512
Expand All @@ -437,7 +445,10 @@ IF (KOKKOS_ARCH_ICX)
ENDIF()

IF (KOKKOS_ARCH_SPR)
SET(KOKKOS_ARCH_AVX512XEON ON)
# FIXME_NVHPC nvc++ doesn't seem to support AVX512.
IF (NOT KOKKOS_CXX_HOST_COMPILER_ID STREQUAL NVHPC)
SET(KOKKOS_ARCH_AVX512XEON ON)
ENDIF()
COMPILER_SPECIFIC_FLAGS(
COMPILER_ID KOKKOS_CXX_HOST_COMPILER_ID
MSVC /arch:AVX512
Expand Down
9 changes: 3 additions & 6 deletions simd/src/Kokkos_SIMD.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,7 @@
#include <Kokkos_SIMD_AVX2.hpp>
#endif

// FIXME_NVHPC nvc++ doesn't seem to support AVX512.
#if !defined(KOKKOS_COMPILER_NVHPC) && defined(KOKKOS_ARCH_AVX512XEON)
#ifdef KOKKOS_ARCH_AVX512XEON
#include <Kokkos_SIMD_AVX512.hpp>
#endif

Expand All @@ -41,8 +40,7 @@ namespace simd_abi {

namespace Impl {

// FIXME_NVHPC nvc++ doesn't seem to support AVX512.
#if !defined(KOKKOS_COMPILER_NVHPC) && defined(KOKKOS_ARCH_AVX512XEON)
#if defined(KOKKOS_ARCH_AVX512XEON)
using host_native = avx512_fixed_size<8>;
#elif defined(KOKKOS_ARCH_AVX2)
using host_native = avx2_fixed_size<4>;
Expand Down Expand Up @@ -141,8 +139,7 @@ class abi_set {};
template <typename... Ts>
class data_types {};

// FIXME_NVHPC nvc++ doesn't seem to support AVX512.
#if !defined(KOKKOS_COMPILER_NVHPC) && defined(KOKKOS_ARCH_AVX512XEON)
#if defined(KOKKOS_ARCH_AVX512XEON)
using host_abi_set = abi_set<simd_abi::scalar, simd_abi::avx512_fixed_size<8>>;
using data_type_set = data_types<std::int32_t, std::uint32_t, std::int64_t,
std::uint64_t, double>;
Expand Down

0 comments on commit c229f2e

Please sign in to comment.