Trilinos issueshttps://gitlab.osti.gov/jmwille/Trilinos/-/issues2018-05-15T14:40:20Zhttps://gitlab.osti.gov/jmwille/Trilinos/-/issues/2743Epetra: Epetra_IntMultiVectorDistributed_test failing in nightly clean build2018-05-15T14:40:20ZJames WillenbringEpetra: Epetra_IntMultiVectorDistributed_test failing in nightly clean build*Created by: william76*
<!---
Provide a general summary of the issue in the Title above. If this issue
pertains to a particular package in Trilinos, it's worthwhile to start the
title with "PackageName: ".
-->
@trilinos/epetra
...*Created by: william76*
<!---
Provide a general summary of the issue in the Title above. If this issue
pertains to a particular package in Trilinos, it's worthwhile to start the
title with "PackageName: ".
-->
@trilinos/epetra
The test [Epetra_IntMultiVectorDistributed](https://testing-vm.sandia.gov/cdash/testDetails.php?test=46495883&build=3509186) is failing on nightly Clean testing.
### Test output
```
Epetra in Trilinos 12.13 (Dev)
Processor 0 of 1 is alive.
Non zero error code 1, file: /scratch/trilinos/workspace/trilinos-folder/Trilinos_generic_nightly@2/SERIAL_Release_gcc_4.9.3__DEV/Trilinos/packages/epetra/test/IntMultiVectorDistributed/cxx_main.cpp, line: 168
Non zero error code 1, file: /scratch/trilinos/workspace/trilinos-folder/Trilinos_generic_nightly@2/SERIAL_Release_gcc_4.9.3__DEV/Trilinos/packages/epetra/test/IntMultiVectorDistributed/cxx_main.cpp, line: 170
Non zero error code 1, file: /scratch/trilinos/workspace/trilinos-folder/Trilinos_generic_nightly@2/SERIAL_Release_gcc_4.9.3__DEV/Trilinos/packages/epetra/test/IntMultiVectorDistributed/cxx_main.cpp, line: 172
```
@lucbv had the most recent commit to [epetra/test/IntMultiVectorDistributed/cxx_main.cpp](https://github.com/trilinos/Trilinos/blob/develop/packages/epetra/test/IntMultiVectorDistributed/cxx_main.cpp). https://gitlab.osti.gov/jmwille/Trilinos/-/issues/2522Xpetra::CrsMatrix::doImport() fails with Negative count into MPI_Send2018-04-24T22:39:06ZJames WillenbringXpetra::CrsMatrix::doImport() fails with Negative count into MPI_Send*Created by: SG38*
The MPI_Send() has a Negative count when importing big data set of a matrix ; same issue with MultiVector and CrsMatrix. When distributing the matrix with an import of the SerialMatrix rows:
_RCP<Xpetra::Import<SOL...*Created by: SG38*
The MPI_Send() has a Negative count when importing big data set of a matrix ; same issue with MultiVector and CrsMatrix. When distributing the matrix with an import of the SerialMatrix rows:
_RCP<Xpetra::Import<SOL_LO, SOL_GO, SOL_EPETRA_TYPE> > importer = Xpetra::ImportFactory<SOL_LO, SOL_GO, SOL_EPETRA_TYPE>::Build(SerialMap, DistributedMap);_
_DistributedMatrix->doImport(*SerialMatrix, *importer, Xpetra::INSERT);_
It throws:
> Fatal error in MPI_Send: Invalid count, error stack:
> MPI_Send(201): MPI_Send(buf=0x7ffb33824100, count=-2131745804, MPI_CHAR, dest=1, tag=1, MPI_COMM_WORLD) failed
> MPI_Send(117): Negative count, value is -2131745804
Configuration is:
(1) Trilinos 12.12.1
Linux 64 bits
(2) CMakeCache:
- Tpetra_INST_INT_LONG_LONG:BOOL=ON
- HAVE_TEUCHOS_LONG_LONG_INT:INTERNAL=ON
- HAVE_TEUCHOS___INT64:INTERNAL=1
(3) program:
- Xpetra::UseTpetra
- Xpetra::CrsMatrix<int, signed long long, KokkosClassic::DefaultNode::DefaultNodeType>
- Teuchos::Comm< int > comm;
@trilinos/Teuchos
To be honest, I do not understand the source code of the Teuchos communicator. More precisely, i do not find any source code where the _send_ counter would be a long long. Is there a way to distribute big matrices?
Thank you in advance,
https://gitlab.osti.gov/jmwille/Trilinos/-/issues/2356Blocked Thyra to Epetra Conversion2018-04-06T15:12:59ZJames WillenbringBlocked Thyra to Epetra Conversion*Created by: jmgate*
@trilinos/epetra, @trilinos/thyra
## Scenario
I have a matrix, A, and vector, x. A is a 2x2 `Thyra::BlockedLinearOpBase`, where A00 is a `Thyra::LinearOpBase` and the other blocks are `Thyra::MultiVectorBase`s....*Created by: jmgate*
@trilinos/epetra, @trilinos/thyra
## Scenario
I have a matrix, A, and vector, x. A is a 2x2 `Thyra::BlockedLinearOpBase`, where A00 is a `Thyra::LinearOpBase` and the other blocks are `Thyra::MultiVectorBase`s. Likewise, x is a `Thyra::ProductVectorBase` with two sub-vectors. I'm in a situation where I need to make A an `Epetra_CrsMatrix` and x an `Epetra_Vector`, but I'm at a bit of a loss to do just that. I see Thyra has a `get_Epetra_Vector()` routine, but that requires passing in an `Epetra_Map`. I see there's also a `get_Epetra_Map()` routine, which takes a `Thyra::VectorSpaceBase`, but if you give it a `DefaultProductVectorSpace` instead, it doesn't seem to work (I'm seeing `MPI_Abort` being called).
## Questions
* Is there a way to convert the objects that I have to the ones that I need directly?
* Is there a way to cram a `BlockedLinearOpBase` into a single `MultiVectorBase` and a `ProductVectorBase` into a single `VectorBase`, such that these Epetra/Thyra wrappers work?
* If I'm able to convert the various pieces of my blocked objects into their Epetra counterparts, is there some way to cram four `Epetra_CrsMatrix`es into one, and two `Epetra_Vector`s into one?
## Motivation and Context
In Charon I've got a `ModelEvaluator` decorator that takes the original physics `ModelEvaluator` and augments it with blocks corresponding to constraints/parameters. Solving the blocked system via a Teko blocked preconditioner is proving to be more finicky than we'd like in certain situations, so we're investigating collapsing the blocked system and throwing a standard solver at it to see what happens.
## Additional Information
@mhoemmen, this seems like the kind of thing you'd chime in on.https://gitlab.osti.gov/jmwille/Trilinos/-/issues/2448CEpetra_LAPACK: "no matching function for call to Epetra_LAPACK::GGSVD" with ...2018-03-31T15:59:25ZJames WillenbringCEpetra_LAPACK: "no matching function for call to Epetra_LAPACK::GGSVD" with HAVE_EPETRA_LAPACK_GSSVD3*Created by: edmondac*
I'm trying to build Trilinos but get the following error:
```
<PATH>/trilinos-12.12.1-Source/packages/CTrilinos/src/epetra/CEpetra_LAPACK.cpp: In function ‘void Epetra_LAPACK_GGSVD_double(CT_Epetra_LAPACK_ID_...*Created by: edmondac*
I'm trying to build Trilinos but get the following error:
```
<PATH>/trilinos-12.12.1-Source/packages/CTrilinos/src/epetra/CEpetra_LAPACK.cpp: In function ‘void Epetra_LAPACK_GGSVD_double(CT_Epetra_LAPACK_ID_t, char, char, char, i nt, int, int, int*, int*, double*, int, double*, int, double*, double*, double*, int, double*, int, double*, int, double*, int*, int*)’:
<PATH>/trilinos-12.12.1-Source/packages/CTrilinos/src/epetra/CEpetra_LAPACK.cpp:612:76: error: no matching function for call to ‘Epetra_LAPACK::GGSVD(const char&, const char&, const char&, const int&, const int&, const int&, int*&, int*&, double*&, const int&, double*&, const int&, double*&, double*&, double*&, const int&, double*&, const int&, double*&, const int&, double*&, int*&, int*&) const’
LDA, B, LDB, ALPHA, BETA, U, LDU, V, LDV, Q, LDQ, WORK, IWORK, INFO);
^
In file included from <PATH>/trilinos-12.12.1-Source/packages/CTrilinos/src/epetra/CEpetra_LAPACK_Cpp.hpp:52:0,
from <PATH>/trilinos-12.12.1-Source/packages/CTrilinos/src/epetra/CEpetra_LAPACK.cpp:50:
<PATH>/trilinos-12.12.1-Source/packages/epetra/src/Epetra_LAPACK.h:279:8: note: candidate: void Epetra_LAPACK::GGSVD(char, char, char, int, int, int, int*, int*, double *, int, double*, int, double*, double*, double*, int, double*, int, double*, int, double*, int, int*, int*) const
void GGSVD(const char JOBU, const char JOBV, const char JOBQ, const int M, const int N, const int P, int * K, int * L, double* A, const int LDA, double* B, const int LDB,
^~~~~
<PATH>/trilinos-12.12.1-Source/packages/epetra/src/Epetra_LAPACK.h:279:8: note: candidate expects 24 arguments, 23 provided
<PATH>/trilinos-12.12.1-Source/packages/epetra/src/Epetra_LAPACK.h:286:8: note: candidate: void Epetra_LAPACK::GGSVD(char, char, char, int, int, int, int*, int*, float* , int, float*, int, float*, float*, float*, int, float*, int, float*, int, float*, int, int*, int*) const
void GGSVD(const char JOBU, const char JOBV, const char JOBQ, const int M, const int N, const int P, int * K, int * L, float* A, const int LDA, float* B, const int LDB,
^~~~~
<PATH>/trilinos-12.12.1-Source/packages/epetra/src/Epetra_LAPACK.h:286:8: note: candidate expects 24 arguments, 23 provided
<PATH>/trilinos-12.12.1-Source/packages/CTrilinos/src/epetra/CEpetra_LAPACK.cpp: In function ‘void Epetra_LAPACK_GGSVD_float(CT_Epetra_LAPACK_ID_t, char, char, char, in t, int, int, int*, int*, float*, int, float*, int, float*, float*, float*, int, float*, int, float*, int, float*, int*, int*)’:
<PATH>/trilinos-12.12.1-Source/packages/CTrilinos/src/epetra/CEpetra_LAPACK.cpp:624:76: error: no matching function for call to ‘Epetra_LAPACK::GGSVD(const char&, const char&, const char&, const int&, const int&, const int&, int*&, int*&, float*&, const int&, float*&, const int&, float*&, float*&, float*&, const int&, float*&, const int&, float*&, const int&, float*&, int*&, int*&) const’
LDA, B, LDB, ALPHA, BETA, U, LDU, V, LDV, Q, LDQ, WORK, IWORK, INFO);
^
In file included from <PATH>/trilinos-12.12.1-Source/packages/CTrilinos/src/epetra/CEpetra_LAPACK_Cpp.hpp:52:0,
from <PATH>/trilinos-12.12.1-Source/packages/CTrilinos/src/epetra/CEpetra_LAPACK.cpp:50:
<PATH>/trilinos-12.12.1-Source/packages/epetra/src/Epetra_LAPACK.h:279:8: note: candidate: void Epetra_LAPACK::GGSVD(char, char, char, int, int, int, int*, int*, double *, int, double*, int, double*, double*, double*, int, double*, int, double*, int, double*, int, int*, int*) const
void GGSVD(const char JOBU, const char JOBV, const char JOBQ, const int M, const int N, const int P, int * K, int * L, double* A, const int LDA, double* B, const int LDB,
^~~~~
<PATH>/trilinos-12.12.1-Source/packages/epetra/src/Epetra_LAPACK.h:279:8: note: candidate expects 24 arguments, 23 provided
<PATH>/trilinos-12.12.1-Source/packages/epetra/src/Epetra_LAPACK.h:286:8: note: candidate: void Epetra_LAPACK::GGSVD(char, char, char, int, int, int, int*, int*, float* , int, float*, int, float*, float*, float*, int, float*, int, float*, int, float*, int, int*, int*) const
void GGSVD(const char JOBU, const char JOBV, const char JOBQ, const int M, const int N, const int P, int * K, int * L, float* A, const int LDA, float* B, const int LDB,
^~~~~
<PATH>/trilinos-12.12.1-Source/packages/epetra/src/Epetra_LAPACK.h:286:8: note: candidate expects 24 arguments, 23 provided
```
The problem seems to stem from packages/epetra/src/Epetra_LAPACK.cpp having been changed to add an extra argument for GSSVD3 but packages/CTrilinos/src/epetra/CEpetra_LAPACK.cpp not so:
packages/CTrilinos/src/epetra/CEpetra_LAPACK.cpp:
```
603 void Epetra_LAPACK_GGSVD_double (
604 CT_Epetra_LAPACK_ID_t selfID, const char JOBU, const char JOBV,
605 const char JOBQ, const int M, const int N, const int P, int * K,
606 int * L, double * A, const int LDA, double * B, const int LDB,
607 double * ALPHA, double * BETA, double * U, const int LDU,
608 double * V, const int LDV, double * Q, const int LDQ,
609 double * WORK, int * IWORK, int * INFO )
610 {
611 CEpetra::getConstLAPACK(selfID)->GGSVD(JOBU, JOBV, JOBQ, M, N, P, K, L, A,
612 LDA, B, LDB, ALPHA, BETA, U, LDU, V, LDV, Q, LDQ, WORK, IWORK, INFO);
613 }
614
615 void Epetra_LAPACK_GGSVD_float (
616 CT_Epetra_LAPACK_ID_t selfID, const char JOBU, const char JOBV,
617 const char JOBQ, const int M, const int N, const int P, int * K,
618 int * L, float * A, const int LDA, float * B, const int LDB,
619 float * ALPHA, float * BETA, float * U, const int LDU, float * V,
620 const int LDV, float * Q, const int LDQ, float * WORK,
621 int * IWORK, int * INFO )
622 {
623 CEpetra::getConstLAPACK(selfID)->GGSVD(JOBU, JOBV, JOBQ, M, N, P, K, L, A,
624 LDA, B, LDB, ALPHA, BETA, U, LDU, V, LDV, Q, LDQ, WORK, IWORK, INFO);
625 }
```
packages/epetra/src/Epetra_LAPACK.cpp
```
363 //=============================================================================
364 void Epetra_LAPACK::GGSVD(const char JOBU, const char JOBV, const char JOBQ, const int M, const int N, const int P, int * K, int * L,
365 double* A, const int LDA, double* B, const int LDB,
366 double* ALPHA, double* BETA, double* U, const int LDU, double* V, const int LDV, double* Q, const int LDQ, double* WORK,
367 #ifdef HAVE_EPETRA_LAPACK_GSSVD3
368 const int LWORK,
369 #endif
370 int* IWORK, int* INFO) const {
371 DGGSVD_F77(CHAR_MACRO(JOBU), CHAR_MACRO(JOBV), CHAR_MACRO(JOBQ), &M, &N, &P, K, L, A, &LDA, B, &LDB,
372 ALPHA, BETA, U, &LDU, V, &LDV, Q, &LDQ, WORK,
373 #ifdef HAVE_EPETRA_LAPACK_GSSVD3
374 &LWORK,
375 #endif
376 IWORK, INFO);
377 }
378
379 //=============================================================================
380 void Epetra_LAPACK::GGSVD(const char JOBU, const char JOBV, const char JOBQ, const int M, const int N, const int P, int * K, int * L,
381 float* A, const int LDA, float* B, const int LDB,
382 float* ALPHA, float* BETA, float* U, const int LDU, float* V, const int LDV, float* Q, const int LDQ, float* WORK,
383 #ifdef HAVE_EPETRA_LAPACK_GSSVD3
384 const int LWORK,
385 #endif
386 int* IWORK, int* INFO) const {
387 SGGSVD_F77(CHAR_MACRO(JOBU), CHAR_MACRO(JOBV), CHAR_MACRO(JOBQ), &M, &N, &P, K, L, A, &LDA, B, &LDB,
388 ALPHA, BETA, U, &LDU, V, &LDV, Q, &LDQ, WORK,
389 #ifdef HAVE_EPETRA_LAPACK_GSSVD3
390 &LWORK,
391 #endif
392 IWORK, INFO);
393 }
```
I've got a patch that builds on my system, but it wouldn't work in the opposite situation as the header doesn't use an ifdef.https://gitlab.osti.gov/jmwille/Trilinos/-/issues/79importAndFillComplete (and analogous Epetra constructor) for CrsGraph2018-02-21T01:03:07ZJames WillenbringimportAndFillComplete (and analogous Epetra constructor) for CrsGraph*Created by: kddevin*
@trilinos/tpetra
Chris Siefert directed my attention to the new importAndFillComplete utility in Tpetra::CrsMatrix, and an analogous constructor for Epetra_CrsMatrix.
It would be nice (but not urgent) to have ana...*Created by: kddevin*
@trilinos/tpetra
Chris Siefert directed my attention to the new importAndFillComplete utility in Tpetra::CrsMatrix, and an analogous constructor for Epetra_CrsMatrix.
It would be nice (but not urgent) to have analogous capability for CrsGraph.
Tpetra-backloghttps://gitlab.osti.gov/jmwille/Trilinos/-/issues/1941Thyra::get_Epetra_MultiVector hangs in debug build if some (not all) procs ha...2017-11-02T19:34:53ZJames WillenbringThyra::get_Epetra_MultiVector hangs in debug build if some (not all) procs have 0 rows*Created by: mhoemmen*
@trilinos/thyra @trilinos/epetra
We constructed a test that runs on 4 MPI processes. It builds an `Epetra_Map` such that Processes 0 and 2 each have zero local rows, and Processes 1 and 3 each have 1 local ro...*Created by: mhoemmen*
@trilinos/thyra @trilinos/epetra
We constructed a test that runs on 4 MPI processes. It builds an `Epetra_Map` such that Processes 0 and 2 each have zero local rows, and Processes 1 and 3 each have 1 local row. The code invokes the following function on that Map:
```
Teuchos::RCP<const Epetra_MultiVector>
Thyra::get_Epetra_MultiVector(
const Epetra_Map &map,
const MultiVectorBase<double> &mv
);
```
(definition in thyra/adapters/epetra/src/Thyra_EpetraThyraWrappers.cpp). In that function, the processes with a nonzero number of rows return a new `Epetra_MultiVector`. The other processes call an overload of `Thyra::get_Epetra_MultiVector` in the same file, that takes a `const Epetra_Map&` and an `RCP<const MultiVectorBase<double> >`. That function has a `TEUCHOS_DEBUG` bit of code that creates a Thyra vector space and checks it.
The problem is that `Thyra::create_VectorSpace` creates a `Teuchos::Comm`, which does a collective (at least in a debug build -- hopefully _ONLY_ in a debug build, else Thyra is not being as efficient as it could be). (If I insert a barrier after the Comm creation, the code hangs.)
The right fix would be to change the first `get_Epetra_MultiVector` overload so that it does not defer to the second overload. Each of these functions should only ever be called collectively on all processes in the input Map's communicator.
We already have a test that demonstrates this. I will add it to Thyra, along with the fix.https://gitlab.osti.gov/jmwille/Trilinos/-/issues/1942Thyra: Backport #1941 patch to release branch2017-11-02T18:21:14ZJames WillenbringThyra: Backport #1941 patch to release branch*Created by: mhoemmen*
@trilinos/thyra @trilinos/epetra See #1941.*Created by: mhoemmen*
@trilinos/thyra @trilinos/epetra See #1941.https://gitlab.osti.gov/jmwille/Trilinos/-/issues/1040doxygen 1.8.13 incompatibility2017-10-05T22:43:50ZJames Willenbringdoxygen 1.8.13 incompatibility*Created by: ilovezfs*
I'm having to set `-DPyTrilinos_DOCSTRINGS:BOOL=OFF` due to an incompatibility with doxygen 1.8.13, which ultimately leads to
```
[ 91%] Built target PanzerDiscFE_SacadoExample
[ 92%] Built target pytrilinos
[...*Created by: ilovezfs*
I'm having to set `-DPyTrilinos_DOCSTRINGS:BOOL=OFF` due to an incompatibility with doxygen 1.8.13, which ultimately leads to
```
[ 91%] Built target PanzerDiscFE_SacadoExample
[ 92%] Built target pytrilinos
[ 92%] Swig source /tmp/trilinos-20170129-37787-ninfii/Trilinos-trilinos-release-12-10-1/packages/PyTrilinos/src/LOCA.Epetra.Interface.i
/tmp/trilinos-20170129-37787-ninfii/Trilinos-trilinos-release-12-10-1/packages/PyTrilinos/src/LOCA.Epetra.Interface.i:147: Error: Unable to find 'LOCA_dox.i'
/tmp/trilinos-20170129-37787-ninfii/Trilinos-trilinos-release-12-10-1/packages/PyTrilinos/src/Epetra.i:260: Error: Unable to find 'Epetra_dox.i'
make[2]: *** [packages/PyTrilinos/src/LOCA.Epetra.InterfacePYTHON_wrap.cpp] Error 1
make[1]: *** [packages/PyTrilinos/src/CMakeFiles/PyTrilinos_LOCA_Epetra_Interface.dir/all] Error 2
make: *** [all] Error 2
```
Looking back in the log, there are errors in the initial cmake configuration: https://gist.github.com/ilovezfs/a5f72851bbeecded8d4b87a996b1b3ad
This does not occur if I use doxygen 1.8.12 or 1.8.11.https://gitlab.osti.gov/jmwille/Trilinos/-/issues/480Update dggsvd support in Epetra2017-08-01T20:53:17ZJames WillenbringUpdate dggsvd support in Epetra*Created by: jwillenbring*
CC: @bartlettroscoe @maherou
dggsvd was deprecated in LAPACK 3.6.0. In the same version, dggsvd3 was added, which has one fewer argument but is similar otherwise.
ftp://ftp.icm.edu.pl/packages/netlib/lapack...*Created by: jwillenbring*
CC: @bartlettroscoe @maherou
dggsvd was deprecated in LAPACK 3.6.0. In the same version, dggsvd3 was added, which has one fewer argument but is similar otherwise.
ftp://ftp.icm.edu.pl/packages/netlib/lapack/lapack-3.6.0.txt
http://www.netlib.org/lapack/explore-html/d6/db3/dggsvd3_8f.html
http://www.netlib.org/lapack/explore-html/dd/db4/dggsvd_8f.html
@bartlettroscoe suggested that a configure-time check would be appropriate here to probe LAPACK and see which routine is available. There are examples of this sort of thing in Teuchos (see Trilinos/packages/teuchos/CMakelists.txt).
@krcb is this something @MicheldeMessieres or you could take a look at?
https://gitlab.osti.gov/jmwille/Trilinos/-/issues/1431./doc/build_docs for Epetra2017-06-16T21:37:10ZJames Willenbring./doc/build_docs for Epetra*Created by: nschloe*
The most common way for a Trilinos package to build its docs is to call `./doc/build_docs`. Unfortunately, Epetra doesn't have that, meaning that the Debian package, for example, doesn't contain Epetra docs. [We've...*Created by: nschloe*
The most common way for a Trilinos package to build its docs is to call `./doc/build_docs`. Unfortunately, Epetra doesn't have that, meaning that the Debian package, for example, doesn't contain Epetra docs. [We've recently had a user point that out](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=864779), so I thought I mention it here, hoping for someone to put a `./doc/build_docs` in Epetra.https://gitlab.osti.gov/jmwille/Trilinos/-/issues/1419#include <Epetra_Version.h> causes error2017-06-15T15:23:57ZJames Willenbring#include <Epetra_Version.h> causes error*Created by: jwuttke*
This piece of code (taken from Epetra tutorial #2)
```
#include <Epetra_config.h>
#ifdef HAVE_MPI
# include <mpi.h>
# include <Epetra_MpiComm.h>
#else
# include <Epetra_SerialComm.h>
#endif // HAVE_MPI...*Created by: jwuttke*
This piece of code (taken from Epetra tutorial #2)
```
#include <Epetra_config.h>
#ifdef HAVE_MPI
# include <mpi.h>
# include <Epetra_MpiComm.h>
#else
# include <Epetra_SerialComm.h>
#endif // HAVE_MPI
#include <Epetra_Map.h>
#include <Epetra_Vector.h>
#include <Epetra_Version.h>
```
causes the following error:
```
$ mpic++ -I/usr/include/trilinos -ltrilinos_epetra epetra02-2.cpp
In file included from epetra02-2.cpp:10:0:
/usr/include/trilinos/Epetra_Version.h: In function ‘std::__cxx11::string Epetra_Version()’:
/usr/include/trilinos/Epetra_Version.h:49:34: error: expected ‘)’ before numeric constant
# define TRILINOS_VERSION_STRING 12S
^
/usr/include/trilinos/Epetra_Version.h:57:32: note: in expansion of macro ‘TRILINOS_VERSION_STRING’
return("Epetra in Trilinos " TRILINOS_VERSION_STRING);
```
Versions (from Debian/stretch):
* mpic++ from libopenmpi-dev 2.0.2-2
* libtrilinos-epetra-dev 12.10.1-3
https://gitlab.osti.gov/jmwille/Trilinos/-/issues/1420enum Epetra_DataAccess pollutes global namespace2017-06-14T18:29:17ZJames Willenbringenum Epetra_DataAccess pollutes global namespace*Created by: jwuttke*
a library shouldn't define global constants like "Copy" or "View".*Created by: jwuttke*
a library shouldn't define global constants like "Copy" or "View".https://gitlab.osti.gov/jmwille/Trilinos/-/issues/1261EpetraExt::RowMatrix_Transpose returns non-filled matrix2017-05-18T14:04:20ZJames WillenbringEpetraExt::RowMatrix_Transpose returns non-filled matrix*Created by: xamhn*
When computing the explicit transpose of an Epetra_RowMatrix with EpetraExt::RowMatrix_Transpose the returned matrix is *not filled*, i.e. filled()=false, in case that 2 or more MPI processes are used. In my particul...*Created by: xamhn*
When computing the explicit transpose of an Epetra_RowMatrix with EpetraExt::RowMatrix_Transpose the returned matrix is *not filled*, i.e. filled()=false, in case that 2 or more MPI processes are used. In my particular case the matrix is rectangular.
Problem occurred with Release 12.10. In release 12.8 the returned matrix is filled.https://gitlab.osti.gov/jmwille/Trilinos/-/issues/1210Epetra: Fortran string ABI binding needs new option for OpenBLAS on POWER2017-04-05T15:16:34ZJames WillenbringEpetra: Fortran string ABI binding needs new option for OpenBLAS on POWER*Created by: mhoemmen*
See #1208 for analogous discussion. `Epetra_fcd` and `CHAR_MACRO` also exist in Epetra.*Created by: mhoemmen*
See #1208 for analogous discussion. `Epetra_fcd` and `CHAR_MACRO` also exist in Epetra.https://gitlab.osti.gov/jmwille/Trilinos/-/issues/1126[Question] Epetra symmetric matrix fill.2017-03-21T23:24:34ZJames Willenbring[Question] Epetra symmetric matrix fill.*Created by: kyungjoo-kim*
could you help me figure out what the most efficient way to fill crs matrix with symmetry ?
The filled matrix is already upper triangular and Trillions object does not support a symmetry flag as a storage ...*Created by: kyungjoo-kim*
could you help me figure out what the most efficient way to fill crs matrix with symmetry ?
The filled matrix is already upper triangular and Trillions object does not support a symmetry flag as a storage (in my opinion, if wrong, please correct me). How can fill the other part easily ? https://gitlab.osti.gov/jmwille/Trilinos/-/issues/1033Galeri install error when built without Epetra2017-02-02T04:08:53ZJames WillenbringGaleri install error when built without Epetra*Created by: tjfulle*
The file `Galeri_XpetraUtils.hpp` includes `Galeri_Exception.h`. `Galeri_Exception.h` lives in `packages/galeri/src-epetra/`. If Galeri is built and installed without Epetra (but with Tpetra/Xpetra), `Galeri_Exce...*Created by: tjfulle*
The file `Galeri_XpetraUtils.hpp` includes `Galeri_Exception.h`. `Galeri_Exception.h` lives in `packages/galeri/src-epetra/`. If Galeri is built and installed without Epetra (but with Tpetra/Xpetra), `Galeri_Exception.h` is not copied to the `<install prefix>/include` directory. The missing file results in compile errors in applications using Galeri/Xpetra.
@trilinos/xpetra
@trilinos/galeri https://gitlab.osti.gov/jmwille/Trilinos/-/issues/943Epetra installs test files into bin/2016-12-20T18:13:04ZJames WillenbringEpetra installs test files into bin/*Created by: nschloe*
With
```
cmake \
-DCMAKE_SHARED_LINKER_FLAGS="$CMAKE_SHARED_LINKER_FLAGS -Wl,--no-undefined" \
-DCMAKE_INSTALL_PREFIX:PATH=/opt/trilinos/launchpad/ \
-DCMAKE_C_COMPILER=mpicc \
-DCMAKE_CXX_COMPILER=mp...*Created by: nschloe*
With
```
cmake \
-DCMAKE_SHARED_LINKER_FLAGS="$CMAKE_SHARED_LINKER_FLAGS -Wl,--no-undefined" \
-DCMAKE_INSTALL_PREFIX:PATH=/opt/trilinos/launchpad/ \
-DCMAKE_C_COMPILER=mpicc \
-DCMAKE_CXX_COMPILER=mpicxx \
-DCMAKE_Fortran_COMPILER=mpif90 \
-DBUILD_SHARED_LIBS:BOOL=ON \
-DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON \
-DTrilinos_INSTALL_INCLUDE_DIR:PATH=include/trilinos/ \
-DTrilinos_INSTALL_TriBITS:BOOL=OFF \
-DTrilinos_LIBRARY_NAME_PREFIX:STRING="trilinos_" \
-DTrilinos_USE_GNUINSTALLDIRS:BOOL=ON \
-DTrilinos_ENABLE_DEVELOPMENT_MODE:BOOL=OFF \
-DTrilinos_ENABLE_ALL_PACKAGES:BOOL=ON \
-DTrilinos_ENABLE_SECONDARY_TESTED_CODE:BOOL=ON \
-DTrilinos_ASSERT_MISSING_PACKAGES:BOOL=OFF \
-DTrilinos_ENABLE_EXPLICIT_INSTANTIATION:BOOL=ON \
-DTrilinos_ENABLE_FEI:BOOL=OFF \
-DTrilinos_ENABLE_Gtest:BOOL=OFF \
-DTrilinos_ENABLE_Intrepid2:BOOL=OFF \
-DTrilinos_ENABLE_Panzer:BOOL=OFF \
-DTrilinos_ENABLE_PyTrilinos:BOOL=OFF \
-DTrilinos_ENABLE_SEACAS:BOOL=OFF \
-DTrilinos_ENABLE_STK:BOOL=OFF \
-DTrilinos_ENABLE_STKClassic:BOOL=OFF \
-DTrilinos_ENABLE_STKDoc_tests:BOOL=OFF \
-DTrilinos_ENABLE_STKSearch:BOOL=OFF \
-DTrilinos_ENABLE_STKUnit_tests:BOOL=OFF \
-DTrilinos_ENABLE_ThreadPool:BOOL=OFF \
-DTrilinos_ENABLE_EXAMPLES:BOOL=OFF \
-DTrilinos_ENABLE_TESTS:BOOL=ON \
-DZoltan_ENABLE_TESTS:BOOL=ON \
-DTPL_ENABLE_BinUtils:BOOL=OFF \
-DTPL_ENABLE_Boost:BOOL=ON \
-DTPL_ENABLE_HDF5:BOOL=OFF \
-DHDF5_INCLUDE_DIRS:PATH=/usr/include/hdf5/openmpi/ \
-DHDF5_LIBRARY_DIRS:PATH=/usr/lib/$(DEB_HOST_MULTIARCH)/hdf5/openmpi/ \
-DTPL_ENABLE_Matio:BOOL=OFF \
-DTPL_ENABLE_MATLAB:BOOL=OFF \
-DTPL_ENABLE_MPI:BOOL=ON \
-DTPL_ENABLE_MUMPS:BOOL=ON \
-DTPL_ENABLE_Netcdf:BOOL=OFF \
-DTPL_ENABLE_ParMETIS:BOOL=OFF \
-DTPL_ENABLE_Scotch:BOOL=OFF \
-DTPL_ENABLE_SuperLU:BOOL=OFF \
-DTPL_ENABLE_TBB:BOOL=ON \
-DTPL_ENABLE_X11:BOOL=OFF \
-DTPL_ENABLE_Zlib:BOOL=ON \
../../source-upstream/
```
(perhaps some of the lines can be dropped), `make install` will install test files into `$PREFIX/bin/`, namely
```
Epetra_BasicPerfTest_test.exe
Epetra_BasicPerfTest_test_LL.exe
```https://gitlab.osti.gov/jmwille/Trilinos/-/issues/818a few issues from static code analyzer PVS2016-11-11T17:33:59ZJames Willenbringa few issues from static code analyzer PVS*Created by: davydden*
```
/home/davydden/spack/opt/spack/linux-ubuntu16-x86_64/gcc-5.4.0/trilinos-12.8.1-fwmxwfpiqrrolya5mboyv6jvbz6imq4s/include/Epetra_FECrsGraph.h 65 warn V690 The '=' operator is declared as private in the 'Epetra_...*Created by: davydden*
```
/home/davydden/spack/opt/spack/linux-ubuntu16-x86_64/gcc-5.4.0/trilinos-12.8.1-fwmxwfpiqrrolya5mboyv6jvbz6imq4s/include/Epetra_FECrsGraph.h 65 warn V690 The '=' operator is declared as private in the 'Epetra_FECrsGraph' class, but the default copy constructor will still be generated by compiler. It is dangerous to use such a class.
/home/davydden/spack/opt/spack/linux-ubuntu16-x86_64/gcc-5.4.0/trilinos-12.8.1-fwmxwfpiqrrolya5mboyv6jvbz6imq4s/include/AztecOO.h 84 warn V690 The 'AztecOO' class implements a copy constructor, but lacks the '=' operator. It is dangerous to use such a class.
/home/davydden/spack/opt/spack/linux-ubuntu16-x86_64/gcc-5.4.0/trilinos-12.8.1-fwmxwfpiqrrolya5mboyv6jvbz6imq4s/include/Teuchos_CompObject.hpp 65 warn V690 The 'CompObject' class implements a copy constructor, but lacks the '=' operator. It is dangerous to use such a class.
/home/davydden/spack/opt/spack/linux-ubuntu16-x86_64/gcc-5.4.0/trilinos-12.8.1-fwmxwfpiqrrolya5mboyv6jvbz6imq4s/include/Teuchos_SerialDenseMatrix.hpp 464 warn V560 A part of conditional expression is always false: ScalarTraits < ScalarType >::isComplex.
/home/davydden/spack/opt/spack/linux-ubuntu16-x86_64/gcc-5.4.0/trilinos-12.8.1-fwmxwfpiqrrolya5mboyv6jvbz6imq4s/include/AnasaziSolverUtils.hpp 655 err V621 Consider inspecting the 'for' operator. It's possible that the loop will be executed incorrectly or won't be executed at all.
/home/davydden/spack/opt/spack/linux-ubuntu16-x86_64/gcc-5.4.0/trilinos-12.8.1-fwmxwfpiqrrolya5mboyv6jvbz6imq4s/include/AnasaziSolverUtils.hpp 671 err V621 Consider inspecting the 'for' operator. It's possible that the loop will be executed incorrectly or won't be executed at all.
/home/davydden/spack/opt/spack/linux-ubuntu16-x86_64/gcc-5.4.0/trilinos-12.8.1-fwmxwfpiqrrolya5mboyv6jvbz6imq4s/include/AnasaziMatOrthoManager.hpp 425 err V547 Expression is always false. Unsigned type value is never < 0.
/home/davydden/spack/opt/spack/linux-ubuntu16-x86_64/gcc-5.4.0/trilinos-12.8.1-fwmxwfpiqrrolya5mboyv6jvbz6imq4s/include/AnasaziMatOrthoManager.hpp 457 err V621 Consider inspecting the 'for' operator. It's possible that the loop will be executed incorrectly or won't be executed at all.
/home/davydden/spack/opt/spack/linux-ubuntu16-x86_64/gcc-5.4.0/trilinos-12.8.1-fwmxwfpiqrrolya5mboyv6jvbz6imq4s/include/AnasaziSVQBOrthoManager.hpp 310 err V621 Consider inspecting the 'for' operator. It's possible that the loop will be executed incorrectly or won't be executed at all.
/home/davydden/spack/opt/spack/linux-ubuntu16-x86_64/gcc-5.4.0/trilinos-12.8.1-fwmxwfpiqrrolya5mboyv6jvbz6imq4s/include/AnasaziSVQBOrthoManager.hpp 454 warn V560 A part of conditional expression is always false: qr != xr.
/home/davydden/spack/opt/spack/linux-ubuntu16-x86_64/gcc-5.4.0/trilinos-12.8.1-fwmxwfpiqrrolya5mboyv6jvbz6imq4s/include/AnasaziBasicOrthoManager.hpp 335 err V621 Consider inspecting the 'for' operator. It's possible that the loop will be executed incorrectly or won't be executed at all.
/home/davydden/spack/opt/spack/linux-ubuntu16-x86_64/gcc-5.4.0/trilinos-12.8.1-fwmxwfpiqrrolya5mboyv6jvbz6imq4s/include/AnasaziLOBPCGSolMgr.hpp 664 warn V747 An odd expression inside parenthesis. It is possible that a function name is missing.
/home/davydden/spack/opt/spack/linux-ubuntu16-x86_64/gcc-5.4.0/trilinos-12.8.1-fwmxwfpiqrrolya5mboyv6jvbz6imq4s/include/Teuchos_CommandLineProcessor.hpp 464 warn V730 Not all members of a class are initialized inside the constructor. Consider inspecting: opt_name, opt_name_false, documentation.
```
to do a proper analysis, you can get a one week trial license for Linux from PVS, see http://www.viva64.com/en/b/0441/ .
A quick usage example for deal.II is [in this issue](https://github.com/dealii/dealii/issues/3342#issuecomment-258896333). In that thread there is also a script to create Github issue for each analysis, if you would like to cover them and track progress.https://gitlab.osti.gov/jmwille/Trilinos/-/issues/248Epetra: Add equivalent of Tpetra::Distributor::createFromSendsAndRecvs to Epe...2016-11-02T20:56:23ZJames WillenbringEpetra: Add equivalent of Tpetra::Distributor::createFromSendsAndRecvs to Epetra's Distributor*Created by: mhoemmen*
@trilinos/tpetra
@csiefer2
This corresponds to the MPI 3 sparse all-to-all constructor as well.
*Created by: mhoemmen*
@trilinos/tpetra
@csiefer2
This corresponds to the MPI 3 sparse all-to-all constructor as well.
https://gitlab.osti.gov/jmwille/Trilinos/-/issues/729Epetra: test/BasicPerfTest/cxx_main.cpp not compiled with -fPIC2016-10-24T16:09:10ZJames WillenbringEpetra: test/BasicPerfTest/cxx_main.cpp not compiled with -fPIC*Created by: nschloe*
On GCC 6.*, I'm getting the link error
```
/usr/bin/ld: CMakeFiles/Epetra_BasicPerfTest_test.dir/cxx_main.cpp.o:
relocation R_X86_64_PC32 against symbol `_ZNK14Epetra_MpiComm5PrintERSo'
can not be used when making...*Created by: nschloe*
On GCC 6.*, I'm getting the link error
```
/usr/bin/ld: CMakeFiles/Epetra_BasicPerfTest_test.dir/cxx_main.cpp.o:
relocation R_X86_64_PC32 against symbol `_ZNK14Epetra_MpiComm5PrintERSo'
can not be used when making a shared object; recompile with -fPIC
```
when configuring with tests. This is because `packages/epetra/test/BasicPerfTest/cxx_main.cpp` is _not_ compiled with the `-fPIC` flag, as opposed to all other files.
Full details [here](https://launchpadlibrarian.net/290615615/buildlog_ubuntu-yakkety-amd64.trilinos_12.9~20161024092356-8a69e617-1yakkety1_BUILDING.txt.gz).