trilinos / Trilinos

Primary repository for the Trilinos Project
https://trilinos.org/
Other
1.19k stars 565 forks source link

Various: Rename macros named KOKKOS_FOO #10715

Open ndellingwood opened 2 years ago

ndellingwood commented 2 years ago

Enhancement

Various Trilinos packages name macros of the type KOKKOSFOO. The KOKKOS prefix should be changed to distinguish from macros owned by Kokkos, aligning with kokkos/kokkos#4965

As of SHA d3282210b5c703d124b292ed787d32747ae74c62

All references to KOKKOS_ prefix macros: (click to expand) ``` git grep 'define KOKKOS_' origin/develop | egrep -v 'packages/kokkos(-kernels)?/' origin/develop:packages/minitensor/src/MiniTensor_Definitions.h:#define KOKKOS_INLINE_FUNCTION inline origin/develop:packages/phalanx/src/Phalanx_KokkosViewFactoryFunctor.hpp:#define KOKKOS_VIEW_FACTORY_FUNCTOR_HPP origin/develop:packages/sacado/src/KokkosExp_View_Fad.hpp:#define KOKKOS_EXPERIMENTAL_VIEW_SACADO_FAD_HPP origin/develop:packages/sacado/src/KokkosExp_View_Fad.hpp:#define KOKKOS_VIEW_DATA_ANALYSIS_SACADO_FAD( NS ) \ origin/develop:packages/sacado/src/KokkosExp_View_Fad_Contiguous.hpp:#define KOKKOS_EXPERIMENTAL_VIEW_SACADO_FAD_CONTIGUOUS_HPP origin/develop:packages/sacado/src/Kokkos_DynRankView_Fad.hpp:#define KOKKOS_DYN_RANK_VIEW_SACADO_FAD_HPP origin/develop:packages/sacado/src/Kokkos_DynRankView_Fad_Contiguous.hpp:#define KOKKOS_DYN_RANK_VIEW_SACADO_FAD_CONTIGUOUS_HPP origin/develop:packages/sacado/src/Kokkos_LayoutContiguous.hpp:#define KOKKOS_LAYOUT_CONTIGUOUS_HPP origin/develop:packages/sacado/src/Kokkos_LayoutNatural.hpp:#define KOKKOS_LAYOUT_NATURAL_HPP origin/develop:packages/sacado/src/Kokkos_ViewFactory.hpp:#define KOKKOS_VIEW_FACTORY_HPP origin/develop:packages/sacado/src/Kokkos_View_Fad.hpp:#define KOKKOS_VIEW_FAD_HPP origin/develop:packages/sacado/src/Kokkos_View_Fad_Fwd.hpp:#define KOKKOS_VIEW_FAD_FWD_HPP origin/develop:packages/sacado/src/Sacado_DisableKokkosCuda.hpp:// Redefine KOKKOS_*_FUNCTION macros to not include __device__ origin/develop:packages/sacado/test/performance/fenl_assembly/BoxElemFixture.hpp:#define KOKKOS_EXAMPLE_BOXELEMFIXTURE_HPP origin/develop:packages/sacado/test/performance/fenl_assembly/BoxElemPart.hpp:#define KOKKOS_BOXELEMPART_HPP origin/develop:packages/sacado/test/performance/fenl_assembly/HexElement.hpp:#define KOKKOS_HEXELEMENT_HPP origin/develop:packages/sacado/test/performance/fenl_assembly/fenl_functors.hpp:#define KOKKOS_EXAMPLE_FENLFUNCTORS_HPP origin/develop:packages/sacado/test/performance/fenl_assembly_view/BoxElemFixture.hpp:#define KOKKOS_EXAMPLE_BOXELEMFIXTURE_HPP origin/develop:packages/sacado/test/performance/fenl_assembly_view/BoxElemPart.hpp:#define KOKKOS_BOXELEMPART_HPP origin/develop:packages/sacado/test/performance/fenl_assembly_view/HexElement.hpp:#define KOKKOS_HEXELEMENT_HPP origin/develop:packages/sacado/test/performance/fenl_assembly_view/fenl_functors.hpp:#define KOKKOS_EXAMPLE_FENLFUNCTORS_HPP origin/develop:packages/shylu/shylu_node/basker/src/shylubasker_types.hpp:#define KOKKOS_NOINIT Kokkos::ViewAllocateWithoutInitializing origin/develop:packages/shylu/shylu_node/tacho/src/impl/Tacho_Util.hpp:#define KOKKOS_IMPL_PAUSE asm volatile("pause\n" ::: "memory"); origin/develop:packages/shylu/shylu_node/tacho/src/impl/Tacho_Util.hpp:#define KOKKOS_IMPL_PAUSE __asm__ __volatile__("pause\n" ::: "memory"); origin/develop:packages/shylu/shylu_node/tacho/src/impl/Tacho_Util.hpp:#define KOKKOS_IMPL_PAUSE asm volatile("or 27, 27, 27" ::: "memory"); origin/develop:packages/shylu/shylu_node/tacho/src/impl/Tacho_Util.hpp:#define KOKKOS_IMPL_PAUSE origin/develop:packages/stokhos/src/kokkos/Cuda/Stokhos_Cuda_SymmetricDiagonalSpec.hpp:#define KOKKOS_CUDA_SYMMETRIC_DIAGONAL_SPEC_HPP origin/develop:packages/stokhos/src/sacado/kokkos/Kokkos_AnalyzeStokhosShape.hpp:#define KOKKOS_ANALYZE_STOKHOS_SHAPE_HPP origin/develop:packages/stokhos/src/sacado/kokkos/Kokkos_View_Utils.hpp:#define KOKKOS_VIEW_UTILS_HPP origin/develop:packages/stokhos/src/sacado/kokkos/Kokkos_View_Utils_Def.hpp:#define KOKKOS_VIEW_UTILS_DEF_HPP origin/develop:packages/stokhos/src/sacado/kokkos/pce/KokkosExp_View_UQ_PCE_Contiguous.hpp:#define KOKKOS_EXPERIMENTAL_VIEW_UQ_PCE_CONTIGUOUS_HPP origin/develop:packages/stokhos/src/sacado/kokkos/pce/Kokkos_Atomic_UQ_PCE.hpp:#define KOKKOS_ATOMIC_UQ_ATOMIC_HPP origin/develop:packages/stokhos/src/sacado/kokkos/pce/Kokkos_View_UQ_PCE.hpp:#define KOKKOS_VIEW_UQ_PCE_HPP origin/develop:packages/stokhos/src/sacado/kokkos/pce/Kokkos_View_UQ_PCE_Fwd.hpp:#define KOKKOS_VIEW_UQ_PCE_FWD_HPP origin/develop:packages/stokhos/src/sacado/kokkos/pce/Kokkos_View_UQ_PCE_Utils.hpp:#define KOKKOS_VIEW_UQ_PCE_UTILS_HPP origin/develop:packages/stokhos/src/sacado/kokkos/pce/algorithms/Kokkos_Random_UQ_PCE.hpp:#define KOKKOS_RANDOM_UQ_PCE_HPP origin/develop:packages/stokhos/src/sacado/kokkos/pce/linalg/Kokkos_ArithTraits_UQ_PCE.hpp:#define KOKKOS_ARITHTRAITS_UQ_PCE_HPP origin/develop:packages/stokhos/src/sacado/kokkos/pce/linalg/Kokkos_Blas1_UQ_PCE.hpp:#define KOKKOS_BLAS1_UQ_PCE_HPP origin/develop:packages/stokhos/src/sacado/kokkos/pce/linalg/Kokkos_CrsMatrix_UQ_PCE.hpp:#define KOKKOS_CRSMATRIX_UQ_PCE_HPP origin/develop:packages/stokhos/src/sacado/kokkos/pce/linalg/Kokkos_CrsMatrix_UQ_PCE_Cuda.hpp:#define KOKKOS_CRSMATRIX_UQ_PCE_CUDA_HPP origin/develop:packages/stokhos/src/sacado/kokkos/pce/linalg/Kokkos_InnerProductSpaceTraits_UQ_PCE.hpp:#define KOKKOS_INNER_PRODUCT_SPACE_TRAITS_UQ_PCE_HPP origin/develop:packages/stokhos/src/sacado/kokkos/pce/linalg/Kokkos_MV_UQ_PCE.hpp:#define KOKKOS_MV_UQ_PCE_HPP origin/develop:packages/stokhos/src/sacado/kokkos/pce/mpicomm/Kokkos_TeuchosCommAdapters_UQ_PCE.hpp:#define KOKKOS_TEUCHOS_COMM_ADAPTERS_UQ_PCE_HPP origin/develop:packages/stokhos/src/sacado/kokkos/vector/KokkosExp_View_MP_Vector_Contiguous.hpp:#define KOKKOS_EXPERIMENTAL_VIEW_MP_VECTOR_CONTIGUOUS_HPP origin/develop:packages/stokhos/src/sacado/kokkos/vector/Kokkos_Atomic_MP_Vector.hpp:#define KOKKOS_ATOMIC_MP_VECTOR_HPP origin/develop:packages/stokhos/src/sacado/kokkos/vector/Kokkos_Parallel_MP_Vector.hpp:#define KOKKOS_PARALLEL_MP_VECTOR_HPP origin/develop:packages/stokhos/src/sacado/kokkos/vector/Kokkos_View_MP_Vector.hpp:#define KOKKOS_VIEW_MP_VECTOR_HPP origin/develop:packages/stokhos/src/sacado/kokkos/vector/Kokkos_View_MP_Vector_Fwd.hpp:#define KOKKOS_VIEW_MP_VECTOR_FWD_HPP origin/develop:packages/stokhos/src/sacado/kokkos/vector/Kokkos_View_MP_Vector_Interlaced.hpp:#define KOKKOS_VIEW_MP_VECTOR_INTERLACED_HPP origin/develop:packages/stokhos/src/sacado/kokkos/vector/Kokkos_View_MP_Vector_Utils.hpp:#define KOKKOS_VIEW_MP_VECTOR_UTILS_HPP origin/develop:packages/stokhos/src/sacado/kokkos/vector/algorithms/Kokkos_Random_MP_Vector.hpp:#define KOKKOS_RANDOM_MP_VECTOR_HPP origin/develop:packages/stokhos/src/sacado/kokkos/vector/linalg/Kokkos_ArithTraits_MP_Vector.hpp:#define KOKKOS_ARITHTRAITS_MP_VECTOR_HPP origin/develop:packages/stokhos/src/sacado/kokkos/vector/linalg/Kokkos_Blas1_MP_Vector.hpp:#define KOKKOS_BLAS1_MP_VECTOR_HPP origin/develop:packages/stokhos/src/sacado/kokkos/vector/linalg/Kokkos_CrsMatrix_MP_Vector.hpp:#define KOKKOS_CRSMATRIX_MP_VECTOR_HPP origin/develop:packages/stokhos/src/sacado/kokkos/vector/linalg/Kokkos_CrsMatrix_MP_Vector_Cuda.hpp:#define KOKKOS_CRSMATRIX_MP_VECTOR_CUDA_HPP origin/develop:packages/stokhos/src/sacado/kokkos/vector/linalg/Kokkos_InnerProductSpaceTraits_MP_Vector.hpp:#define KOKKOS_INNER_PRODUCT_SPACE_TRAITS_MP_VECTOR_HPP origin/develop:packages/stokhos/src/sacado/kokkos/vector/linalg/Kokkos_MV_MP_Vector.hpp:#define KOKKOS_MV_MP_VECTOR_HPP origin/develop:packages/stokhos/src/sacado/kokkos/vector/mpicomm/Kokkos_TeuchosCommAdapters_MP_Vector.hpp:#define KOKKOS_TEUCHOS_COMM_ADAPTERS_MP_VECTOR_HPP origin/develop:packages/stokhos/test/Performance/FadMPAssembly/BoxElemFixture.hpp:#define KOKKOS_EXAMPLE_BOXELEMFIXTURE_HPP origin/develop:packages/stokhos/test/Performance/FadMPAssembly/BoxElemPart.hpp:#define KOKKOS_BOXELEMPART_HPP origin/develop:packages/stokhos/test/Performance/FadMPAssembly/HexElement.hpp:#define KOKKOS_HEXELEMENT_HPP origin/develop:packages/stokhos/test/Performance/FadMPAssembly/VectorImport.hpp:#define KOKKOS_VECTORIMPORT_HPP origin/develop:packages/stokhos/test/Performance/FadMPAssembly/fenl_functors.hpp:#define KOKKOS_EXAMPLE_FENLFUNCTORS_HPP origin/develop:packages/stokhos/test/Performance/MPAssembly/BoxElemFixture.hpp:#define KOKKOS_EXAMPLE_BOXELEMFIXTURE_HPP origin/develop:packages/stokhos/test/Performance/MPAssembly/BoxElemPart.hpp:#define KOKKOS_BOXELEMPART_HPP origin/develop:packages/stokhos/test/Performance/MPAssembly/HexElement.hpp:#define KOKKOS_HEXELEMENT_HPP origin/develop:packages/stokhos/test/Performance/MPAssembly/VectorImport.hpp:#define KOKKOS_VECTORIMPORT_HPP origin/develop:packages/stokhos/test/Performance/MPAssembly/fenl_functors.hpp:#define KOKKOS_EXAMPLE_FENLFUNCTORS_HPP origin/develop:packages/teuchos/kokkoscomm/src/Kokkos_MpiTypeTraits.hpp:#define KOKKOS_MPITYPETRAITS_HPP origin/develop:packages/teuchos/kokkoscomm/src/Kokkos_TeuchosCommAdapters.hpp:#define KOKKOS_TEUCHOS_COMM_ADAPTERS_HPP origin/develop:packages/tpetra/core/compat/Kokkos_BufferMacros.hpp:#define KOKKOS_BUFFER_MACROS origin/develop:packages/tpetra/core/compat/Kokkos_ConfigDefs.hpp:#define KOKKOS_CONFIGDEFS_HPP origin/develop:packages/tpetra/core/compat/Kokkos_DefaultNode.hpp:#define KOKKOS_DEFAULTNODE_HPP origin/develop:packages/tpetra/core/compat/Kokkos_LinAlgVersion.hpp:#define KOKKOS_LINALG_VERSION_HPP_ origin/develop:packages/tpetra/core/compat/Kokkos_MultiVectorKernelOps.hpp:#define KOKKOS_MULTIVECTOR_KERNELOPS_HPP origin/develop:packages/tpetra/core/compat/Kokkos_NodeAPIConfigDefs.hpp:#define KOKKOS_NODEAPICONFIGDEFS_HPP origin/develop:packages/tpetra/core/compat/Kokkos_Version.hpp:#define KOKKOS_VERSION_HPP_ origin/develop:packages/trilinoscouplings/examples/fenl/BelosSolve.hpp:#define KOKKOS_EXAMPLE_BELOS_SOLVE origin/develop:packages/trilinoscouplings/examples/fenl/BoxElemFixture.hpp:#define KOKKOS_EXAMPLE_BOXELEMFIXTURE_HPP origin/develop:packages/trilinoscouplings/examples/fenl/BoxElemPart.hpp:#define KOKKOS_BOXELEMPART_HPP origin/develop:packages/trilinoscouplings/examples/fenl/CGSolve.hpp:#define KOKKOS_EXAMPLE_CG_SOLVE origin/develop:packages/trilinoscouplings/examples/fenl/HexElement.hpp:#define KOKKOS_HEXELEMENT_HPP origin/develop:packages/trilinoscouplings/examples/fenl/fenl.hpp:#define KOKKOS_EXAMPLE_FENL_HPP origin/develop:packages/trilinoscouplings/examples/fenl/fenl_ensemble.hpp:#define KOKKOS_EXAMPLE_FENL_ENSEMBLE_HPP origin/develop:packages/trilinoscouplings/examples/fenl/fenl_functors.hpp:#define KOKKOS_EXAMPLE_FENLFUNCTORS_HPP origin/develop:packages/trilinoscouplings/examples/fenl/fenl_functors_pce.hpp:#define KOKKOS_EXAMPLE_FENLFUNCTORS_PCE_HPP origin/develop:packages/trilinoscouplings/examples/fenl/fenl_impl.hpp:#define KOKKOS_EXAMPLE_FENL_IMPL_HPP ```

