Installing Trilinos 13.0.1 with CUDA support and Clang 11.0.1-2 fails when linking Kokkoscore on Debian 11

29 Views Asked by At

I'm trying to install Trilinos 13.0.1 with CUDA support on my machine, using clang. For this I'm using CMake 3.18.4 and make. Here, the compilation terminates already during the linking of Kokkos-core with following error statements (they appear more often, I'll keep it short for now)

< Lots of output for building object files >

[ 2%] Linking CXX shared library libkokkoscore.so
clang: warning: Unknown CUDA version. No version found in version.txt or cuda.h. Assuming the latest supported version 10.1 [-Wunknown-cuda-version]
CMakeFiles/kokkoscore.dir/impl/Kokkos_CPUDiscovery.cpp.o:1:1: error: expected unqualified-id
<U+007F>ELF<U+0002><U+0001><U+0001><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0001><U+0000>><U+0000><U+0001><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><B0><U+0006><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000>@<U+0000><U+0000><U+0000><U+0000><U+0000>@<U+0000><U+000B><U+0000><U+0001><U+0000>S<BF>T<U+0000><U+0000><U+0000><E8><U+0000><U+0000><U+0000><U+0000>H<89>ÿS<U+0000><U+0000><U+0000><E8><U+0000><U+0000><U+0000><U+0000><85><C0><B9><FF><FF><FF><FF><89><D8><U+000F>N<C1><85><DB><U+000F>N<C1>[<C3><U+000F><U+001F>D<U+0000><U+0000>SH<8D>=<U+0000><U+0000><U+0000><U+0000><E8><U+0000><U+0000><U+0000><U+0000>H<85><C0>tGH<89><C7>1<F6><BA>
                         
CMakeFiles/kokkoscore.dir/impl/Kokkos_CPUDiscovery.cpp.o:1:8: warning: null character ignored [-Wnull-character]
<U+007F>ELF<U+0002><U+0001><U+0001><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0001><U+0000>><U+0000><U+0001><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><B0><U+0006><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000>@<U+0000><U+0000><U+0000><U+0000><U+0000>@<U+0000><U+000B><U+0000><U+0001><U+0000>S<BF>T<U+0000><U+0000><U+0000><E8><U+0000><U+0000><U+0000><U+0000>H<89>ÿS<U+0000><U+0000><U+0000><E8><U+0000><U+0000><U+0000><U+0000><85><C0><B9><FF><FF><FF><FF><89><D8><U+000F>N<C1><85><DB><U+000F>N<C1>[<C3><U+000F><U+001F>D<U+0000><U+0000>SH<8D>=<U+0000><U+0000><U+0000><U+0000><E8><U+0000><U+0000><U+0000><U+0000>H<85><C0>tGH<89><C7>1<F6><BA>

CMakeFiles/kokkoscore.dir/impl/Kokkos_CPUDiscovery.cpp.o:1:41: error: source file is not valid UTF-8
<U+007F>ELF<U+0002><U+0001><U+0001><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0001><U+0000>><U+0000><U+0001><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><B0><U+0006><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000>@<U+0000><U+0000><U+0000><U+0000><U+0000>@<U+0000><U+000B><U+0000><U+0001><U+0000>S<BF>T<U+0000><U+0000><U+0000><E8><U+0000><U+0000><U+0000><U+0000>H<89>ÿS<U+0000><U+0000><U+0000><E8><U+0000><U+0000><U+0000><U+0000><85><C0><B9><FF><FF><FF><FF><89><D8><U+000F>N<C1><85><DB><U+000F>N<C1>[<C3><U+000F><U+001F>D<U+0000><U+0000>SH<8D>=<U+0000><U+0000><U+0000><U+0000><E8><U+0000><U+0000><U+0000><U+0000>H<85><C0>tGH<89><C7>1<F6><BA>

< Repeating similar output for different lines of the same file > 

The minimum example of my configure looks like this, the INSTALL_DIR is provided beforehand:

mkdir build
cd build
cmake .. \
-DCMAKE_C_COMPILER=/usr/bin/clang \
-DCMAKE_CXX_COMPILER=/usr/bin/clang++ \
-DTrilinos_ENABLE_EXPLICIT_INSTANTIATION:BOOL=ON \
-DBUILD_SHARED_LIBS:BOOL=ON \
-DCMAKE_BUILD_TYPE=RELEASE \
-DTrilinos_ENABLE_CXX11=ON \
-DTPL_ENABLE_MPI=ON \
-DTPL_ENABLE_gtest=OFF \
-DTPL_ENABLE_CUDA=ON \
-DTrilinos_ENABLE_Gtest=OFF \
-DTrilinos_ENABLE_Tpetra=ON \
-DTrilinos_ENABLE_Xpetra=ON \
-DTrilinos_ENABLE_OpenMP=ON \
-DTrilinos_ENABLE_Belos=ON \
-DTrilinos_ENABLE_Kokkos=ON \
-DKokkos_ARCH_AMDAVX=ON \
-DKokkos_ARCH_PASCAL60=ON \
-DKokkos_ENABLE_CUDA_UVM=ON \
-DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}"

Subsequently, make install is called.

Here some additional details about my system:

  • AMD Ryzen Threadripper 2950X
  • Nvidia Quadro P1000
  • Debian 11 (Bullseye)
  • clang 11.0.1-2

The compilation using the same configure script, just with -DTPL_ENABLE_CUDA=OFF finishes without problems. So it seems to me that I have some problem related to either the architecture specification for my GPU, or I'm missing something when using clang.

Did anyone encounter a similar problem or has an idea what I'm doing wrong?

0

There are 0 best solutions below