cuda-10.1 stk and tpetra
Created by: bathmatt
Can't compile stk or tpetra with cuda 10.1
Here is a stk error
/usr/tce/packages/gcc/gcc-7.3.1/rh/usr/include/c++/7/bits/basic_string.tcc: In instantiation of 'static std::basic_string<_CharT, _Traits, _Alloc>::_Rep* std::basic_string<_CharT, _Traits, _Alloc>::_Rep::_S_create(std::basic_string<_CharT, _Traits, _Alloc>::size_type, std::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = ignorecase_traits; _Alloc = std::allocator<char>; std::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]':
/usr/tce/packages/gcc/gcc-7.3.1/rh/usr/include/c++/7/bits/basic_string.tcc:1078:24: required from '_CharT* std::basic_string<_CharT, _Traits, _Alloc>::_Rep::_M_clone(const _Alloc&, std::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = char; _Traits = ignorecase_traits; _Alloc = std::allocator<char>; std::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]'
/usr/tce/packages/gcc/gcc-7.3.1/rh/usr/include/c++/7/bits/basic_string.h:3222:79: required from '_CharT* std::basic_string<_CharT, _Traits, _Alloc>::_Rep::_M_grab(const _Alloc&, const _Alloc&) [with _CharT = char; _Traits = ignorecase_traits; _Alloc = std::allocator<char>]'
/usr/tce/packages/gcc/gcc-7.3.1/rh/usr/include/c++/7/bits/basic_string.tcc:610:198: required from 'std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = ignorecase_traits; _Alloc = std::allocator<char>]'
/usr/WS1/mbetten/build/Trilinos.new/packages/stk/stk_util/stk_util/util/ci_string.cpp:77:37: required from here
/usr/tce/packages/gcc/gcc-7.3.1/rh/usr/include/c++/7/bits/basic_string.tcc:1067:16: error: cannot call member function 'void std::basic_string<_CharT, _Traits, _Alloc>::_Rep::_M_set_sharable() [with _CharT = char; _Traits = ignorecase_traits; _Alloc = std::allocator<char>]' without object
__p->_M_set_sharable();
~~~~~~~~~^~
Here is a tpetra error
[ 84%] Building CXX object packages/tpetra/core/src/CMakeFiles/tpetra.dir/Tpetra_MultiVector_INT_INT_INT_SERIAL.cpp.o
/usr/WS1/mbetten/build/Trilinos.new/packages/tpetra/core/src/Tpetra_MultiVector_def.hpp: In instantiation of 'Teuchos::ArrayRCP<const T> Tpetra::MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node>::getData(size_t) const [with Scalar = int; LocalOrdinal = int; GlobalOrdinal = int; Node = Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial>; size_t = long unsigned int]':
/usr/WS1/mbetten/build/Trilinos.new/cuda/packages/tpetra/core/src/Tpetra_MultiVector_INT_INT_INT_SERIAL.cpp:78:16: required from here
/usr/WS1/mbetten/build/Trilinos.new/packages/tpetra/core/src/Tpetra_MultiVector_def.hpp:2905:10: error: passing 'const Tpetra::MultiVector<int, int, int, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial> >' as 'this' argument discards qualifiers [-fpermissive]
const_cast<MV*> (this)->sync_host ();
~~~~~^~
/usr/WS1/mbetten/build/Trilinos.new/packages/tpetra/core/src/Tpetra_MultiVector_def.hpp:4184:1: note: in call to 'void Tpetra::MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node>::sync_host() [with Scalar = int; LocalOrdinal = int; GlobalOrdinal = int; Node = Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial>]'
sync_host () {
^ ~~~~~~~~~~~~~~
/usr/WS1/mbetten/build/Trilinos.new/packages/tpetra/core/src/Tpetra_MultiVector_def.hpp: In instantiation of 'void Tpetra::MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node>::dot(const Tpetra::MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node>&, const Kokkos::View<typename Kokkos::Details::InnerProductSpaceTraits<typename Kokkos::Details::ArithTraits<RealFloatType>::val_type>::dot_type*, Kokkos::HostSpace>&) const [with Scalar = int; LocalOrdinal = int; GlobalOrdinal = int; Node = Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial>; typename Kokkos::Details::InnerProductSpaceTraits<typename Kokkos::Details::ArithTraits<RealFloatType>::val_type>::dot_type = int]':
/usr/WS1/mbetten/build/Trilinos.new/cuda/packages/tpetra/core/src/Tpetra_MultiVector_INT_INT_INT_SERIAL.cpp:78:16: required from here
/usr/WS1/mbetten/build/Trilinos.new/packages/tpetra/core/src/Tpetra_MultiVector_def.hpp:1839:12: error: passing 'const Tpetra::MultiVector<int, int, int, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial> >' as 'this' argument discards qualifiers [-fpermissive]
const_cast<MV*>(this)->sync_device ();
~~~~~^~
/usr/WS1/mbetten/build/Trilinos.new/packages/tpetra/core/src/Tpetra_MultiVector_def.hpp:4191:1: note: in call to 'void Tpetra::MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node>::sync_device() [with Scalar = int; LocalOrdinal = int; GlobalOrdinal = int; Node = Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial>]'
sync_device () {
^ ~~~~~~~~~~~~~~~~
/usr/WS1/mbetten/build/Trilinos.new/packages/tpetra/core/src/Tpetra_MultiVector_def.hpp: In instantiation of 'void Tpetra::MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node>::normWeighted(const Tpetra::MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node>&, const Teuchos::ArrayView<typename Kokkos::Details::ArithTraits<typename Kokkos::Details::ArithTraits<RealFloatType>::val_type>::mag_type>&) const [with Scalar = int; LocalOrdinal = int; GlobalOrdinal = int; Node = Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial>; typename Kokkos::Details::ArithTraits<typename Kokkos::Details::ArithTraits<RealFloatType>::val_type>::mag_type = int]':
/usr/WS1/mbetten/build/Trilinos.new/cuda/packages/tpetra/core/src/Tpetra_MultiVector_INT_INT_INT_SERIAL.cpp:78:16: required from here
/usr/WS1/mbetten/build/Trilinos.new/packages/tpetra/core/src/Tpetra_MultiVector_def.hpp:2038:12: error: passing 'const Tpetra::MultiVector<int, int, int, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial> >' as 'this' argument discards qualifiers [-fpermissive]
const_cast<MV*> (this)->sync_device ();
~~~~~~~^~
/usr/WS1/mbetten/build/Trilinos.new/packages/tpetra/core/src/Tpetra_MultiVector_def.hpp:4191:1: note: in call to 'void Tpetra::MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node>::sync_device() [with Scalar = int; LocalOrdinal = int; GlobalOrdinal = int; Node = Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial>]'
sync_device () {
^ ~~~~~~~~~~~~~~~~
make[2]: *** [packages/tpetra/core/src/CMakeFiles/t
Is this a known issue?
I'm trying to compile on lassen, the open sierra machine
@trilinos/stk @trilinos/tpetra
Expectations
Compiles under nvcc-10.1
Current Behavior
compiles with the same script under 9.1
Motivation and Context
@nmhamster says cuda 10.1 is the bomb...
Steps to Reproduce
No idea on what local machine has 10.1, I can work through things
Your Environment
gcc-7.3.1 cuda-10.1.105