[Trilinos-Users] Tpetra::Global_Ordinal: Change from int to long

Hoemmen, Mark mhoemme at sandia.gov
Mon Mar 23 10:44:12 MDT 2015


Greetings!

If you have explicit template instantiation (ETI) enabled when building
Trilinos, you also need to tell Tpetra to enable explicit instantiation
for GlobalOrdinal = long.  You may do this by adding the CMake option
Tpetra_INST_INT_LONG:BOOL=ON when building Trilinos.  Be sure to delete
your CMakeCache.txt before doing this.

mfh

On 3/23/15, 9:14 AM, "trilinos-users-request at software.sandia.gov"
<trilinos-users-request at software.sandia.gov> wrote:
>   1. Tpetra::Global_Ordinal: Change from int to long (Sander Schaffner)
>
>----------------------------------------------------------------------
>
>Message: 1
>Date: Mon, 23 Mar 2015 11:54:56 +0100
>From: Sander Schaffner <ssander at student.ethz.ch>
>To: "trilinos-users at software.sandia.gov"
>	<trilinos-users at software.sandia.gov>
>Subject: [Trilinos-Users] Tpetra::Global_Ordinal: Change from int to
>	long
>Message-ID: <550FF100.2010502 at student.ethz.ch>
>Content-Type: text/plain; charset="utf-8"; format=flowed
>
>Hi
>
>I want to change the local ordinal from int to long (since I'm dealing
>with more than 3 billion entries). But since I have done so it can not
>compile anymore. There are many 'undefined reference' errors. The first
>few error lines are:
>
>/tmp/ccybun6a.o: In function
>`_ZN5Belos14MultiVecTraitsIdN6Tpetra11MultiVectorIdilN6Kokkos6Compat23Kokk
>osDeviceWrapperNodeINS3_6OpenMPEEELb0EEEE5CloneERKS8_i.constprop.3038':
>matrix_vector_mult.cpp:(.text+0x7313): undefined reference to
>`Tpetra::MultiVector<double, int, long,
>Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::OpenMP>,
>false>::MultiVector(Teuchos::RCP<Tpetra::Map<int, long,
>Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::OpenMP> > const> const&,
>unsigned long, bool)'
>/tmp/ccybun6a.o: In function `SetNewAuxVecs(int,
>Anasazi::Eigensolution<double, Tpetra::MultiVector<double, int, long,
>Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::OpenMP>, false> >&,
>Teuchos::RCP<Tpetra::MultiVector<double, int, long,
>Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::OpenMP>, false> >&,
>Teuchos::RCP<Tpetra::Map<int, long,
>Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::OpenMP> > const>&)':
>matrix_vector_mult.cpp:(.text+0x746b): undefined reference to
>`Tpetra::MultiVector<double, int, long,
>Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::OpenMP>,
>false>::getNumVectors() const'
>matrix_vector_mult.cpp:(.text+0x748f): undefined reference to
>`Tpetra::MultiVector<double, int, long,
>Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::OpenMP>,
>false>::MultiVector(Teuchos::RCP<Tpetra::Map<int, long,
>Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::OpenMP> > const> const&,
>unsigned long, bool)'
>matrix_vector_mult.cpp:(.text+0x74ac): undefined reference to
>`Tpetra::MultiVector<double, int, long,
>Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::OpenMP>,
>false>::getNumVectors() const'
>matrix_vector_mult.cpp:(.text+0x7525): undefined reference to
>`Tpetra::MultiVector<double, int, long,
>Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::OpenMP>,
>false>::getData(unsigned long) const'
>matrix_vector_mult.cpp:(.text+0x759c): undefined reference to
>`Tpetra::MultiVector<double, int, long,
>Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::OpenMP>,
>false>::replaceGlobalValue(long, unsigned long, double const&)'
>matrix_vector_mult.cpp:(.text+0x7651): undefined reference to
>`Tpetra::MultiVector<double, int, long,
>Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::OpenMP>,
>false>::getNumVectors() const'
>matrix_vector_mult.cpp:(.text+0x76b9): undefined reference to
>`Tpetra::MultiVector<double, int, long,
>Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::OpenMP>,
>false>::getData(unsigned long) const'
>matrix_vector_mult.cpp:(.text+0x772c): undefined reference to
>`Tpetra::MultiVector<double, int, long,
>Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::OpenMP>,
>false>::replaceGlobalValue(long, unsigned long, double const&)'
>/tmp/ccybun6a.o: In function
>`_ZN7Anasazi12Experimental15SaddleContainerIdN6Tpetra11MultiVectorIdilN6Ko
>kkos6Compat23KokkosDeviceWrapperNodeINS4_6OpenMPEEELb0EEEEC2EN7Teuchos3RCP
>IS9_EEb.constprop.3039':
>matrix_vector_mult.cpp:(.text+0x88d4): undefined reference to
>`Tpetra::MultiVector<double, int, long,
>Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::OpenMP>,
>false>::getNumVectors() const'
>/tmp/ccybun6a.o: In function
>`_ZN7Anasazi12Experimental15SaddleContainerIdN6Tpetra11MultiVectorIdilN6Ko
>kkos6Compat23KokkosDeviceWrapperNodeINS4_6OpenMPEEELb0EEEE7MvAddMvEdRKSA_d
>SC_.constprop.3044':
>matrix_vector_mult.cpp:(.text+0x9762): undefined reference to
>`Tpetra::MultiVector<double, int, long,
>Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::OpenMP>,
>false>::update(double const&, Tpetra::MultiVector<double, int, long,
>Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::OpenMP>, false> const&,
>double const&, Tpetra::MultiVector<double, int, long,
>Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::OpenMP>, false> const&,
>double const&)'
>/tmp/ccybun6a.o: In function
>`_ZN7Anasazi11SolverUtilsIdN6Tpetra11MultiVectorIdilN6Kokkos6Compat23Kokko
>sDeviceWrapperNodeINS3_6OpenMPEEELb0EEENS1_8OperatorIdilS7_EEE14permuteVec
>torsEiRKSt6vectorIiSaIiEERS8_PSC_IdSaIdEE.constprop.3080':
>matrix_vector_mult.cpp:(.text+0x9c6c): undefined reference to
>`Tpetra::MultiVector<double, int, long,
>Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::OpenMP>,
>false>::getNumVectors() const'
>matrix_vector_mult.cpp:(.text+0x9e09): undefined reference to
>`Tpetra::MultiVector<double, int, long,
>Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::OpenMP>,
>false>::update(double const&, Tpetra::MultiVector<double, int, long,
>Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::OpenMP>, false> const&,
>double const&, Tpetra::MultiVector<double, int, long,
>Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::OpenMP>, false> const&,
>double const&)'
>matrix_vector_mult.cpp:(.text+0x9e69): undefined reference to
>`Tpetra::MultiVector<double, int, long,
>Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::OpenMP>,
>false>::update(double const&, Tpetra::MultiVector<double, int, long,
>Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::OpenMP>, false> const&,
>double const&, Tpetra::MultiVector<double, int, long,
>Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::OpenMP>, false> const&,
>double const&)'
>
>Any ideas where the problem is and how to resolve this?



More information about the Trilinos-Users mailing list