Open ndellingwood opened 2 years ago
Hello @ndellingwood, how will this impact downstream customers of Trilinos?
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?
@ndellingwood done. plz review the PR #10716.
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
).
@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...
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.
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.
@ndellingwood - PR for phalanx is up at #10717 if you would like to review.
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.
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 likeKokkos[_]Whatever.hpp -> PackageName[_]Kokkos[_]Whatever.hpp
KokkosKernels is the only package that gets a free pass (for now) We would likegit 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.
So is this a "deprecate" or a "just rename stuff" situation?
Those PRs should fix all of the Tpetra-relevant portions of this issue.
Those PRs should fix all of the Tpetra-relevant portions of this issue.
See https://github.com/trilinos/Trilinos/pull/11465/files#r1069727173
KokkosFoo
Kokkos_Foo
(technically covered by the one above)
Kokkos::Foo
It is fine if you "own" Bar and prefixed any of those with Bar
or Bar_
KOKKOSFOO
KOKKOS_FOO
(same thing technically covered by the one above)
Same principle prefix it with BAR
or BAR_
KokkosFoo.hpp
Kokkos_Foo.hpp
SameHere'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
With that, Phalanx and ShyLU can be untagged
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