@@ -614,7 +614,7 @@ list(APPEND build_list pugixml )
614614################################
615615if (ENABLE_TRILINOS)
616616 set (TRILINOS_DIR "${CMAKE_INSTALL_PREFIX} /trilinos" )
617- set (TRILINOS_URL "${TPL_MIRROR_DIR} /trilinos-release-12-18-1 .tar.gz" )
617+ set (TRILINOS_URL "${TPL_MIRROR_DIR} /trilinos-release-13-0-0 .tar.gz" )
618618
619619 message (STATUS "Building TRILINOS found at ${TRILINOS_URL} " )
620620
@@ -662,8 +662,30 @@ if (ENABLE_TRILINOS)
662662 endif ()
663663
664664 if ( ENABLE_CUDA )
665- set ( TRILINOS_CXX_FLAGS "${TRILINOS_CXX_FLAGS} -ccbin ${TRILINOS_CXX_COMPILER} -arch= ${CUDA_ARCH} - -expt-extended-lambda --expt-relaxed-constexpr" )
665+ set ( TRILINOS_CXX_FLAGS "${TRILINOS_CXX_FLAGS} -ccbin ${TRILINOS_CXX_COMPILER} --expt-extended-lambda --expt-relaxed-constexpr" )
666666 set ( TRILINOS_CXX_COMPILER ${CMAKE_CURRENT_BINARY_DIR} /trilinos/src/trilinos/packages/kokkos/bin/nvcc_wrapper )
667+
668+ # Handle Kokkos_ARCH settings
669+ set ( _KOKKOS_ARCH_sm_30 Kepler30 )
670+ set ( _KOKKOS_ARCH_sm_32 Kepler32 )
671+ set ( _KOKKOS_ARCH_sm_35 Kepler35 )
672+ set ( _KOKKOS_ARCH_sm_37 Kepler37 )
673+ set ( _KOKKOS_ARCH_sm_50 Maxwell50 )
674+ set ( _KOKKOS_ARCH_sm_52 Maxwell52 )
675+ set ( _KOKKOS_ARCH_sm_53 Maxwell53 )
676+ set ( _KOKKOS_ARCH_sm_60 Pascal60 )
677+ set ( _KOKKOS_ARCH_sm_61 Pascal61 )
678+ set ( _KOKKOS_ARCH_sm_70 Volta70 )
679+ set ( _KOKKOS_ARCH_sm_72 Volta72 )
680+ set ( _KOKKOS_ARCH_sm_75 Turing75 )
681+
682+ if ( NOT DEFINED _KOKKOS_ARCH_${CUDA_ARCH} )
683+ message (FATAL_ERROR "Unable to determine Kokkos_ARCH from CUDA_ARCH=${CUDA_ARCH} " )
684+ endif ()
685+ set ( KOKKOS_ARCH ${_KOKKOS_ARCH_${CUDA_ARCH} } )
686+ set ( TRILINOS_EXTRA_ARGS ${TRILINOS_EXTRA_ARGS}
687+ -D Kokkos_ARCH_${KOKKOS_ARCH} :BOOL =ON )
688+
667689 endif ()
668690
669691 set ( TRILINOS_ENABLE_SERIAL ON )
@@ -722,9 +744,9 @@ if (ENABLE_TRILINOS)
722744 -D Trilinos_ENABLE_TrilinosCouplings:BOOL=OFF
723745 -D Trilinos_ENABLE_EXPLICIT_INSTANTIATION:BOOL=ON
724746 -D Trilinos_ENABLE_COMPLEX_DOUBLE:BOOL=OFF
725- -D KOKKOS_ENABLE_CUDA :BOOL=${ENABLE_CUDA}
726- -D KOKKOS_ENABLE_CUDA_LAMBDA :BOOL=${ENABLE_CUDA}
727- -D KOKKOS_ENABLE_CUDA_UVM :BOOL=${ENABLE_CUDA}
747+ -D Kokkos_ENABLE_CUDA :BOOL=${ENABLE_CUDA}
748+ -D Kokkos_ENABLE_CUDA_LAMBDA :BOOL=${ENABLE_CUDA}
749+ -D Kokkos_ENABLE_CUDA_UVM :BOOL=${ENABLE_CUDA}
728750 -D Tpetra_ENABLE_CUDA:BOOL=${ENABLE_CUDA}
729751 -D Tpetra_INST_SERIAL:BOOL=${TRILINOS_ENABLE_SERIAL}
730752 -D Tpetra_INST_INT_LONG_LONG:BOOL=ON
@@ -734,7 +756,7 @@ if (ENABLE_TRILINOS)
734756 -D Belos_ENABLE_Tpetra:BOOL=ON
735757 -D Belos_ENABLE_Epetra:BOOL=OFF
736758 -D Belos_ENABLE_Xpetra:BOOL=OFF
737- -D Ifpack2_ENABLE_ThyraTpetraAdapters:BOOL=OFF
759+ -D Ifpack2_ENABLE_ThyraTpetraAdapters:BOOL=ON
738760 -D Amesos2_ENABLE_TIMERS:BOOL=ON
739761 ${TRILINOS_EXTRA_ARGS}
740762 )
0 commit comments