Skip to content

Commit

Permalink
Fixup NVIDIA GPU arch must be defined potentially for other backends …
Browse files Browse the repository at this point in the history
…as well
  • Loading branch information
dalg24 committed Mar 17, 2023
1 parent b4de0ac commit 106a4a3
Show file tree
Hide file tree
Showing 3 changed files with 59 additions and 36 deletions.
58 changes: 58 additions & 0 deletions core/src/Cuda/Kokkos_Cuda_NvidiaGpuArchitectures.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
//@HEADER
// ************************************************************************
//
// Kokkos v. 4.0
// Copyright (2022) National Technology & Engineering
// Solutions of Sandia, LLC (NTESS).
//
// Under the terms of Contract DE-NA0003525 with NTESS,
// the U.S. Government retains certain rights in this software.
//
// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions.
// See https://kokkos.org/LICENSE for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//@HEADER

#ifndef KOKKOS_CUDA_NVIDIA_GPU_ARCHITECTURES_HPP
#define KOKKOS_CUDA_NVIDIA_GPU_ARCHITECTURES_HPP

#if defined(KOKKOS_ARCH_KEPLER30)
#define KOKKOS_IMPL_ARCH_NVIDIA_GPU 30
#elif defined(KOKKOS_ARCH_KEPLER32)
#define KOKKOS_IMPL_ARCH_NVIDIA_GPU 32
#elif defined(KOKKOS_ARCH_KEPLER35)
#define KOKKOS_IMPL_ARCH_NVIDIA_GPU 35
#elif defined(KOKKOS_ARCH_KEPLER37)
#define KOKKOS_IMPL_ARCH_NVIDIA_GPU 37
#elif defined(KOKKOS_ARCH_MAXWELL50)
#define KOKKOS_IMPL_ARCH_NVIDIA_GPU 50
#elif defined(KOKKOS_ARCH_MAXWELL52)
#define KOKKOS_IMPL_ARCH_NVIDIA_GPU 52
#elif defined(KOKKOS_ARCH_MAXWELL53)
#define KOKKOS_IMPL_ARCH_NVIDIA_GPU 53
#elif defined(KOKKOS_ARCH_PASCAL60)
#define KOKKOS_IMPL_ARCH_NVIDIA_GPU 60
#elif defined(KOKKOS_ARCH_PASCAL61)
#define KOKKOS_IMPL_ARCH_NVIDIA_GPU 61
#elif defined(KOKKOS_ARCH_VOLTA70)
#define KOKKOS_IMPL_ARCH_NVIDIA_GPU 70
#elif defined(KOKKOS_ARCH_VOLTA72)
#define KOKKOS_IMPL_ARCH_NVIDIA_GPU 72
#elif defined(KOKKOS_ARCH_TURING75)
#define KOKKOS_IMPL_ARCH_NVIDIA_GPU 75
#elif defined(KOKKOS_ARCH_AMPERE80)
#define KOKKOS_IMPL_ARCH_NVIDIA_GPU 80
#elif defined(KOKKOS_ARCH_AMPERE86)
#define KOKKOS_IMPL_ARCH_NVIDIA_GPU 86
#elif defined(KOKKOS_ARCH_ADA89)
#define KOKKOS_IMPL_ARCH_NVIDIA_GPU 89
#elif defined(KOKKOS_ARCH_HOPPER90)
#define KOKKOS_IMPL_ARCH_NVIDIA_GPU 90
#elif defined(KOKKOS_ENABLE_CUDA)
// do not raise an error on other backends that may run on NVIDIA GPUs such as
// OpenACC, OpenMPTarget, or SYCL
#error NVIDIA GPU arch not recognized
#endif

#endif
1 change: 1 addition & 0 deletions core/src/Kokkos_Macros.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@

#ifndef KOKKOS_DONT_INCLUDE_CORE_CONFIG_H
#include <KokkosCore_config.h>
#include <Cuda/Kokkos_Cuda_NvidiaGpuArchitectures.hpp>
#endif

//----------------------------------------------------------------------------
Expand Down
36 changes: 0 additions & 36 deletions core/src/setup/Kokkos_Setup_Cuda.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -69,40 +69,4 @@
#define KOKKOS_IMPL_HOST_FUNCTION __host__
#define KOKKOS_IMPL_DEVICE_FUNCTION __device__

#if defined(KOKKOS_ARCH_KEPLER30)
#define KOKKOS_IMPL_ARCH_NVIDIA_GPU 30
#elif defined(KOKKOS_ARCH_KEPLER32)
#define KOKKOS_IMPL_ARCH_NVIDIA_GPU 32
#elif defined(KOKKOS_ARCH_KEPLER35)
#define KOKKOS_IMPL_ARCH_NVIDIA_GPU 35
#elif defined(KOKKOS_ARCH_KEPLER37)
#define KOKKOS_IMPL_ARCH_NVIDIA_GPU 37
#elif defined(KOKKOS_ARCH_MAXWELL50)
#define KOKKOS_IMPL_ARCH_NVIDIA_GPU 50
#elif defined(KOKKOS_ARCH_MAXWELL52)
#define KOKKOS_IMPL_ARCH_NVIDIA_GPU 52
#elif defined(KOKKOS_ARCH_MAXWELL53)
#define KOKKOS_IMPL_ARCH_NVIDIA_GPU 53
#elif defined(KOKKOS_ARCH_PASCAL60)
#define KOKKOS_IMPL_ARCH_NVIDIA_GPU 60
#elif defined(KOKKOS_ARCH_PASCAL61)
#define KOKKOS_IMPL_ARCH_NVIDIA_GPU 61
#elif defined(KOKKOS_ARCH_VOLTA70)
#define KOKKOS_IMPL_ARCH_NVIDIA_GPU 70
#elif defined(KOKKOS_ARCH_VOLTA72)
#define KOKKOS_IMPL_ARCH_NVIDIA_GPU 72
#elif defined(KOKKOS_ARCH_TURING75)
#define KOKKOS_IMPL_ARCH_NVIDIA_GPU 75
#elif defined(KOKKOS_ARCH_AMPERE80)
#define KOKKOS_IMPL_ARCH_NVIDIA_GPU 80
#elif defined(KOKKOS_ARCH_AMPERE86)
#define KOKKOS_IMPL_ARCH_NVIDIA_GPU 86
#elif defined(KOKKOS_ARCH_ADA89)
#define KOKKOS_IMPL_ARCH_NVIDIA_GPU 89
#elif defined(KOKKOS_ARCH_HOPPER90)
#define KOKKOS_IMPL_ARCH_NVIDIA_GPU 90
#else
#error NVIDIA GPU arch not recognized
#endif

#endif /* KOKKOS_CUDA_SETUP_HPP_ */

0 comments on commit 106a4a3

Please sign in to comment.