Xpetra: Cloner_UnitTests build error w/ Cuda & Serial enabled
Created by: mhoemmen
@trilinos/xpetra Xpetra's Cloner_UnitTests reports a build error with Cuda and Serial both enabled in Tpetra:
Linking CXX executable Xpetra_Cloner_UnitTests.exe
CMakeFiles/Xpetra_Cloner_UnitTests.dir/Cloner_UnitTests.cpp.o: In function Xpetra::MapFactory<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> >::createContigMap(Xpetra::UnderlyingLib, unsigned long, unsigned long, Teuchos::RCP<Teuchos::Comm<int> const> const&)': .../Trilinos/packages/xpetra/src/Map/Xpetra_MapFactory.hpp:252: undefined reference to
Teuchos::RCP<Tpetra::Map<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> > const> Tpetra::createContigMapWithNode<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> >(unsigned long, unsigned long, Teuchos::RCPTeuchos::Comm const&, Teuchos::RCP<Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> > const&)'
CMakeFiles/Xpetra_Cloner_UnitTests.dir/Cloner_UnitTests.cpp.o: In function Tpetra::Details::MapCloner<Tpetra::Map<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> >, Tpetra::Map<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> > >::clone(Tpetra::Map<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> > const&, Teuchos::RCP<Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> > const&)': .../Trilinos/packages/tpetra/core/src/Tpetra_Map_decl.hpp:1633: undefined reference to
Tpetra::Map<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> >::Map()'
.../Trilinos/packages/tpetra/core/src/Tpetra_Map_decl.hpp:1693: undefined reference to Tpetra::Directory<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> >::Directory()' .../Trilinos/packages/tpetra/core/src/Tpetra_Map_decl.hpp:1693: undefined reference to
Tpetra::Map<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> >::~Map()'
CMakeFiles/Xpetra_Cloner_UnitTests.dir/Cloner_UnitTests.cpp.o: In function Tpetra::Details::FixedHashTable<long long, int, Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace> >::FixedHashTable<Kokkos::Device<Kokkos::Cuda, Kokkos::CudaUVMSpace> >(Tpetra::Details::FixedHashTable<long long, int, Kokkos::Device<Kokkos::Cuda, Kokkos::CudaUVMSpace> > const&, std::enable_if<!(std::is_same<Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace>, Kokkos::Device<Kokkos::Cuda, Kokkos::CudaUVMSpace> >::value), int>::type*)': .../Trilinos/packages/tpetra/core/src/Tpetra_Details_FixedHashTable_decl.hpp:299: undefined reference to
Tpetra::Details::FixedHashTable<long long, int, Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace> >::check() const'
CMakeFiles/Xpetra_Cloner_UnitTests.dir/Cloner_UnitTests.cpp.o:(.rodata._ZTVN6Tpetra7Details14FixedHashTableIxiN6Kokkos6DeviceINS2_6SerialENS2_9HostSpaceEEEEE[_ZTVN6Tpetra7Details14FixedHashTableIxiN6Kokkos6DeviceINS2_6SerialENS2_9HostSpaceEEEEE]+0x18): undefined reference to Tpetra::Details::FixedHashTable<long long, int, Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace> >::description() const' CMakeFiles/Xpetra_Cloner_UnitTests.dir/Cloner_UnitTests.cpp.o:(.rodata._ZTVN6Tpetra7Details14FixedHashTableIxiN6Kokkos6DeviceINS2_6SerialENS2_9HostSpaceEEEEE[_ZTVN6Tpetra7Details14FixedHashTableIxiN6Kokkos6DeviceINS2_6SerialENS2_9HostSpaceEEEEE]+0x20): undefined reference to
Tpetra::Details::FixedHashTable<long long, int, Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace> >::describe(Teuchos::basic_FancyOStream<char, std::char_traits >&, Teuchos::EVerbosityLevel) const'
CMakeFiles/Xpetra_Cloner_UnitTests.dir/Cloner_UnitTests.cpp.o: In function Xpetra::TpetraMap<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> >::getLocalElement(long long) const': .../Trilinos/packages/xpetra/src/Map/Xpetra_TpetraMap.hpp:166: undefined reference to
Tpetra::Map<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> >::getLocalElement(long long) const'
CMakeFiles/Xpetra_Cloner_UnitTests.dir/Cloner_UnitTests.cpp.o: In function Xpetra::TpetraMap<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> >::getGlobalElement(int) const': .../Trilinos/packages/xpetra/src/Map/Xpetra_TpetraMap.hpp:169: undefined reference to
Tpetra::Map<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> >::getGlobalElement(int) const'
CMakeFiles/Xpetra_Cloner_UnitTests.dir/Cloner_UnitTests.cpp.o: In function Xpetra::TpetraMap<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> >::getRemoteIndexList(Teuchos::ArrayView<long long const> const&, Teuchos::ArrayView<int> const&, Teuchos::ArrayView<int> const&) const': .../Trilinos/packages/xpetra/src/Map/Xpetra_TpetraMap.hpp:172: undefined reference to
Tpetra::Map<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> >::getRemoteIndexList(Teuchos::ArrayView const&, Teuchos::ArrayView const&, Teuchos::ArrayView const&) const'
CMakeFiles/Xpetra_Cloner_UnitTests.dir/Cloner_UnitTests.cpp.o: In function Xpetra::TpetraMap<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> >::getRemoteIndexList(Teuchos::ArrayView<long long const> const&, Teuchos::ArrayView<int> const&) const': .../Trilinos/packages/xpetra/src/Map/Xpetra_TpetraMap.hpp:175: undefined reference to
Tpetra::Map<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> >::getRemoteIndexList(Teuchos::ArrayView const&, Teuchos::ArrayView const&) const'
CMakeFiles/Xpetra_Cloner_UnitTests.dir/Cloner_UnitTests.cpp.o: In function Xpetra::TpetraMap<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> >::getNodeElementList() const': .../Trilinos/packages/xpetra/src/Map/Xpetra_TpetraMap.hpp:178: undefined reference to
Tpetra::Map<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> >::getNodeElementList() const'
CMakeFiles/Xpetra_Cloner_UnitTests.dir/Cloner_UnitTests.cpp.o: In function Xpetra::TpetraMap<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> >::isNodeLocalElement(int) const': .../Trilinos/packages/xpetra/src/Map/Xpetra_TpetraMap.hpp:186: undefined reference to
Tpetra::Map<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> >::isNodeLocalElement(int) const'
CMakeFiles/Xpetra_Cloner_UnitTests.dir/Cloner_UnitTests.cpp.o: In function Xpetra::TpetraMap<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> >::isNodeGlobalElement(long long) const': .../Trilinos/packages/xpetra/src/Map/Xpetra_TpetraMap.hpp:189: undefined reference to
Tpetra::Map<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> >::isNodeGlobalElement(long long) const'
CMakeFiles/Xpetra_Cloner_UnitTests.dir/Cloner_UnitTests.cpp.o: In function Xpetra::TpetraMap<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> >::isContiguous() const': .../Trilinos/packages/xpetra/src/Map/Xpetra_TpetraMap.hpp:192: undefined reference to
Tpetra::Map<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> >::isContiguous() const'
CMakeFiles/Xpetra_Cloner_UnitTests.dir/Cloner_UnitTests.cpp.o: In function Xpetra::TpetraMap<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> >::isDistributed() const': .../Trilinos/packages/xpetra/src/Map/Xpetra_TpetraMap.hpp:195: undefined reference to
Tpetra::Map<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> >::isDistributed() const'
CMakeFiles/Xpetra_Cloner_UnitTests.dir/Cloner_UnitTests.cpp.o: In function Xpetra::TpetraMap<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> >::isCompatible(Xpetra::Map<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> > const&) const': .../Trilinos/packages/xpetra/src/Map/Xpetra_TpetraMap.hpp:198: undefined reference to
Tpetra::Map<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> >::isCompatible(Tpetra::Map<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> > const&) const'
CMakeFiles/Xpetra_Cloner_UnitTests.dir/Cloner_UnitTests.cpp.o: In function Xpetra::TpetraMap<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> >::isSameAs(Xpetra::Map<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> > const&) const': .../Trilinos/packages/xpetra/src/Map/Xpetra_TpetraMap.hpp:201: undefined reference to
Tpetra::Map<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> >::isSameAs(Tpetra::Map<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> > const&) const'
CMakeFiles/Xpetra_Cloner_UnitTests.dir/Cloner_UnitTests.cpp.o: In function Xpetra::TpetraMap<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> >::getComm() const': .../Trilinos/packages/xpetra/src/Map/Xpetra_TpetraMap.hpp:209: undefined reference to
Tpetra::Map<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> >::getComm() const'
CMakeFiles/Xpetra_Cloner_UnitTests.dir/Cloner_UnitTests.cpp.o: In function Xpetra::TpetraMap<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> >::getNode() const': .../Trilinos/packages/xpetra/src/Map/Xpetra_TpetraMap.hpp:212: undefined reference to
Tpetra::Map<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> >::getNode() const'
CMakeFiles/Xpetra_Cloner_UnitTests.dir/Cloner_UnitTests.cpp.o: In function Xpetra::TpetraMap<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> >::removeEmptyProcesses() const': .../Trilinos/packages/xpetra/src/Map/Xpetra_TpetraMap.hpp:226: undefined reference to
Tpetra::Map<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> >::removeEmptyProcesses() const'
CMakeFiles/Xpetra_Cloner_UnitTests.dir/Cloner_UnitTests.cpp.o: In function Xpetra::TpetraMap<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> >::replaceCommWithSubset(Teuchos::RCP<Teuchos::Comm<int> const> const&) const': .../Trilinos/packages/xpetra/src/Map/Xpetra_TpetraMap.hpp:229: undefined reference to
Tpetra::Map<int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Cuda, Kokkos::CudaUVMSpace> >::replaceCommWithSubset(Teuchos::RCPTeuchos::Comm const&) const'
collect2: error: ld returned 1 exit status