Skip to content

Commit 7c21955

Browse files
authored
Merge pull request #292 from sethrj/trilinos-14
Update to Trilinos 14
2 parents 3ae3c2c + c6f7678 commit 7c21955

14 files changed

+36
-30
lines changed

.jenkins

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ pipeline {
2222
filename "Dockerfile"
2323
dir "docker"
2424
args '-v /tmp/ccache:/tmp/ccache'
25+
additionalBuildArgs '--build-arg NPROC=4'
2526
label 'docker'
2627
}
2728
}

CMakeLists.txt

+1-6
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ set(CMAKE_CXX_EXTENSIONS OFF)
8686
#-----------------------------------------------------------------------------#
8787

8888
set(Kokkos_FIND_QUIETLY ON)
89-
find_package(Trilinos 13.0 REQUIRED MODULE
89+
find_package(Trilinos 14 REQUIRED MODULE
9090
COMPONENTS
9191
TeuchosCore TeuchosComm TeuchosNumerics TeuchosParameterList
9292
OPTIONAL_COMPONENTS
@@ -99,11 +99,6 @@ find_package(Trilinos 13.0 REQUIRED MODULE
9999
Amesos2 Ifpack2 MueLu
100100
)
101101

102-
set(Trilinos_COMPONENTS ${COMPONENTS_LIST})
103-
if("MPI" IN_LIST Trilinos_TPL_LIST)
104-
set(Trilinos_USE_MPI ON)
105-
endif()
106-
107102
set(ForTrilinos_USE_MPI "${Trilinos_USE_MPI}" CACHE BOOL
108103
"MPI status depends on the Trilinos installation in use" FORCE)
109104

cmake/FindTrilinos.cmake

+16-1
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,24 @@ if(Trilinos_Tpetra_FOUND AND PROJECT_NAME STREQUAL "ForTrilinos")
8282
endif()
8383
endif()
8484

85+
if(Trilinos_FOUND)
86+
set(Trilinos_COMPONENTS ${COMPONENTS_LIST})
87+
set(Trilinos_USE_MPI OFF)
88+
if(Trilinos_VERSION VERSION_GREATER_EQUAL 14.0)
89+
# Trilinos_TPL_LIST no longer gets exported :(
90+
if(Teuchos_MPI_EXEC)
91+
set(Trilinos_USE_MPI ON)
92+
endif()
93+
else()
94+
if("MPI" IN_LIST Trilinos_TPL_LIST)
95+
set(Trilinos_USE_MPI ON)
96+
endif()
97+
endif()
98+
endif()
99+
85100
find_package_handle_standard_args(
86101
Trilinos HANDLE_COMPONENTS
87-
REQUIRED_VARS Trilinos_INCLUDE_DIRS Trilinos_LIBRARY_DIRS Trilinos_LIBRARIES
102+
REQUIRED_VARS Trilinos_INCLUDE_DIRS Trilinos_LIBRARIES
88103
${_require_tpetra_inst}
89104
VERSION_VAR Trilinos_VERSION
90105
)

doc/install.rst

+1
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ in the committed version of the generated wrappers.
4343
=========== ============== ======================
4444
ForTrilinos Trilinos SWIG
4545
=========== ============== ======================
46+
2.3.0 14.0 4.1.1+fortran
4647
2.2.0 13.4 4.1.1+fortran
4748
2.1.0 13.2 4.1.0-dev1+fortran
4849
2.0.1 13.0:13.2 4.1.0-dev1+fortran

docker/Dockerfile

+6-6
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ ENV PATH=${CMAKE_DIR}/bin:$PATH
4747

4848
# Install Trilinos
4949
ENV TRILINOS_DIR=/opt/trilinos
50-
RUN TRILINOS_VERSION=13-4-1 && \
50+
RUN TRILINOS_VERSION=14-0-0 && \
5151
TRILINOS_URL=https://github.com/trilinos/Trilinos/archive/refs/tags/trilinos-release-${TRILINOS_VERSION}.tar.gz && \
5252
TRILINOS_ARCHIVE=trilinos-${TRILINOS_VERSION}.tar.gz && \
5353
SCRATCH_DIR=/scratch && mkdir -p ${SCRATCH_DIR} && cd ${SCRATCH_DIR} && \
@@ -83,11 +83,11 @@ RUN TRILINOS_VERSION=13-4-1 && \
8383
-D Trilinos_ENABLE_Epetra=OFF \
8484
-D Trilinos_ENABLE_Ifpack2=ON \
8585
-D Trilinos_ENABLE_Kokkos=ON \
86-
-D Kokkos_ENABLE_Serial=ON \
87-
-D Kokkos_ENABLE_OpenMP=OFF \
88-
-D Kokkos_ENABLE_Cuda=OFF \
89-
-D Kokkos_ENABLE_Cuda_UVM=ON \
90-
-D Kokkos_ENABLE_Cuda_Lambda=ON \
86+
-D Kokkos_ENABLE_SERIAL=ON \
87+
-D Kokkos_ENABLE_OPENMP=OFF \
88+
-D Kokkos_ENABLE_CUDA=OFF \
89+
-D Kokkos_ENABLE_CUDA_UVM=ON \
90+
-D Kokkos_ENABLE_CUDA_LAMBDA=ON \
9191
-D Kokkos_ARCH_VOLTA70=ON \
9292
-D Trilinos_ENABLE_MueLu=ON \
9393
-D Trilinos_ENABLE_NOX=ON \

src/fortpetra/ForTrilinos_DefaultNodeType.hpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#ifndef FORTRILINOS_DEFAULTNODETYPE_HPP
22
#define FORTRILINOS_DEFAULTNODETYPE_HPP
33

4-
#include <KokkosClassic_DefaultNode_config.h>
4+
#include <KokkosCompat_DefaultNode.hpp>
55

66
namespace ForTrilinos {
77
typedef typename TPETRA_DEFAULTNODE DefaultNodeType;

src/fortpetra/fortpetra.i

-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ struct DefaultNodeType {
2929
}
3030

3131
%{
32-
#include <Kokkos_DefaultNode.hpp>
3332
#include "fortpetra/ForTrilinos_DefaultNodeType.hpp"
3433
%}
3534
%inline %{

src/fortpetra/generated/fortpetra.F90

+6-8
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ module fortpetra
4242
public :: mag_type
4343
public :: norm_type
4444

45-
integer(C_INT), parameter, public :: TPETRA_THROWS_EFFICIENCY_WARNINGS = 0_C_INT
4645
integer(C_INT), parameter, public :: TPETRA_PRINTS_EFFICIENCY_WARNINGS = 0_C_INT
4746
integer(C_INT), parameter, public :: TPETRA_THROWS_ABUSE_WARNINGS = 0_C_INT
4847
integer(C_INT), parameter, public :: TPETRA_PRINTS_ABUSE_WARNINGS = 0_C_INT
@@ -75,7 +74,6 @@ module fortpetra
7574
end enum
7675
integer, parameter, public :: TpetraESweepDirection = kind(TpetraForward)
7776
public :: TpetraForward, TpetraBackward, TpetraSymmetric
78-
integer(C_INT), parameter, public :: TPETRA_USE_KOKKOS_DISTOBJECT = 0_C_INT
7977
! enum Tpetra::CombineMode
8078
enum, bind(c)
8179
enumerator :: TpetraADD
@@ -407,7 +405,7 @@ module fortpetra
407405
procedure, private :: swigf_TpetraCrsMatrix_sumIntoLocalValues__SWIG_2
408406
procedure :: setAllToScalar => swigf_TpetraCrsMatrix_setAllToScalar
409407
procedure :: scale => swigf_TpetraCrsMatrix_scale
410-
procedure, private :: swigf_TpetraCrsMatrix_setAllValues__SWIG_1
408+
procedure, private :: swigf_TpetraCrsMatrix_setAllValues__SWIG_2
411409
procedure :: globalAssemble => swigf_TpetraCrsMatrix_globalAssemble
412410
procedure, private :: swigf_TpetraCrsMatrix_resumeFill__SWIG_0
413411
procedure, private :: swigf_TpetraCrsMatrix_resumeFill__SWIG_1
@@ -473,7 +471,7 @@ module fortpetra
473471
procedure, private :: swigf_TpetraCrsMatrix_getGlobalRowCopy__SWIG_1
474472
procedure, private :: swigf_TpetraCrsMatrix_getLocalRowCopy__SWIG_1
475473
procedure, private :: swigf_TpetraCrsMatrix_op_assign__
476-
generic :: setAllValues => swigf_TpetraCrsMatrix_setAllValues__SWIG_1
474+
generic :: setAllValues => swigf_TpetraCrsMatrix_setAllValues__SWIG_2
477475
generic :: replaceLocalValues => swigf_TpetraCrsMatrix_replaceLocalValues__SWIG_1
478476
generic :: localApply => swigf_TpetraCrsMatrix_localApply__SWIG_0, swigf_TpetraCrsMatrix_localApply__SWIG_1, &
479477
swigf_TpetraCrsMatrix_localApply__SWIG_2, swigf_TpetraCrsMatrix_localApply__SWIG_3
@@ -3100,8 +3098,8 @@ subroutine swigc_TpetraCrsMatrix_scale(farg1, farg2) &
31003098
real(C_DOUBLE), intent(in) :: farg2
31013099
end subroutine
31023100

3103-
subroutine swigc_TpetraCrsMatrix_setAllValues__SWIG_1(farg1, farg2, farg3, farg4) &
3104-
bind(C, name="_wrap_TpetraCrsMatrix_setAllValues__SWIG_1")
3101+
subroutine swigc_TpetraCrsMatrix_setAllValues__SWIG_2(farg1, farg2, farg3, farg4) &
3102+
bind(C, name="_wrap_TpetraCrsMatrix_setAllValues__SWIG_2")
31053103
use, intrinsic :: ISO_C_BINDING
31063104
import :: swigarraywrapper
31073105
import :: swigclasswrapper
@@ -8308,7 +8306,7 @@ subroutine swigf_TpetraCrsMatrix_scale(self, alpha)
83088306
call swigc_TpetraCrsMatrix_scale(farg1, farg2)
83098307
end subroutine
83108308

8311-
subroutine swigf_TpetraCrsMatrix_setAllValues__SWIG_1(self, ptr, ind, val)
8309+
subroutine swigf_TpetraCrsMatrix_setAllValues__SWIG_2(self, ptr, ind, val)
83128310
use, intrinsic :: ISO_C_BINDING
83138311
class(TpetraCrsMatrix), intent(in) :: self
83148312
integer(C_SIZE_T), dimension(:), target :: ptr
@@ -8323,7 +8321,7 @@ subroutine swigf_TpetraCrsMatrix_setAllValues__SWIG_1(self, ptr, ind, val)
83238321
call SWIGTM_fin_size_t_Sb__SB_(ptr, farg2)
83248322
call SWIGTM_fin_int_Sb__SB_(ind, farg3)
83258323
call SWIGTM_fin_double_Sb__SB_(val, farg4)
8326-
call swigc_TpetraCrsMatrix_setAllValues__SWIG_1(farg1, farg2, farg3, farg4)
8324+
call swigc_TpetraCrsMatrix_setAllValues__SWIG_2(farg1, farg2, farg3, farg4)
83278325
end subroutine
83288326

83298327
subroutine swigf_TpetraCrsMatrix_globalAssemble(self)

src/fortpetra/generated/fortpetraFORTRAN_wrap.cxx

+1-2
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,6 @@ template <typename T> T SwigValueInit() {
354354
#define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),reinterpret_cast< void** >(a))
355355

356356

357-
#include <Kokkos_DefaultNode.hpp>
358357
#include "fortpetra/ForTrilinos_DefaultNodeType.hpp"
359358

360359

@@ -10288,7 +10287,7 @@ SWIGEXPORT void _wrap_TpetraCrsMatrix_scale(SwigClassWrapper *farg1, double cons
1028810287
}
1028910288

1029010289

10291-
SWIGEXPORT void _wrap_TpetraCrsMatrix_setAllValues__SWIG_1(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, SwigArrayWrapper *farg3, SwigArrayWrapper *farg4) {
10290+
SWIGEXPORT void _wrap_TpetraCrsMatrix_setAllValues__SWIG_2(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, SwigArrayWrapper *farg3, SwigArrayWrapper *farg4) {
1029210291
Tpetra::CrsMatrix< SC,LO,GO,NO > *arg1 = (Tpetra::CrsMatrix< SC,LO,GO,NO > *) 0 ;
1029310292
Teuchos::ArrayRCP< size_t > *arg2 = 0 ;
1029410293
Teuchos::ArrayRCP< int > *arg3 = 0 ;

src/fortrilinos_hl/eigen_handle.hpp

-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111

1212
#include <utility>
1313

14-
#include <Kokkos_DefaultNode.hpp>
1514
#include "fortpetra/ForTrilinos_DefaultNodeType.hpp"
1615

1716
#include <Teuchos_Comm.hpp>

src/fortrilinos_hl/fortrilinos_hl.i

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
%import "fortpetra/fortpetra.i"
1414

1515
%{
16-
#include <Kokkos_DefaultNode.hpp>
16+
#include <KokkosClassic_DefaultNode_config.h>
1717
#include "fortpetra/ForTrilinos_DefaultNodeType.hpp"
1818
%}
1919
%inline %{

src/fortrilinos_hl/generated/fortrilinos_hlFORTRAN_wrap.cxx

+1-1
Original file line numberDiff line numberDiff line change
@@ -355,7 +355,7 @@ template <typename T> T SwigValueInit() {
355355
#define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),reinterpret_cast< void** >(a))
356356

357357

358-
#include <Kokkos_DefaultNode.hpp>
358+
#include <KokkosClassic_DefaultNode_config.h>
359359
#include "fortpetra/ForTrilinos_DefaultNodeType.hpp"
360360

361361

src/fortrilinos_hl/solver_handle.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ TrilinosSolver::TrilinosSolver(const Teuchos::RCP<const Teuchos::Comm<int>>& com
6767
}
6868
#endif
6969
#if FORTRILINOS_USE_MUELU
70-
Stratimikos::enableMueLu<LO,GO,NO>(linearSolverBuilder);
70+
Stratimikos::enableMueLu<SC,LO,GO,NO>(linearSolverBuilder);
7171
#endif
7272

7373
linearSolverBuilder.setParameterList(paramList);

src/fortrilinos_hl/solver_handle.hpp

-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99

1010
#include "ForTrilinos_config.h"
1111

12-
#include <Kokkos_DefaultNode.hpp>
1312
#include "fortpetra/ForTrilinos_DefaultNodeType.hpp"
1413

1514
#include <Teuchos_Comm.hpp>

0 commit comments

Comments
 (0)