[Trilinos-Users] [EXTERNAL] Belos explicit instantiation question

Bradley, Andrew Michael ambradl at sandia.gov
Tue Oct 13 12:51:40 EDT 2015

Hi David,

Looks like there's a spurious 'e' in the second 'typedef'. Is that just from the copy-paste to email?

I'm not seeing anything else that's wrong, however. Could you send:

(1) The output from the Trilinos configuration when you have ETI ON? I'd like to see which types are instantiated.
(2) A main that fails so I can play around with it?


From: Trilinos-Users <trilinos-users-bounces at trilinos.org> on behalf of David Hysom <hysom1 at llnl.gov>
Sent: Tuesday, October 13, 2015 10:41 AM
To: trilinos-users at trilinos.org
Subject: [EXTERNAL] [Trilinos-Users] Belos explicit instantiation question


The below code-snippet  works fine if I compile with -D
however, if I compile with ON I get:

class "Tpetra::MultiVector<scalar_t={double}, local_ordinal_t={int},
global_ordinal_t={int}, node_t>" has no member

          return MV::this_type_is_missing_a_specialization();
detected during:
              instantiation of "ScalarType
Belos::UndefinedMultiVecTraits<ScalarType, MV>::notDefined() [with
ScalarType=scalar_t={double}, MV=mvec_t]" at line 223

Any idea why this is so? My code is taking ~seven minutes to compile,
and I *really* want to save time by enabling explicit instantiation.

thanks, David

code snippet:

RCP<Belos::SolverManager<scalar_t, mvec_t, operator_t> > solver =
solveFactory.create(solverType.c_str(), solverParams);

typedef double scalar_t;
typeedef int   local_ordinal_t;
typedef int   global_ordinal_t;
typedef Kokkos::OpenMPNode  node_t;
typedef Tpetra::MultiVector<scalar_t, local_ordinal_t, global_ordinal_t,
node_t>   mvec_t;
typedef Tpetra::Operator<scalar_t, local_ordinal_t, global_ordinal_t,
node_t> operator_t;

Trilinos-Users mailing list
Trilinos-Users at trilinos.org

More information about the Trilinos-Users mailing list