From f031da80dc9acbdbedb435c101d52672b3f591be Mon Sep 17 00:00:00 2001 From: Chris Siefert Date: Thu, 31 Aug 2023 14:59:48 -0600 Subject: [PATCH 1/2] Tpetra: Removing the incorrect ETI_DEVICES We don't use them and they're not consistent with the ETI_NODES --- packages/tpetra/CMakeLists.txt | 29 +---------------------------- 1 file changed, 1 insertion(+), 28 deletions(-) diff --git a/packages/tpetra/CMakeLists.txt b/packages/tpetra/CMakeLists.txt index 056578d86045..f360f17debc9 100644 --- a/packages/tpetra/CMakeLists.txt +++ b/packages/tpetra/CMakeLists.txt @@ -111,18 +111,7 @@ INCLUDE(CMakeCuda.txt) # Note on (2) above: some of the types can only be enabled if certain # requirements are fulfilled. # -# Tpetra also keeps a list of the Kokkos Device types (specializations -# of Kokkos::Device) over which it does instantiations and/or tests. -# This is the Tpetra_ETI_DEVICES CMake variable. Eventually, we will -# deprecate and remove the above Node instantiation list, and just use -# the list of enabled Devices. We use devices rather than execution -# spaces, because a Kokkos::Device is an (execution space, memory -# space) pair. This means that it is more general. For example, -# Device != Device, yet some -# users may want both represented. The particular use case I have in -# mind here is Device where $MEM_SPACE could be -# either HostSpace or the HBM (high-bandwidth memory) memory space. -# + SET(${PACKAGE_NAME}_ETI_SCALARS "") # Exclude all ordinal types (GlobalOrdinal and int) @@ -138,7 +127,6 @@ SET(${PACKAGE_NAME}_ETI_SCALARS_KOKKOS_ORDS "") SET(${PACKAGE_NAME}_ETI_LORDS "") SET(${PACKAGE_NAME}_ETI_GORDS "") -SET(${PACKAGE_NAME}_ETI_DEVICES "") SET(${PACKAGE_NAME}_ETI_NODES "") # ============================================================ @@ -572,36 +560,21 @@ ENDIF () # Construct the list of enabled Device and Node types. # IF(Tpetra_INST_SERIAL) - LIST(APPEND ${PACKAGE_NAME}_ETI_DEVICES "Kokkos::Device") LIST(APPEND ${PACKAGE_NAME}_ETI_NODES "Tpetra::KokkosCompat::KokkosSerialWrapperNode") ENDIF() IF(Tpetra_INST_PTHREAD) - LIST(APPEND ${PACKAGE_NAME}_ETI_DEVICES "Kokkos::Device") LIST(APPEND ${PACKAGE_NAME}_ETI_NODES "Tpetra::KokkosCompat::KokkosThreadsWrapperNode") ENDIF() IF(Tpetra_INST_OPENMP) - LIST(APPEND ${PACKAGE_NAME}_ETI_DEVICES "Kokkos::Device") LIST(APPEND ${PACKAGE_NAME}_ETI_NODES "Tpetra::KokkosCompat::KokkosOpenMPWrapperNode") ENDIF() IF(Tpetra_INST_CUDA) - # TpetraCore currently requires UVM, so it doesn't make sense to - # instantiate over Kokkos::CudaSpace as well as - # Kokkos::CudaUVMSpace. - LIST(APPEND ${PACKAGE_NAME}_ETI_DEVICES "Kokkos::Device") LIST(APPEND ${PACKAGE_NAME}_ETI_NODES "Tpetra::KokkosCompat::KokkosCudaWrapperNode") ENDIF() IF(Tpetra_INST_HIP) - # TpetraCore currently requires UVM, so it doesn't make sense to - # instantiate over Kokkos::HIPSpace as well as - # Kokkos::HIPHostPinnedSpace. - LIST(APPEND ${PACKAGE_NAME}_ETI_DEVICES "Kokkos::Device") LIST(APPEND ${PACKAGE_NAME}_ETI_NODES "Tpetra::KokkosCompat::KokkosHIPWrapperNode") ENDIF() IF(Tpetra_INST_SYCL) - # TpetraCore currently requires UVM, so it doesn't make sense to - # instantiate over Kokkos::SYCLDeviceUSMSpace as well as - # Kokkos::SYCLSharedUSMSpace. - LIST(APPEND ${PACKAGE_NAME}_ETI_DEVICES "Kokkos::Device") LIST(APPEND ${PACKAGE_NAME}_ETI_NODES "Tpetra::KokkosCompat::KokkosSYCLWrapperNode") ENDIF() From 06d6bb872dd350dbaffd6046d7f04d917905fd82 Mon Sep 17 00:00:00 2001 From: Chris Siefert Date: Wed, 6 Sep 2023 08:06:02 -0600 Subject: [PATCH 2/2] Tpetra: Update Building.rst @jhux2 should be happy now --- packages/tpetra/core/guide/src/Obtaining/Building.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/tpetra/core/guide/src/Obtaining/Building.rst b/packages/tpetra/core/guide/src/Obtaining/Building.rst index 1ea47357202f..e72b0e3aec0d 100644 --- a/packages/tpetra/core/guide/src/Obtaining/Building.rst +++ b/packages/tpetra/core/guide/src/Obtaining/Building.rst @@ -104,7 +104,6 @@ For all templated types, the CMake options have the pattern: ``Tpetra_INST_ != Device``, yet some users may want both represented. The particular use case is ``Device`` where ``$MEM_SPACE`` could be either ``HostSpace`` or the ``HBM`` (high-bandwidth memory) memory space. Kokkos Execution Space Types ----------------------------