Trilinos issueshttps://gitlab.osti.gov/jmwille/Trilinos/-/issues2019-04-16T18:17:28Zhttps://gitlab.osti.gov/jmwille/Trilinos/-/issues/3619STK: fix build warnings under CUDA2019-04-16T18:17:28ZJames WillenbringSTK: fix build warnings under CUDA*Created by: jhux2*
While working on #2674 on waterman, I'm seeing a lot of the following boost warnings during compilation of STK:
```
include/boost/mpl/for_each.hpp(78): warning: calling a __host__ function from a __host__ __device_...*Created by: jhux2*
While working on #2674 on waterman, I'm seeing a lot of the following boost warnings during compilation of STK:
```
include/boost/mpl/for_each.hpp(78): warning: calling a __host__ function from a __host__ __device__ function is not allowed
```
@trilinos/stk @alanw0 @bartlettroscoe Initial cleanup of new ATDM builds of Trilinoshttps://gitlab.osti.gov/jmwille/Trilinos/-/issues/2245Warnings using Ninja for Building Trilinos2018-11-30T03:12:08ZJames WillenbringWarnings using Ninja for Building Trilinos*Created by: nmhamster*
@trilinos/framework @bartlettroscoe @trilinos/muelu
I am getting these warnings when building using Ninja on the testbeds. Just FYI. In general Ninja seems to be faster although we are still working through b...*Created by: nmhamster*
@trilinos/framework @bartlettroscoe @trilinos/muelu
I am getting these warnings when building using Ninja on the testbeds. Just FYI. In general Ninja seems to be faster although we are still working through build timings etc.
```
ninja: warning: multiple rules generate packages/muelu/doc/Tutorial/src/laplace2d.cpp. builds involving this target will not be correct; continuing anyway [-w dupbuild=warn]
ninja: warning: multiple rules generate packages/muelu/example/ParameterList/ml_ParameterList.xml. builds involving this target will not be correct; continuing anyway [-w dupbuild=warn]
```Initial cleanup of new ATDM builds of Trilinoshttps://gitlab.osti.gov/jmwille/Trilinos/-/issues/848Tpetra: Build error in 1-to-1 test w/ Cuda & Serial Nodes enabled2016-11-15T19:35:00ZJames WillenbringTpetra: Build error in 1-to-1 test w/ Cuda & Serial Nodes enabled*Created by: mhoemmen*
@trilinos/tpetra
http://testing.sandia.gov/cdash/viewBuildError.php?buildid=2619651
Only happens with BOTH Cuda AND Serial enabled, because Serial != default Node.*Created by: mhoemmen*
@trilinos/tpetra
http://testing.sandia.gov/cdash/viewBuildError.php?buildid=2619651
Only happens with BOTH Cuda AND Serial enabled, because Serial != default Node.Tpetra-FY17-Q1https://gitlab.osti.gov/jmwille/Trilinos/-/issues/5029TrilinosCouplings: Build error (missing header file)2019-06-08T15:27:25ZJames WillenbringTrilinosCouplings: Build error (missing header file)*Created by: mhoemmen*
## Bug Report
@trilinos/trilinoscouplings
### Description
```
.../Trilinos/packages/trilinoscouplings/examples/fenl/fenl_ensemble.hpp:156:18: error: ‘PseudoBlockCGSolMgr’ in namespace ‘Belos’ does not name ...*Created by: mhoemmen*
## Bug Report
@trilinos/trilinoscouplings
### Description
```
.../Trilinos/packages/trilinoscouplings/examples/fenl/fenl_ensemble.hpp:156:18: error: ‘PseudoBlockCGSolMgr’ in namespace ‘Belos’ does not name a template type
const Belos::PseudoBlockCGSolMgr<Sc, V, O>* cg_solver =
^
.../Trilinos/packages/trilinoscouplings/examples/fenl/fenl_ensemble.hpp:158:9: error: ‘cg_solver’ was not declared in this scope
if (cg_solver != 0)
^
```https://gitlab.osti.gov/jmwille/Trilinos/-/issues/5038Tpetra: Spurious unused function warnings (iallreduceIntRaw, makeValidVerbose...2019-06-08T15:27:25ZJames WillenbringTpetra: Spurious unused function warnings (iallreduceIntRaw, makeValidVerboseStream)*Created by: mhoemmen*
## Bug Report
@trilinos/tpetra @ajpowelsnl
### Description
```
.../include/Tpetra_CrsMatrix_def.hpp:89:3: error: 'std::shared_ptr<Tpetra::Details::CommRequest> Tpetra::{anonymous}::iallreduceIntRaw(const ...*Created by: mhoemmen*
## Bug Report
@trilinos/tpetra @ajpowelsnl
### Description
```
.../include/Tpetra_CrsMatrix_def.hpp:89:3: error: 'std::shared_ptr<Tpetra::Details::CommRequest> Tpetra::{anonymous}::iallreduceIntRaw(const int&, int&, Teuchos::EReductionType, const Teuchos::Comm<int>&)' defined but not used [-Werror=unused-function]
iallreduceIntRaw (const int& localValue,
^~~~~~~~~~~~~~~~
```
This is spurious. See discussion [here](https://github.com/trilinos/Trilinos/issues/3178#issuecomment-482171111
). However, it appears to block Sierra/Trilinos promotion, so I'll fix it.
There's another spurious unused function warning involving `makeValidVerboseStream` in `Ifpack2_ImportExportData_def.hpp`.https://gitlab.osti.gov/jmwille/Trilinos/-/issues/5011Xpetra broke Albany and SPARC nightly builds2019-06-08T15:27:25ZJames WillenbringXpetra broke Albany and SPARC nightly builds*Created by: ikalash*
Looks like we have a compilation error in our nightlies when compiling against a new develop Trilinos:
```
from /.../trilinos-install-serial-intel-release/include/Piro_SolverFactory.hpp(97),
...*Created by: ikalash*
Looks like we have a compilation error in our nightlies when compiling against a new develop Trilinos:
```
from /.../trilinos-install-serial-intel-release/include/Piro_SolverFactory.hpp(97),
from /.../Albany/src/Albany_SolverFactory.cpp(24):
/.../trilinos-install-serial-intel-release/include/Xpetra_CrsMatrixFactory.hpp(54): catastrophic error: cannot open source file "Xpetra_TpetraCrsMatrix.hpp"
#include "Xpetra_TpetraCrsMatrix.hpp"
^
```
http://cdash.sandia.gov/CDash-2-3-0/viewBuildError.php?buildid=84042
@trilinos/xpetra https://gitlab.osti.gov/jmwille/Trilinos/-/issues/4973Trilinos seacas build issue on mayer with ARM compiler2020-07-22T01:04:26ZJames WillenbringTrilinos seacas build issue on mayer with ARM compiler*Created by: ikalash*
I'm encountering a build error when trying to build Trilinos develop on mayer with the ARM compiler (module load devpack-arm/20190201). Here is the error:
```
[ 41%] Building CXX object packages/seacas/libraries...*Created by: ikalash*
I'm encountering a build error when trying to build Trilinos develop on mayer with the ARM compiler (module load devpack-arm/20190201). Here is the error:
```
[ 41%] Building CXX object packages/seacas/libraries/ioss/src/CMakeFiles/Ioss.dir/Ioss_Node.C.o
[ 41%] Linking CXX executable nem_slice
Scanning dependencies of target mapvar
[ 41%] Building Fortran object packages/seacas/applications/mapvar/CMakeFiles/mapvar.dir/getbnd.f.o
[ 41%] Building Fortran object packages/seacas/applications/mapvar/CMakeFiles/mapvar.dir/mapvar.f.o
F90-S-0029-Illegal hexadecimal constant: Seehttps://github.com/gsjaardema/seacas/packages (/mscratch/albany/mayer/nightlyCDashTrilinos/repos/Trilinos/packages/seacas/applications/mapvar/mapvar.f: 417)
F90-S-0034-Syntax error at or near non-decimal constant 0 (/mscratch/albany/mayer/nightlyCDashTrilinos/repos/Trilinos/packages/seacas/applications/mapvar/mapvar.f: 417)
F90-S-0029-Illegal hexadecimal constant: Seehttps://github.com/gsjaardema/seacas/packages (/mscratch/albany/mayer/nightlyCDashTrilinos/repos/Trilinos/packages/seacas/applications/mapvar/mapvar.f: 428)
F90-S-0034-Syntax error at or near non-decimal constant 0 (/mscratch/albany/mayer/nightlyCDashTrilinos/repos/Trilinos/packages/seacas/applications/mapvar/mapvar.f: 428)
0 inform, 0 warnings, 4 severes, 0 fatal for mapvar
[ 41%] Building Fortran object packages/seacas/applications/mapvar/CMakeFiles/mapvar.dir/mklstv.f.o
[ 41%] Built target nem_slice
[ 41%] Building Fortran object packages/seacas/applications/mapvar/CMakeFiles/mapvar.dir/mkrnk.f.o
[ 41%] Building Fortran object packages/seacas/applications/mapvar/CMakeFiles/mapvar.dir/rank.f.o
[ 41%] Building Fortran object packages/seacas/applications/mapvar/CMakeFiles/mapvar.dir/srchge.f.o
[ 41%] Building Fortran object packages/seacas/applications/mapvar/CMakeFiles/mapvar.dir/srchgt.f.o
Scanning dependencies of target mapvar-kd
[ 41%] Building Fortran object packages/seacas/applications/mapvar-kd/CMakeFiles/mapvar-kd.dir/mapvar-kd.f.o
F90-S-0029-Illegal hexadecimal constant: Seehttps://github.com/gsjaardema/seacas/packages (/mscratch/albany/mayer/nightlyCDashTrilinos/repos/Trilinos/packages/seacas/applications/mapvar-kd/mapvar-kd.f: 285)
F90-S-0034-Syntax error at or near non-decimal constant 0 (/mscratch/albany/mayer/nightlyCDashTrilinos/repos/Trilinos/packages/seacas/applications/mapvar-kd/mapvar-kd.f: 285)
```
According to my colleague @jewatkins, the build worked just fine on April 9. Our configure script is attached.
[do-cmake-trilinos-arm-serial.txt](https://github.com/trilinos/Trilinos/files/3099602/do-cmake-trilinos-arm-serial.txt)
@trilinos/seacas
https://gitlab.osti.gov/jmwille/Trilinos/-/issues/4962Tpetra broke Albany nightly build on waterman2020-07-22T01:04:27ZJames WillenbringTpetra broke Albany nightly build on waterman*Created by: ikalash*
Looks like Trilinos failed to compile in the Albany nightly build on waterman due to Tpetra. Here is the error:
```
76%] Building CXX object packages/tpetra/core/src/CMakeFiles/tpetra.dir/Tpetra_EpetraRowMat...*Created by: ikalash*
Looks like Trilinos failed to compile in the Albany nightly build on waterman due to Tpetra. Here is the error:
```
76%] Building CXX object packages/tpetra/core/src/CMakeFiles/tpetra.dir/Tpetra_EpetraRowMatrix.cpp.o
/.../repos/Trilinos/packages/tpetra/core/src/Tpetra_Details_normImpl.cpp(67): error: function "Tpetra::Details::normImpl(MagnitudeType *, const Kokkos::View &, Tpetra::Details::EWhichNorm, const Teuchos::ArrayView &, __nv_bool, __nv_bool, const Teuchos::Comm *) [with ValueType=int, ArrayLayout=Kokkos::LayoutLeft, DeviceType=Kokkos::Device, MagnitudeType=int]" explicitly instantiated more than once
```
http://cdash.sandia.gov/CDash-2-3-0/viewBuildError.php?buildid=83824
@trilinos/tpetra https://gitlab.osti.gov/jmwille/Trilinos/-/issues/4930Albany compilation error due to MueLu2020-07-22T01:04:27ZJames WillenbringAlbany compilation error due to MueLu*Created by: ikalash*
It looks like MueLu broke some of our Albany builds last night. Here is the error, which occurs when building Albany against an install of Trilinos:
```
[ 99%] Built target PartitionTest [ 99%] Built target u...*Created by: ikalash*
It looks like MueLu broke some of our Albany builds last night. Here is the error, which occurs when building Albany against an install of Trilinos:
```
[ 99%] Built target PartitionTest [ 99%] Built target utSurfaceElement /.../test/TrilinosInstall/lib/libmuelu.a(MueLu_AggregationExportFactory.cpp.o): In function `MueLu::AggregationExportFactory >::Build(MueLu::Level&, MueLu::Level&) const': MueLu_AggregationExportFactory.cpp:(.text._ZNK5MueLu24AggregationExportFactoryIdixN6Kokkos6Compat23KokkosDeviceWrapperNodeINS1_6SerialENS1_9HostSpaceEEEE5BuildERNS_5LevelES9_[_ZNK5MueLu24AggregationExportFactoryIdixN6Kokkos6Compat23KokkosDeviceWrapperNodeINS1_6SerialENS1_9HostSpaceEEEE5BuildERNS_5LevelES9_]+0xaa8): undefined reference to `MueLu::AmalgamationInfo >::UnamalgamateAggregates(MueLu::Aggregates > const&, Teuchos::ArrayRCP&, Teuchos::ArrayRCP&) const' /.../test/TrilinosInstall/lib/libmuelu.a(MueLu_AggregationExportFactory.cpp.o): In function `MueLu::AggregationExportFactory >::Build(MueLu::Level&, MueLu::Level&) const':
``
http://cdash.sandia.gov/CDash-2-3-0/viewBuildError.php?buildid=83739 (SRN)
https://my.cdash.org/viewBuildError.php?buildid=1637579 (SON)
Could someone please look at / resolve the problem?
@trilinos/muelu
https://gitlab.osti.gov/jmwille/Trilinos/-/issues/4857Tpetra: configure error using COMPLEX_DOUBLE and FLOAT types2020-07-22T01:04:27ZJames WillenbringTpetra: configure error using COMPLEX_DOUBLE and FLOAT types*Created by: ajpowel*
<!---
Replace <teamName> below with the appropriate Trilinos package/team name.
-->
@trilinos/Tpetra
## Expectations
We do not want to turn on Trilinos_ENABLE_COMPLEX_FLOAT if we are also using Tri...*Created by: ajpowel*
<!---
Replace <teamName> below with the appropriate Trilinos package/team name.
-->
@trilinos/Tpetra
## Expectations
We do not want to turn on Trilinos_ENABLE_COMPLEX_FLOAT if we are also using Trilinos_ENABLE_FLOAT and Trilinos_ENABLE_COMPLEX_DOUBLE. Is the current behavior (below) correct?
<!---
Tell us what you think should happen, how you think things should work, what
you would like to see in the documentation, etc.
-->
## Current Behavior
Processing enabled package: Tpetra (Classic, TSQR, Core)
-- Tpetra: Enabling deprecated code
-- Determine whether Tpetra will assume that MPI is CUDA aware:
-- - Tpetra_ENABLE_CUDA is OFF, so Tpetra will assume that MPI is not CUDA aware.
-- Tpetra execution space availability (ON means available):
-- - Serial: ON
-- - Threads: OFF
-- - OpenMP: OFF
-- - Cuda: OFF
CMake Error at packages/tpetra/CMakeLists.txt:986 (MESSAGE):
Tpetra: Tpetra_INST_COMPLEX_FLOAT is OFF (meaning that you want to disable
explicit instantiation and/or tests of Tpetra with Scalar =
std::complex<float>), but Teuchos_ENABLE_COMPLEX is ON and
Teuchos_ENABLE_FLOAT is ON. This will cause downstream link errors, likely
in Thyra or Stratimikos. See GitHub Issue 4080 for details. Best
practice: Do NOT set Tpetra_INST_COMPLEX_FLOAT, Teuchos_ENABLE_COMPLEX, or
Teuchos_ENABLE_FLOAT explicitly. Instead, set
Trilinos_ENABLE_COMPLEX_FLOAT explicitly. That will set defaults for
Teuchos and Tpetra correctly.
-- Configuring incomplete, errors occurred!
See also "/scratch/ajpowel/code_032119/fix_trilly/CMakeFiles/CMakeOutput.log".
See also "/scratch/ajpowel/code_032119/fix_trilly/CMakeFiles/CMakeError.log".
<!---
Tell us how the current behavior fails to meet your expectations in some way.
-->
## Motivation and Context
Sierra-Trilinos integration
<!---
How has this expectation failure affected you? What are you trying to
accomplish? Why do we need to address this? What does it have to do with
anything? Providing context helps us come up with a solution that is most
useful in the real world.
-->
## Steps to Reproduce
cmake -DTrilinos_ENABLE_Tpetra=ON -DTrilinos_ENABLE_COMPLEX_DOUBLE=ON -DTrilinos_ENABLE_FLOAT=ON -DTrilinos_ENABLE_Teuchos=ON $PATH_TO_MY_SOURCE_CODE
<!---
Provide a link to a live example, or an unambiguous set of steps to reproduce
this issue. Include code to reproduce, if relevant.
1. Do this.
1. Do that.
1. Shake fist angrily at computer.
-->https://gitlab.osti.gov/jmwille/Trilinos/-/issues/4878Xpetra: In CUDA build, warning about missing return statement at end of non-v...2020-07-22T01:04:27ZJames WillenbringXpetra: In CUDA build, warning about missing return statement at end of non-void function*Created by: mhoemmen*
@trilinos/muelu @trilinos/xpetra
```
.../Trilinos/packages/xpetra/sup/Matrix/Xpetra_MatrixFactory.hpp(161): warning: missing return statement at end of non-void function "Xpetra::MatrixFactory2<double, int, int...*Created by: mhoemmen*
@trilinos/muelu @trilinos/xpetra
```
.../Trilinos/packages/xpetra/sup/Matrix/Xpetra_MatrixFactory.hpp(161): warning: missing return statement at end of non-void function "Xpetra::MatrixFactory2<double, int, int, Node>::BuildCopy [with Node=Xpetra::EpetraNode]"
detected during:
instantiation of "Teuchos::RCP<Xpetra::Matrix<double, int, int, Node>> Xpetra::MatrixFactory2<double, int, int, Node>::BuildCopy(Teuchos::RCP<const Xpetra::Matrix<double, int, int, Node>>) [with Node=Xpetra::EpetraNode]"
.../Trilinos/packages/muelu/src/Transfers/Energy-Minimization/Solvers/MueLu_CGSolver_def.hpp(75): here
instantiation of "void MueLu::CGSolver<Scalar, LocalOrdinal, GlobalOrdinal, Node>::Iterate(const MueLu::CGSolver<Scalar, LocalOrdinal, GlobalOrdinal, Node>::Matrix &, const MueLu::CGSolver<Scalar, LocalOrdinal, GlobalOrdinal, Node>::Constraint &, const MueLu::CGSolver<Scalar, LocalOrdinal, GlobalOrdinal, Node>::Matrix &, Teuchos::RCP<MueLu::CGSolver<Scalar, LocalOrdinal, GlobalOrdinal, Node>::Matrix> &) const [with Scalar=double, LocalOrdinal=int, GlobalOrdinal=int, Node=Kokkos_Compat_KokkosSerialWrapperNode]"
.../Trilinos/packages/muelu/src/Utils/MueLu_ETI_4arg.hpp(32): here
```
https://gitlab.osti.gov/jmwille/Trilinos/-/issues/4827Tpetra::Details::copyConvert doesn't build for conversions between Kokkos::co...2019-04-16T14:01:50ZJames WillenbringTpetra::Details::copyConvert doesn't build for conversions between Kokkos::complex<float> and double*Created by: mhoemmen*
@trilinos/tpetra
This breaks `Tpetra::deep_copy` between `MultiVector<std::complex<float>, ...>` and `MultiVector<double, ...>`.*Created by: mhoemmen*
@trilinos/tpetra
This breaks `Tpetra::deep_copy` between `MultiVector<std::complex<float>, ...>` and `MultiVector<double, ...>`.https://gitlab.osti.gov/jmwille/Trilinos/-/issues/4813Zoltan2: example passes extra arguments to Kokkos::View constructor2019-04-06T09:36:26ZJames WillenbringZoltan2: example passes extra arguments to Kokkos::View constructor*Created by: mhoemmen*
@trilinos/zoltan2 @kddevin
`Trilinos/packages/zoltan2/example/block/kokkosBlock.cpp`, line 147, creates a 1-D `Kokkos::View`, but passes it two run-time dimensions. The second dimension is zero, which is why ...*Created by: mhoemmen*
@trilinos/zoltan2 @kddevin
`Trilinos/packages/zoltan2/example/block/kokkosBlock.cpp`, line 147, creates a 1-D `Kokkos::View`, but passes it two run-time dimensions. The second dimension is zero, which is why it still builds, but it throws if you disable deprecated Kokkos code.
I am working on a fix.https://gitlab.osti.gov/jmwille/Trilinos/-/issues/4814Tpetra: Hide all currently deprecated code with TPETRA_ENABLE_DEPRECATED_CODE...2019-04-06T09:36:26ZJames WillenbringTpetra: Hide all currently deprecated code with TPETRA_ENABLE_DEPRECATED_CODE macro*Created by: mhoemmen*
@trilinos/tpetra
- [x] For anything in Tpetra marked with `TPETRA_DEPRECATED`, wrap it in `#ifdef TPETRA_ENABLE_DEPRECATED_CODE ... #endif`.
- [x] Make sure that all downstream code builds with `TPETRA_EN...*Created by: mhoemmen*
@trilinos/tpetra
- [x] For anything in Tpetra marked with `TPETRA_DEPRECATED`, wrap it in `#ifdef TPETRA_ENABLE_DEPRECATED_CODE ... #endif`.
- [x] Make sure that all downstream code builds with `TPETRA_ENABLE_DEPRECATED_CODE` not defined (it is currently defined by default; set the CMake option `Tpetra_ENABLE_DEPRECATED_CODE` (case significant) to `OFF`, in order to build with the macro not defined).
https://gitlab.osti.gov/jmwille/Trilinos/-/issues/4689Trilinos compilation error in Albany nightly due to Xpetra/MueLu 2019-03-21T16:39:02ZJames WillenbringTrilinos compilation error in Albany nightly due to Xpetra/MueLu *Created by: ikalash*
We have a new failing build in the Albany nightlies:
http://cdash.sandia.gov/CDash-2-3-0/viewBuildError.php?buildid=82719
It appears the problem is with @trilinos/xpetra , @trilinos/muelu . The compiler is ...*Created by: ikalash*
We have a new failing build in the Albany nightlies:
http://cdash.sandia.gov/CDash-2-3-0/viewBuildError.php?buildid=82719
It appears the problem is with @trilinos/xpetra , @trilinos/muelu . The compiler is gcc/8.2.1 . Note that Albany nightlies use master instead of develop branch of Trilinos. I changed it in hopes that it would be more stable (but I am rethinking that decision now...). https://gitlab.osti.gov/jmwille/Trilinos/-/issues/4584Typo error in commit #4388 2019-03-14T08:14:35ZJames WillenbringTypo error in commit #4388 *Created by: kliegeois*
<!---
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: ".
-->
There is a typo err...*Created by: kliegeois*
<!---
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: ".
-->
There is a typo error in commit #4388 that prevents from compiling packages/ifpack2/src/Ifpack2_BlockTriDiContainer_impl.hpp if __KOKKOSBATCHED_INTEL_MKL_COMPACT_BATCHED__ is defined.
Lines 2035-2039:
```
#if defined(__KOKKOSBATCHED_INTEL_MKL_COMPACT_BATCHED__)
typedef KokkosBatched::Experimental::Algo::Level3::CompactMKL algo_type;
#else
typedef KokkosBatched::Experimental::Algo::Level3::Blocked multi_vector_algo_type;
#endif
```
should be replaced by
```
#if defined(__KOKKOSBATCHED_INTEL_MKL_COMPACT_BATCHED__)
typedef KokkosBatched::Experimental::Algo::Level3::CompactMKL multi_vector_algo_type;
#else
typedef KokkosBatched::Experimental::Algo::Level3::Blocked multi_vector_algo_type;
#endif
```
<!---
Note that anything between these delimiters is a comment that will not appear
in the issue description once created. Click on the Preview tab to see what
everything will look like when you submit.
-->
<!---
Feel free to delete anything from this template that is not applicable to the
issue you are submitting.
-->
<!---
Replace <teamName> below with the appropriate Trilinos package/team name.
-->
@trilinos/ifpack2 @kyungjoo-kim
https://gitlab.osti.gov/jmwille/Trilinos/-/issues/4563Amesos2: Umfpack + Superlu compile failure when complex_double enabled2019-03-07T17:31:21ZJames WillenbringAmesos2: Umfpack + Superlu compile failure when complex_double enabled*Created by: ndellingwood*
Reported by Sam Browne via email.
When compiling Trilinos with Amesos2 enabled and Umfpack and Superlu TPLs a compile error results. This is due to ambiguity in matching the templated class `ValueTypeConver...*Created by: ndellingwood*
Reported by Sam Browne via email.
When compiling Trilinos with Amesos2 enabled and Umfpack and Superlu TPLs a compile error results. This is due to ambiguity in matching the templated class `ValueTypeConversionTraits` resulting in candidate specializations in both the Umfpack and Superlu TypeMaps.
Error:
```
/Users/ndellin/Research/trilinos/Trilinos/packages/amesos2/src/Amesos2_Details_registerLinearSolverFactory.cpp:102:1: required from here
/Users/ndellin/Research/trilinos/Trilinos/packages/teuchos/core/src/Teuchos_as.hpp:2830:61: error: ambiguous template instantiation for 'class Teuchos::ValueTypeConversionTraits<SLU::Z::doublecomplex, std::complex<double> >'
return ValueTypeConversionTraits<TypeTo,TypeFrom>::convert(t);
```
Fix is to add full specializations to the SuperLU TypeMap to prevent the ambiguity. PR coming in shortly.
<!---
Note that anything between these delimiters is a comment that will not appear
in the issue description once created. Click on the Preview tab to see what
everything will look like when you submit.
-->
<!---
Feel free to delete anything from this template that is not applicable to the
issue you are submitting.
-->
<!---
Replace <teamName> below with the appropriate Trilinos package/team name.
-->
@trilinos/amesos2
<!---
Assignees: If you know anyone who should likely tackle this issue, select them
from the Assignees drop-down on the right.
-->
<!---
Lables: Choose any applicable package names from the Labels drop-down on the
right. Additionally, choose a label to indicate the type of issue, for
instance, bug, build, documentation, enhancement, etc.
-->
https://gitlab.osti.gov/jmwille/Trilinos/-/issues/4537Amesos2 does not compile with UMFPACK, SuperLU, complex double, and eti=off2019-03-07T21:17:35ZJames WillenbringAmesos2 does not compile with UMFPACK, SuperLU, complex double, and eti=off*Created by: prwolfe*
Basically the compiler cannot chose from 2 convert functions, but does fine the ETI is on as the instantiation gets only one at a time.
@trilinos/amesos2
## Expectations
Amesos2 should build either with or ...*Created by: prwolfe*
Basically the compiler cannot chose from 2 convert functions, but does fine the ETI is on as the instantiation gets only one at a time.
@trilinos/amesos2
## Expectations
Amesos2 should build either with or without ETI on
## Current Behavior
A build matching https://testing-vm.sandia.gov/cdash/index.php?project=Trilinos&parentid=4650329 but with ETI=off will fail to compile Amesos2_Details_registerLinearSolverFactory.cpp.o because it cannot pick between
packages/amesos2/src/Amesos2_Umfpack_TypeMap.hpp:98:7: error: candidates are: class Teuchos::ValueTypeConversionTraits<TypeTo, std::complex<double> >
class ValueTypeConversionTraits<TypeTo, std::complex<double>>
and
Trilinos/packages/amesos2/src/Amesos2_Superlu_TypeMap.hpp:192:7: error: class Teuchos::ValueTypeConversionTraits<SLU::Z::doublecomplex, TypeFrom>
class ValueTypeConversionTraits<SLU::Z::doublecomplex, TypeFrom>
These take opposite approaches, but can both fulfill the request.
## Motivation and Context
This was found when checking a trilinos build against Sierra. Customers should be able to build either with or without ETI or one options should be disabled.
I am tagging framework as we need to make sure we have a t least one build that covers this at some level (we currently do all builds with ETI=on as far as I can tell.)
## Definition of Done
Amesos2 compiles both with and without ETI and the requested packages available.
https://gitlab.osti.gov/jmwille/Trilinos/-/issues/4495Tpetra/Teuchos: Allow Teuchos Complex w/o Tpetra Complex2019-03-14T20:00:09ZJames WillenbringTpetra/Teuchos: Allow Teuchos Complex w/o Tpetra Complex*Created by: csiefer2*
This is a moral follow-on to #4080, except, I would like to reverse our decision.
I have an application that wishes to do some complex arithmetic using Teuchos::SerialDenseMatrix on the host and then later due ...*Created by: csiefer2*
This is a moral follow-on to #4080, except, I would like to reverse our decision.
I have an application that wishes to do some complex arithmetic using Teuchos::SerialDenseMatrix on the host and then later due some computing using Tpetra & CUDA.
At present, the resolution of #4080 means we have to have complex support on in both places. However, Kokkos will not compile w/ cuda if std::complex<double> is enabled.
This renders my application unable to use Trilinos on CUDA. https://gitlab.osti.gov/jmwille/Trilinos/-/issues/4458Amesos2 build errors when enabling MKL/Pardiso2019-03-07T19:29:11ZJames WillenbringAmesos2 build errors when enabling MKL/Pardiso*Created by: crdohrm*
I would like the enable Amesos with MKL/Pardiso, but run into build errors like
[ 97%] Building CXX object packages/amesos2/src/CMakeFiles/amesos2.dir/Amesos2_PardisoMKL.cpp.o
In file included from /ascldap/use...*Created by: crdohrm*
I would like the enable Amesos with MKL/Pardiso, but run into build errors like
[ 97%] Building CXX object packages/amesos2/src/CMakeFiles/amesos2.dir/Amesos2_PardisoMKL.cpp.o
In file included from /ascldap/users/crdohrm/Trilinos.fork/packages/amesos2/src/Amesos2_PardisoMKL_FunctionMap.hpp(64),
from /ascldap/users/crdohrm/Trilinos.fork/packages/amesos2/src/Amesos2_PardisoMKL_decl.hpp(65),
from /ascldap/users/crdohrm/Trilinos.fork/packages/amesos2/src/Amesos2_PardisoMKL.cpp(45):
/ascldap/users/crdohrm/Trilinos.fork/packages/amesos2/src/Amesos2_PardisoMKL_TypeMap.hpp(93): error: namespace "Amesos2::PMKL" has no member "_MKL_Complex8"
class ValueTypeConversionTraits<Amesos2::PMKL::_MKL_Complex8, TypeFrom>
Also, the build works fine if I enable Amesos rather than Amesos2.
@trilinos/amesos2
## Additional Information
Here's the configuration used
#!/bin/bash
TRILINOSHOME=/home/crdohrm/Trilinos.fork
TRILINOSINSTALLDIR=/home/crdohrm/Trilinos.fork/INSTALL_RELEASE_INTEL
BUILDTYPE=release
MKLROOT=/projects/sierra/linux_rh6/SDK/compilers/intel/composer_xe_2017.1.132/compilers_and_libraries/linux/mkl
rm -f CMakeCache.txt
rm -rf CMakeFiles
cmake \
-D Trilinos_DISABLE_ENABLED_FORWARD_DEP_PACKAGES=ON \
-D CMAKE_INSTALL_PREFIX:PATH=${TRILINOSINSTALLDIR} \
-D CMAKE_BUILD_TYPE:STRING=${BUILDTYPE} \
-D TPL_ENABLE_MPI:BOOL=ON \
-D CMAKE_VERBOSE_MAKEFILE:BOOL=OFF \
-D BUILD_SHARED_LIBS:BOOL=OFF \
-D Teuchos_ENABLE_STACKTRACE:BOOL=ON \
-D Trilinos_ENABLE_Fortran:BOOL=OFF \
-D Trilinos_ENABLE_ALL_PACKAGES:BOOL=OFF \
-D Trilinos_ENABLE_ALL_OPTIONAL_PACKAGES:BOOL=OFF \
-D Trilinos_ENABLE_SECONDARY_TESTED_CODE:BOOL=OFF \
-D Trilinos_ENABLE_Amesos2:BOOL=ON \
-D TPL_ENABLE_MKL:BOOL=ON \
-D TPL_ENABLE_PARDISO_MKL:BOOL=ON \
-D Trilinos_EXTRA_LINK_FLAGS:STRING="-Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_lp64.a ${MKLROOT}/lib/intel64/libmkl_core.a ${MKLROOT}/lib/intel64/libmkl_sequential.a ${MKLROOT}/lib/intel64/libmkl_blacs_openmpi_lp64.a -Wl,--end-group -lpthread -lm -ldl" \
-D MKL_LIBRARY_DIRS:FILEPATH="${MKLROOT}/lib/intel64" \
-D MKL_INCLUDE_DIRS:FILEPATH="${MKLROOT}/include" \
-D TPL_BLAS_LIBRARIES:STRING="${MKLROOT}/lib/intel64/libmkl_blas95_lp64.a" \
-D TPL_LAPACK_LIBRARIES:STRING="${MKLROOT}/lib/intel64/libmkl_lapack95_lp64.a" \
-D PARDISO_MKL_LIBRARY_DIRS:FILEPATH="${MKLROOT}/lib/intel64" \
-D PARDISO_MKL_INCLUDE_DIRS:FILEPATH="${MKLROOT}/include" \
\
\
${TRILINOSHOME}