Xpetra: import/exportAndFillCompleteCrsMatrix
Created by: marchdf
My current build of Trilinos breaks on the following error
[ 29%] Building CXX object packages/xpetra/sup/CMakeFiles/xpetra-sup.dir/Matrix/Xpetra_MatrixFactory.cpp.o
In file included from /home/mhenryde/nalu-dist/Trilinos/packages/xpetra/src/CrsMatrix/Xpetra_CrsMatrixFactory.hpp:54:0,
from /home/mhenryde/nalu-dist/Trilinos/packages/xpetra/sup/Matrix/Xpetra_Matrix.hpp:60,
from /home/mhenryde/nalu-dist/Trilinos/packages/xpetra/sup/Matrix/Xpetra_MatrixFactory.hpp:54,
from /home/mhenryde/nalu-dist/Trilinos/packages/xpetra/sup/Matrix/Xpetra_MatrixFactory.cpp:50:
/home/mhenryde/nalu-dist/Trilinos/packages/xpetra/src/CrsMatrix/Xpetra_TpetraCrsMatrix.hpp: In instantiation of ‘Xpetra::TpetraCrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node>::TpetraCrsMatrix(const Teuchos::RCP<const Xpetra::CrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node> >&, const Xpetra::Import<LocalOrdinal, GlobalOrdinal, Node>&, Teuchos::RCP<const Xpetra::Import<LocalOrdinal, GlobalOrdinal, Node> >, const Teuchos::RCP<const Xpetra::Map<LocalOrdinal, GlobalOrdinal, Node> >&, const Teuchos::RCP<const Xpetra::Map<LocalOrdinal, GlobalOrdinal, Node> >&, const Teuchos::RCP<Teuchos::ParameterList>&) [with Scalar = double; LocalOrdinal = int; GlobalOrdinal = int; Node = Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial>]’:
/home/mhenryde/nalu-dist/Trilinos/packages/xpetra/src/CrsMatrix/Xpetra_CrsMatrixFactory.hpp:392:149: required from here
/home/mhenryde/nalu-dist/Trilinos/packages/xpetra/src/CrsMatrix/Xpetra_TpetraCrsMatrix.hpp:175:69: error: no matching function for call to ‘importAndFillCompleteCrsMatrix(Teuchos::RCP<const Tpetra::CrsMatrix<double, int, int, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial>, false> >, const Tpetra::Import<int, int, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial> >&, const Tpetra::Import<int, int, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial> >&, Teuchos::RCP<const Tpetra::Map<int, int, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial> > >&, Teuchos::RCP<const Tpetra::Map<int, int, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial> > >&, const Teuchos::RCP<Teuchos::ParameterList>&)’
mtx_=Tpetra::importAndFillCompleteCrsMatrix<MyTpetraCrsMatrix>(tSourceMatrix.getTpetra_CrsMatrix(),toTpetra(RowImporter),toTpetra(*DomainImporter),myDomainMap,myRangeMap,params);
^
In file included from /home/mhenryde/nalu-build/include/Tpetra_CrsMatrix.hpp:1:0,
from /home/mhenryde/nalu-dist/Trilinos/packages/xpetra/src/CrsMatrix/Xpetra_TpetraCrsMatrix.hpp:57,
from /home/mhenryde/nalu-dist/Trilinos/packages/xpetra/src/CrsMatrix/Xpetra_CrsMatrixFactory.hpp:54,
from /home/mhenryde/nalu-dist/Trilinos/packages/xpetra/sup/Matrix/Xpetra_Matrix.hpp:60,
from /home/mhenryde/nalu-dist/Trilinos/packages/xpetra/sup/Matrix/Xpetra_MatrixFactory.hpp:54,
from /home/mhenryde/nalu-dist/Trilinos/packages/xpetra/sup/Matrix/Xpetra_MatrixFactory.cpp:50:
/home/mhenryde/nalu-build/include/Tpetra_CrsMatrix_decl.hpp:4058:3: note: candidate: template<class CrsMatrixType> Teuchos::RCP<T1> Tpetra::importAndFillCompleteCrsMatrix(const Teuchos::RCP<const T>&, const Tpetra::Import<typename CrsMatrixType::local_ordinal_type, typename CrsMatrixType::global_ordinal_type, typename CrsMatrixType::node_type>&, const Teuchos::RCP<const Tpetra::Map<typename DistObjectType::local_ordinal_type, typename DistObjectType::global_ordinal_type, typename DistObjectType::node_type> >&, const Teuchos::RCP<const Tpetra::Map<typename DistObjectType::local_ordinal_type, typename DistObjectType::global_ordinal_type, typename DistObjectType::node_type> >&, const Teuchos::RCP<Teuchos::ParameterList>&)
importAndFillCompleteCrsMatrix (const Teuchos::RCP<const CrsMatrixType>& sourceMatrix,
^
/home/mhenryde/nalu-build/include/Tpetra_CrsMatrix_decl.hpp:4058:3: note: template argument deduction/substitution failed:
In file included from /home/mhenryde/nalu-dist/Trilinos/packages/xpetra/src/CrsMatrix/Xpetra_CrsMatrixFactory.hpp:54:0,
from /home/mhenryde/nalu-dist/Trilinos/packages/xpetra/sup/Matrix/Xpetra_Matrix.hpp:60,
from /home/mhenryde/nalu-dist/Trilinos/packages/xpetra/sup/Matrix/Xpetra_MatrixFactory.hpp:54,
from /home/mhenryde/nalu-dist/Trilinos/packages/xpetra/sup/Matrix/Xpetra_MatrixFactory.cpp:50:
/home/mhenryde/nalu-dist/Trilinos/packages/xpetra/src/CrsMatrix/Xpetra_TpetraCrsMatrix.hpp:175:69: note: cannot convert ‘Xpetra::toTpetra<int, int, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial> >((* & DomainImporter.Teuchos::RCP<T>::operator*<const Xpetra::Import<int, int, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial> > >()))’ (type ‘const Tpetra::Import<int, int, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial> >’) to type ‘const Teuchos::RCP<const Tpetra::Map<int, int, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial> > >&’
mtx_=Tpetra::importAndFillCompleteCrsMatrix<MyTpetraCrsMatrix>(tSourceMatrix.getTpetra_CrsMatrix(),toTpetra(RowImporter),toTpetra(*DomainImporter),myDomainMap,myRangeMap,params);
^
/home/mhenryde/nalu-dist/Trilinos/packages/xpetra/src/CrsMatrix/Xpetra_TpetraCrsMatrix.hpp: In instantiation of ‘Xpetra::TpetraCrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node>::TpetraCrsMatrix(const Teuchos::RCP<const Xpetra::CrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node> >&, const Xpetra::Export<LocalOrdinal, GlobalOrdinal, Node>&, Teuchos::RCP<const Xpetra::Export<LocalOrdinal, GlobalOrdinal, Node> >, const Teuchos::RCP<const Xpetra::Map<LocalOrdinal, GlobalOrdinal, Node> >&, const Teuchos::RCP<const Xpetra::Map<LocalOrdinal, GlobalOrdinal, Node> >&, const Teuchos::RCP<Teuchos::ParameterList>&) [with Scalar = double; LocalOrdinal = int; GlobalOrdinal = int; Node = Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial>]’:
/home/mhenryde/nalu-dist/Trilinos/packages/xpetra/src/CrsMatrix/Xpetra_CrsMatrixFactory.hpp:413:149: required from here
/home/mhenryde/nalu-dist/Trilinos/packages/xpetra/src/CrsMatrix/Xpetra_TpetraCrsMatrix.hpp:196:69: error: no matching function for call to ‘exportAndFillCompleteCrsMatrix(Teuchos::RCP<const Tpetra::CrsMatrix<double, int, int, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial>, false> >, const Tpetra::Export<int, int, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial> >&, const Tpetra::Export<int, int, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial> >&, Teuchos::RCP<const Tpetra::Map<int, int, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial> > >&, Teuchos::RCP<const Tpetra::Map<int, int, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial> > >&, const Teuchos::RCP<Teuchos::ParameterList>&)’
mtx_=Tpetra::exportAndFillCompleteCrsMatrix<MyTpetraCrsMatrix>(tSourceMatrix.getTpetra_CrsMatrix(),toTpetra(RowExporter),toTpetra(*DomainExporter),myDomainMap,myRangeMap,params);
^
In file included from /home/mhenryde/nalu-build/include/Tpetra_CrsMatrix.hpp:1:0,
from /home/mhenryde/nalu-dist/Trilinos/packages/xpetra/src/CrsMatrix/Xpetra_TpetraCrsMatrix.hpp:57,
from /home/mhenryde/nalu-dist/Trilinos/packages/xpetra/src/CrsMatrix/Xpetra_CrsMatrixFactory.hpp:54,
from /home/mhenryde/nalu-dist/Trilinos/packages/xpetra/sup/Matrix/Xpetra_Matrix.hpp:60,
from /home/mhenryde/nalu-dist/Trilinos/packages/xpetra/sup/Matrix/Xpetra_MatrixFactory.hpp:54,
from /home/mhenryde/nalu-dist/Trilinos/packages/xpetra/sup/Matrix/Xpetra_MatrixFactory.cpp:50:
/home/mhenryde/nalu-build/include/Tpetra_CrsMatrix_decl.hpp:4110:3: note: candidate: template<class CrsMatrixType> Teuchos::RCP<T1> Tpetra::exportAndFillCompleteCrsMatrix(const Teuchos::RCP<const T>&, const Tpetra::Export<typename CrsMatrixType::local_ordinal_type, typename CrsMatrixType::global_ordinal_type, typename CrsMatrixType::node_type>&, const Teuchos::RCP<const Tpetra::Map<typename DistObjectType::local_ordinal_type, typename DistObjectType::global_ordinal_type, typename DistObjectType::node_type> >&, const Teuchos::RCP<const Tpetra::Map<typename DistObjectType::local_ordinal_type, typename DistObjectType::global_ordinal_type, typename DistObjectType::node_type> >&, const Teuchos::RCP<Teuchos::ParameterList>&)
exportAndFillCompleteCrsMatrix (const Teuchos::RCP<const CrsMatrixType>& sourceMatrix,
^
/home/mhenryde/nalu-build/include/Tpetra_CrsMatrix_decl.hpp:4110:3: note: template argument deduction/substitution failed:
In file included from /home/mhenryde/nalu-dist/Trilinos/packages/xpetra/src/CrsMatrix/Xpetra_CrsMatrixFactory.hpp:54:0,
from /home/mhenryde/nalu-dist/Trilinos/packages/xpetra/sup/Matrix/Xpetra_Matrix.hpp:60,
from /home/mhenryde/nalu-dist/Trilinos/packages/xpetra/sup/Matrix/Xpetra_MatrixFactory.hpp:54,
from /home/mhenryde/nalu-dist/Trilinos/packages/xpetra/sup/Matrix/Xpetra_MatrixFactory.cpp:50:
/home/mhenryde/nalu-dist/Trilinos/packages/xpetra/src/CrsMatrix/Xpetra_TpetraCrsMatrix.hpp:196:69: note: cannot convert ‘Xpetra::toTpetra<int, int, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial> >((* & DomainExporter.Teuchos::RCP<T>::operator*<const Xpetra::Export<int, int, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial> > >()))’ (type ‘const Tpetra::Export<int, int, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial> >’) to type ‘const Teuchos::RCP<const Tpetra::Map<int, int, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial> > >&’
mtx_=Tpetra::exportAndFillCompleteCrsMatrix<MyTpetraCrsMatrix>(tSourceMatrix.getTpetra_CrsMatrix(),toTpetra(RowExporter),toTpetra(*DomainExporter),myDomainMap,myRangeMap,params);
^
make[2]: *** [packages/xpetra/sup/CMakeFiles/xpetra-sup.dir/Matrix/Xpetra_MatrixFactory.cpp.o] Error 1
make[1]: *** [packages/xpetra/sup/CMakeFiles/xpetra-sup.dir/all] Error 2
make: *** [all] Error 2
I tried the master (hash: f0350316) and develop (hash: d2e490d3) branches.
I am using GCC 5.2 and openmpi on NREL's Peregrine machine. This same build/config worked two weeks ago. This is my cmake line:
cmake \
-DCMAKE_INSTALL_PREFIX=$trilinos_install_dir \
-DTrilinos_ENABLE_CXX11=ON \
-DCMAKE_BUILD_TYPE=RELEASE \
-DTrilinos_ENABLE_EXPLICIT_INSTANTIATION:BOOL=ON \
-DTpetra_INST_DOUBLE:BOOL=ON \
-DTpetra_INST_INT_LONG:BOOL=ON \
-DTpetra_INST_COMPLEX_DOUBLE=OFF \
-DTrilinos_ENABLE_TESTS:BOOL=OFF \
-DTrilinos_ENABLE_ALL_OPTIONAL_PACKAGES=OFF \
-DTrilinos_ALLOW_NO_PACKAGES:BOOL=OFF \
-DTPL_ENABLE_MPI=ON \
-DMPI_BASE_DIR:PATH=$mpi_base_dir \
-DTPL_ENABLE_SuperLU=ON \
-DSuperLU_INCLUDE_DIRS:PATH=$superlu_inc_dir \
-DSuperLU_LIBRARY_DIRS:PATH=$superlu_lib_dir \
-DTrilinos_ENABLE_Epetra:BOOL=ON \
-DTrilinos_ENABLE_Tpetra:BOOL=ON \
-DTrilinos_ENABLE_ML:BOOL=ON \
-DTrilinos_ENABLE_MueLu:BOOL=ON \
-DTrilinos_ENABLE_EpetraExt:BOOL=ON \
-DTrilinos_ENABLE_AztecOO:BOOL=ON \
-DTrilinos_ENABLE_Belos:BOOL=ON \
-DTrilinos_ENABLE_Ifpack2:BOOL=ON \
-DTrilinos_ENABLE_Amesos2:BOOL=ON \
-DTrilinos_ENABLE_Zoltan2:BOOL=ON \
-DTrilinos_ENABLE_Ifpack:BOOL=ON \
-DTrilinos_ENABLE_Amesos:BOOL=ON \
-DTrilinos_ENABLE_Zoltan:BOOL=ON \
-DTrilinos_ENABLE_STKMesh:BOOL=ON \
-DTrilinos_ENABLE_STKIO:BOOL=ON \
-DTrilinos_ENABLE_STKTransfer:BOOL=ON \
-DTrilinos_ENABLE_STKSearch:BOOL=ON \
-DTrilinos_ENABLE_STKUtil:BOOL=ON \
-DTrilinos_ENABLE_STKTopology:BOOL=ON \
-DTrilinos_ENABLE_STKUnit_test_utils=OFF \
-DTrilinos_ENABLE_Gtest:BOOL=ON \
-DTrilinos_ENABLE_STKClassic:BOOL=OFF \
-DTrilinos_ENABLE_SEACASExodus:BOOL=ON \
-DTrilinos_ENABLE_SEACASEpu:BOOL=ON \
-DTrilinos_ENABLE_SEACASExodiff:BOOL=ON \
-DTrilinos_ENABLE_SEACASNemspread:BOOL=ON \
-DTrilinos_ENABLE_SEACASNemslice:BOOL=ON \
-DTPL_ENABLE_Netcdf:STRING=ON \
-DTPL_Netcdf_LIBRARIES:PATH="${netcdf_install_dir}/lib/libnetcdf.a;${parallel_netcdf_install_dir}/lib/libpnetcdf.a;${hdf_install_dir}/lib/libhdf5_hl.a;${hdf_install_dir}/lib/libhdf5.a;${z_install_dir}/lib/libz.a" \
-DNetcdf_INCLUDE_DIRS:PATH="${netcdf_install_dir}/include;${parallel_netcdf_install_dir}/include" \
-DNetcdf_LIBRARY_DIRS:PATH="${netcdf_install_dir}/lib;${parallel_netcdf_install_dir}/lib" \
-DTPL_ENABLE_HDF5:STRING=ON \
-DHDF5_INCLUDE_DIRS:PATH="${hdf_install_dir}/include" \
-DTPL_HDF5_LIBRARIES:PATH="${hdf_install_dir}/lib/libhdf5_hl.a;${hdf_install_dir}/lib/libhdf5.a;${z_install_dir}/lib/libz.a" \
-DTPL_ENABLE_Zlib:STRING=ON \
-DZlib_INCLUDE_DIRS:PATH="${z_install_dir}/include" \
-DTPL_Zlib_LIBRARIES:PATH="${z_install_dir}/lib/libz.a" \
-DTPL_Netcdf_Enables_Netcdf4:BOOL=TRUE \
-DTPL_Netcdf_PARALLEL:BOOL=ON \
-DBoostLib_INCLUDE_DIRS:PATH="$boost_dir/include" \
-DBoostLib_LIBRARY_DIRS:PATH="$boost_dir/lib" \
-DTrilinos_ASSERT_MISSING_PACKAGES=OFF \
-DLAPACK_LIBRARY_DIRS=/nopt/nrel/apps/lapack/3.4.2-gcc \
$EXTRA_ARGS \
../