@trilinos/minitensor @trilinos/phalanx @trilinos/sacado @trilinos/shylu @trilinos/stokhos @trilinos/teuchos @trilinos/tpetra @trilinos/trilinoscouplings

As a simple change I can put in a PRs with simple replacement of KOKKOS_ prefix with the packages name in all caps as the prefix, unless package owners object and prefer a different convention for replacement in their respective packages

bartlettroscoe commented 2 years ago

Hello @ndellingwood, how will this impact downstream customers of Trilinos?

tasmith4 commented 2 years ago

Also @ndellingwood, it seems like most of these are actually include guards (in the Tpetra case, probably correctly named, since the files do have Kokkos in the name) -- do we really care about having include guards with Kokkos in the name, since they're unlikely to conflict with other Kokkos macros?

kyungjoo-kim commented 2 years ago

@ndellingwood done. plz review the PR #10716.

etphipp commented 2 years ago

Generally I am fine with this, although it is true that most of the Sacado and Stokhos instances of this are include guards (which we should quit using anyway and just use #pragma once).

lucbv commented 2 years ago

@bartlettroscoe if a customer is using a macro that is being renamed, they will get an error at compile time and will need to use the new name. @tasmith4 if Kokkos defines the macro and Tpetra's logic expects it to be undefined, you will have a logic error and probably a bug somewhere in your code...

bartlettroscoe commented 2 years ago

which we should quit using anyway and just use #pragma once

Is that official Trilinos policy? According to:

#pragma once is not necessarily available in all compilers and its implementation is tricky and might not always be reliable.

But it is mentioned in:

along with some of the boundary cases.

etphipp commented 2 years ago

Probably not, but I use it in another software library and have had no trouble with GNU, Clang, Intel, Nvidia, HIP, and Sycl compilers with it.

rppawlo commented 2 years ago

@ndellingwood - PR for phalanx is up at #10717 if you would like to review.

dalg24 commented 2 years ago

Also @ndellingwood, it seems like most of these are actually include guards (in the Tpetra case, probably correctly named, since the files do have Kokkos in the name) -- do we really care about having include guards with Kokkos in the name, since they're unlikely to conflict with other Kokkos macros?

We do care. Please rename any header guard KOKKOS_WHATEVER_HPP -> PACKAGE_NAME_KOKKOS_WHATEVER_HPP.

@ndellingwood do we have an issue to track files that are prefixed with Kokkos? We would like Kokkos[_]Whatever.hpp -> PackageName[_]Kokkos[_]Whatever.hpp KokkosKernels is the only package that gets a free pass (for now) We would like git ls-files | grep -E -v "packages/kokkos(-kernels)?/" | grep "/Kokkos[^/]*.[hc]pp" or similar to find no matches.

bartlettroscoe commented 2 years ago

Also @ndellingwood, it seems like most of these are actually include guards (in the Tpetra case, probably correctly named, since the files do have Kokkos in the name) -- do we really care about having include guards with Kokkos in the name, since they're unlikely to conflict with other Kokkos macros?

We do care. Please rename any header guard KOKKOS_WHATEVER_HPP -> PACKAGE_NAME_KOKKOS_WHATEVER_HPP.

@ndellingwood do we have an issue to track files that are prefixed with Kokkos? We would like Kokkos[_]Whatever.hpp -> PackageName[_]Kokkos[_]Whatever.hpp KokkosKernels is the only package that gets a free pass (for now) We would like git ls-files | grep -E -v "packages/kokkos(-kernels)?/" | grep "/Kokkos[^/]*.[hc]pp" or similar to find no matches.

There is a bunch of them:

$ find packages/ -type f -name "Kokkos*" | grep -v packages/kokkos | wc -l
83

and there are spread out over many packages including Belos, Compadre, Mulu, Sacado, STK, Stokhos, Teuchos and Tpetra.

csiefer2 commented 2 years ago

So is this a "deprecate" or a "just rename stuff" situation?

csiefer2 commented 1 year ago

Those PRs should fix all of the Tpetra-relevant portions of this issue.

dalg24 commented 1 year ago

Those PRs should fix all of the Tpetra-relevant portions of this issue.

See https://github.com/trilinos/Trilinos/pull/11465/files#r1069727173

PhilMiller commented 1 year ago

Here's a friendly shell snippet to do this search, along with its current output:

for i in $(ls packages | grep -v kokkos); do echo; echo $i; echo; git grep -o -E -h '^\s*#\s*define\s+KOKKOS[A-Za-z0-9_]+' packages/$i; done

(omitting the non-offenders)

minitensor (only defined if Kokkos isn't actually included)

#define KOKKOS_INLINE_FUNCTION

sacado (kinda grandfathered until the mdspan transition happens)

#define KOKKOS_EXPERIMENTAL_VIEW_SACADO_FAD_HPP
#define KOKKOS_IMPL_PUBLIC_INCLUDE
#define KOKKOS_IMPL_PUBLIC_INCLUDE_NOTDEFINED_CORE
#define KOKKOS_VIEW_DATA_ANALYSIS_SACADO_FAD
#define KOKKOS_EXPERIMENTAL_VIEW_SACADO_FAD_CONTIGUOUS_HPP
#define KOKKOS_DYN_RANK_VIEW_SACADO_FAD_HPP
#define KOKKOS_IMPL_PUBLIC_INCLUDE
#define KOKKOS_IMPL_PUBLIC_INCLUDE_NOTDEFINED_CORE
#define KOKKOS_DYN_RANK_VIEW_SACADO_FAD_CONTIGUOUS_HPP
#define KOKKOS_LAYOUT_CONTIGUOUS_HPP
#define KOKKOS_IMPL_PUBLIC_INCLUDE
#define KOKKOS_IMPL_PUBLIC_INCLUDE_NOTDEFINED_CORE
#define KOKKOS_LAYOUT_NATURAL_HPP
#define KOKKOS_IMPL_PUBLIC_INCLUDE
#define KOKKOS_IMPL_PUBLIC_INCLUDE_NOTDEFINED_CORE
#define KOKKOS_VIEW_FACTORY_HPP
#define KOKKOS_VIEW_FAD_HPP
#define KOKKOS_VIEW_FAD_FWD_HPP
#define KOKKOS_IMPL_PUBLIC_INCLUDE
#define KOKKOS_IMPL_PUBLIC_INCLUDE_NOTDEFINED_CORE
#define KOKKOS_EXAMPLE_BOXELEMFIXTURE_HPP
#define KOKKOS_BOXELEMPART_HPP
#define KOKKOS_HEXELEMENT_HPP
#define KOKKOS_EXAMPLE_FENLFUNCTORS_HPP
#define KOKKOS_EXAMPLE_BOXELEMFIXTURE_HPP
#define KOKKOS_BOXELEMPART_HPP
#define KOKKOS_HEXELEMENT_HPP
#define KOKKOS_EXAMPLE_FENLFUNCTORS_HPP

stokhos

#define KOKKOS_CUDA_SYMMETRIC_DIAGONAL_SPEC_HPP
#define KOKKOS_ANALYZE_STOKHOS_SHAPE_HPP
#define KOKKOS_VIEW_UTILS_HPP
#define KOKKOS_IMPL_PUBLIC_INCLUDE
#define KOKKOS_IMPL_PUBLIC_INCLUDE_NOTDEFINED_CORE
#define KOKKOS_VIEW_UTILS_DEF_HPP
#define KOKKOS_IMPL_PUBLIC_INCLUDE
#define KOKKOS_IMPL_PUBLIC_INCLUDE_NOTDEFINED_CORE
#define KOKKOS_EXPERIMENTAL_VIEW_UQ_PCE_CONTIGUOUS_HPP
#define KOKKOS_IMPL_PUBLIC_INCLUDE
#define KOKKOS_IMPL_PUBLIC_INCLUDE_NOTDEFINED_CORE
#define KOKKOS_ATOMIC_UQ_ATOMIC_HPP
#define KOKKOS_VIEW_UQ_PCE_HPP
#define KOKKOS_VIEW_UQ_PCE_FWD_HPP
#define KOKKOS_IMPL_PUBLIC_INCLUDE
#define KOKKOS_IMPL_PUBLIC_INCLUDE_NOTDEFINED_CORE
#define KOKKOS_VIEW_UQ_PCE_UTILS_HPP
#define KOKKOS_RANDOM_UQ_PCE_HPP
#define KOKKOS_ARITHTRAITS_UQ_PCE_HPP
#define KOKKOS_BLAS1_UQ_PCE_HPP
#define KOKKOS_CRSMATRIX_UQ_PCE_HPP
#define KOKKOS_CRSMATRIX_UQ_PCE_CUDA_HPP
#define KOKKOS_INNER_PRODUCT_SPACE_TRAITS_UQ_PCE_HPP
#define KOKKOS_MV_UQ_PCE_HPP
#define KOKKOS_TEUCHOS_COMM_ADAPTERS_UQ_PCE_HPP
#define KOKKOSBLAS2_GEMV_MP_VECTOR_HPP
#define KOKKOSBLAS3_GEMM_MP_VECTOR_HPP
#define KOKKOSBLAS_MP_VECTOR_HPP
#define KOKKOS_EXPERIMENTAL_VIEW_MP_VECTOR_CONTIGUOUS_HPP
#define KOKKOS_IMPL_PUBLIC_INCLUDE
#define KOKKOS_IMPL_PUBLIC_INCLUDE_NOTDEFINED_CORE
#define KOKKOS_ATOMIC_MP_VECTOR_HPP
#define KOKKOS_PARALLEL_MP_VECTOR_HPP
#define KOKKOS_VIEW_MP_VECTOR_HPP
#define KOKKOS_VIEW_MP_VECTOR_FWD_HPP
#define KOKKOS_IMPL_PUBLIC_INCLUDE
#define KOKKOS_IMPL_PUBLIC_INCLUDE_NOTDEFINED_CORE
#define KOKKOS_VIEW_MP_VECTOR_INTERLACED_HPP
#define KOKKOS_VIEW_MP_VECTOR_UTILS_HPP
#define KOKKOS_RANDOM_MP_VECTOR_HPP
#define KOKKOS_ARITHTRAITS_MP_VECTOR_HPP
#define KOKKOS_BLAS1_MP_VECTOR_HPP
#define KOKKOS_CRSMATRIX_MP_VECTOR_HPP
#define KOKKOS_CRSMATRIX_MP_VECTOR_CUDA_HPP
#define KOKKOS_INNER_PRODUCT_SPACE_TRAITS_MP_VECTOR_HPP
#define KOKKOS_MV_MP_VECTOR_HPP
#define KOKKOS_TEUCHOS_COMM_ADAPTERS_MP_VECTOR_HPP
#define KOKKOS_EXAMPLE_BOXELEMFIXTURE_HPP
#define KOKKOS_BOXELEMPART_HPP
#define KOKKOS_HEXELEMENT_HPP
#define KOKKOS_VECTORIMPORT_HPP
#define KOKKOS_EXAMPLE_FENLFUNCTORS_HPP
#define KOKKOS_EXAMPLE_BOXELEMFIXTURE_HPP
#define KOKKOS_BOXELEMPART_HPP
#define KOKKOS_HEXELEMENT_HPP
#define KOKKOS_VECTORIMPORT_HPP
#define KOKKOS_EXAMPLE_FENLFUNCTORS_HPP

teuchos

#define KOKKOSMPICOMM_CONFIG_H
#define KOKKOS_MPITYPETRAITS_HPP
#define KOKKOS_TEUCHOS_COMM_ADAPTERS_HPP
#define KOKKOSCOMPAT_TMM_HPP
#define KOKKOSCOMPAT_VIEW_HPP
#define KOKKOSCOMPAT_VIEW_DEF_HPP
#define KOKKOSCOMPAT_CONFIG_H

tpetra

#define KOKKOSCLASSIC_DEFAULTNODE_CONFIG_H

trilinoscouplings

#define KOKKOS_EXAMPLE_BELOS_SOLVE
#define KOKKOS_EXAMPLE_BOXELEMFIXTURE_HPP
#define KOKKOS_BOXELEMPART_HPP
#define KOKKOS_EXAMPLE_CG_SOLVE
#define KOKKOS_HEXELEMENT_HPP
#define KOKKOS_EXAMPLE_FENL_HPP
#define KOKKOS_EXAMPLE_FENL_ENSEMBLE_HPP
#define KOKKOS_EXAMPLE_FENLFUNCTORS_HPP
#define KOKKOS_EXAMPLE_FENLFUNCTORS_PCE_HPP
#define KOKKOS_EXAMPLE_FENL_IMPL_HPP
PhilMiller commented 1 year ago

With that, Phalanx and ShyLU can be untagged