@trilinos/tpetra
develop branch builds with complex numbers
compiler errors:
7427 In file included from /Users/davydden/spack/var/spack/stage/trilinos-develop-4gcjgzbmvurjff4rv22yzmdy7awduk6b/Trilinos/packages/belos/tpetra/src/solvers/Belos_Tpetra_GmresPipeline.cpp:45:
>> 7428 /Users/davydden/spack/var/spack/stage/trilinos-develop-4gcjgzbmvurjff4rv22yzmdy7awduk6b/Trilinos/packages/belos/tpetra/src/solvers/Belos_Tpetra_GmresPipeline.hpp:57:29: error: invalid operands to binary expression ('double' and 'complex<float>')
7429 const SC tolOrtho = 10.0*std::sqrt(eps);
7430 ~~~~^~~~~~~~~~~~~~~
7431 /Users/davydden/spack/var/spack/stage/trilinos-develop-4gcjgzbmvurjff4rv22yzmdy7awduk6b/Trilinos/packages/belos/tpetra/src/solvers/Belos_Tpetra_GmresPipeline.hpp:30:3: note: in instantiation of member function 'BelosTpetra::Impl::GmresPipeline<std::__1::comp
lex<float>, Tpetra::Classes::MultiVector<std::__1::complex<float>, int, int, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> >, Tpetra::Classes::Operator<std::__1::complex<float>, int, int, Kokkos::Compat::KokkosDeviceWrapperNode<K
okkos::Serial, Kokkos::HostSpace> > >::solveOneVec' requested here
7432 GmresPipeline () :
7433 ^
7434 /Users/davydden/spack/var/spack/stage/trilinos-develop-4gcjgzbmvurjff4rv22yzmdy7awduk6b/Trilinos/packages/belos/tpetra/src/solvers/Belos_Tpetra_SolverManager.hpp:25:80: note: in instantiation of member function 'BelosTpetra::Impl::GmresPipeline<std::__1::com
plex<float>, Tpetra::Classes::MultiVector<std::__1::complex<float>, int, int, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> >, Tpetra::Classes::Operator<std::__1::complex<float>, int, int, Kokkos::Compat::KokkosDeviceWrapperNode<
Kokkos::Serial, Kokkos::HostSpace> > >::GmresPipeline' requested here
...
7453 operator*(const complex<_Tp>& __z, const complex<_Tp>& __w)
7454 ^
7455 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/complex:650:1: note: candidate template ignored: could not match 'complex<type-parameter-0-0>' against 'double'
7456 operator*(const complex<_Tp>& __x, const _Tp& __y)
7457 ^
configure and build develop branch with
-DTrilinos_ENABLE_EXPLICIT_INSTANTIATION:BOOL=OFF
-DTpetra_INST_DOUBLE:BOOL=ON
-DTpetra_INST_INT_UNSIGNED_LONG=ON
-DTpetra_INST_INT_LONG:BOOL=ON
-DTpetra_INST_COMPLEX_DOUBLE=ON
-DTpetra_INST_COMPLEX_FLOAT=ON
-DTpetra_INST_FLOAT=ON
-DTpetra_INST_SERIAL=ON
-DTeuchos_ENABLE_COMPLEX=ON
-DTeuchos_ENABLE_FLOAT=ON
-DTeuchos_ENABLE_LONG_LONG_INT:BOOL=ON
macOS Mojave
Apple Clang 10.0.0
gfortran 8.2.0
Spack config/build logs
@trilinos/belos @trilinos/tpetra
GitHub only lets certain people tag groups -- not sure why.
@davydden Does this work now? We've made some changes to this and other classes.
@mhoemmen
Does this work now?
this error is gone, there are other issues though:
8158 In file included from /Users/davydden/spack/var/spack/stage/trilinos-develop-p6xmhguuqtomai5fy4a36qmnn4wpqzfq/Trilinos/spack-build/packages/muelu/src/Utils/ExplicitInstantiation/MueLu_Zoltan2Interface.cpp:55:
>> 8159 /Users/davydden/spack/var/spack/stage/trilinos-develop-p6xmhguuqtomai5fy4a36qmnn4wpqzfq/Trilinos/packages/muelu/src/Rebalancing/MueLu_Zoltan2Interface_def.hpp:197:24: error: no matching constructor for initialization of 'InputAdapterType' (aka 'XpetraMultiVe
ctorAdapter<MultiVector<float, int, int, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> > >')
8160 InputAdapterType adapter(coords, weights, strides);
8161 ^ ~~~~~~~~~~~~~~~~~~~~~~~~
8162 /Users/davydden/spack/var/spack/stage/trilinos-develop-p6xmhguuqtomai5fy4a36qmnn4wpqzfq/Trilinos/packages/muelu/src/Utils/MueLu_ETI_4arg.hpp:32:45: note: in instantiation of member function 'MueLu::Zoltan2Interface<float, int, int, Kokkos::Compat::KokkosDevi
ceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> >::Build' requested here
8163 TPETRA_INSTANTIATE_SLGN_NO_ORDINAL_SCALAR(MUELU_ETI_GROUP)
8164 ^
8165 /Users/davydden/spack/var/spack/stage/trilinos-develop-p6xmhguuqtomai5fy4a36qmnn4wpqzfq/Trilinos/packages/zoltan2/src/input/Zoltan2_XpetraMultiVectorAdapter.hpp:119:3: note: candidate constructor not viable: no known conversion from 'std::vector<const double
*>' to 'std::vector<const scalar_t *> &' (aka 'vector<const float *> &') for 2nd argument
You should be able to reproduce it via spack
spack install trilinos@develop+rol~openmp+tpetra+float~superlu-dist+complex
@davydden Thanks for the report! I've seen this before with Scalar=float. I'll close this issue, but open a new one for the MueLu build errors.
Most helpful comment
@trilinos/belos @trilinos/tpetra
GitHub only lets certain people tag groups -- not sure why.