[Trilinos-Users] [EXTERNAL] error building trilinos with CUDA support

Elliott, James John jjellio at sandia.gov
Tue Feb 21 12:13:30 EST 2017


Also,

Be careful with shell scripts. You probably need to re-export these in your shell before you run make.
Make sure you load the correct compiler modules as well. E.g,

./do_cmake_configure

. /usr/local/tools/dotkit/init.sh
 use  gcc-4.8.5p

export OMPI_CXX=/p/lscratche/hysom/trilinos-12.10.1-Source/Trilinos/packages/kokkos/config/nvcc_wrapper
export NVCC_WRAPPER_DEFAULT_COMPILER=/usr/apps/gnu/4.8.5/bin/g++
export CUDA_LAUNCH_BLOCKING=1

make -j

James
________________________________________
From: Trilinos-Users <trilinos-users-bounces at trilinos.org> on behalf of Elliott, James John <jjellio at sandia.gov>
Sent: Tuesday, February 21, 2017 10:06 AM
To: David Hysom; trilinos-users at trilinos.org
Subject: Re: [Trilinos-Users] [EXTERNAL] error building trilinos with CUDA support

Hi David,

Set
CMAKE_CXX_COMPILER
CMAKE_C_COMPILER

To
mpicxx and mpicc

This changes the compiler that mpicxx will use. Now, it will call nvcc_wrapper under the hood.
export OMPI_CXX=/p/lscratche/hysom/trilinos-12.10.1-Source/Trilinos/packages/kokkos/config/nvcc_wrapper

This sets the compiler that NVCC_WRAPPER uses to your g++ binary
export NVCC_WRAPPER_DEFAULT_COMPILER=/usr/apps/gnu/4.8.5/bin/g++

James

________________________________________
From: Trilinos-Users <trilinos-users-bounces at trilinos.org> on behalf of David Hysom <hysom1 at llnl.gov>
Sent: Tuesday, February 21, 2017 9:52 AM
To: trilinos-users at trilinos.org
Subject: [EXTERNAL] [Trilinos-Users] error building trilinos with CUDA support

acording to this page:
https://trilinos.org/about/documentation/building-with-cuda-support/

I should include this in my cmake script:

  -DCMAKE_CXX_FLAGS="-g -lineinfo -Xcudafe \
--diag_suppress=conversion_function_not_usable -Xcudafe \
--diag_suppress=cc_clobber_ignored -Xcudafe \
--diag_suppress=code_is_unreachable" \

However, those flags are not recognized by the compiler.
I was able to successfully configure with cuda support
(see script below), however, when I then run make I get
these errors:

/p/lscratche/hysom/trilinos-12.10.1-Source/packages/kokkos/core/src/Kokkos_Macros.hpp:163:40: error: '__device__' does not name a type
    #define KOKKOS_INLINE_FUNCTION       __device__  __host__  inline
                                         ^
/p/lscratche/hysom/trilinos-12.10.1-Source/packages/kokkos/core/src/impl/Kokkos_Utilities.hpp:58:1: note: in expansion of macro 'KOKKOS_INLINE_FUNCTION'
  KOKKOS_INLINE_FUNCTION
/p/lscratche/hysom/trilinos-12.10.1-Source/packages/kokkos/core/src/Kokkos_Core_fwd.hpp:182:3: note: in expansion of macro 'KOKKOS_INLINE_FUNCTION'
    KOKKOS_INLINE_FUNCTION static void verify(const void *) {}

Any help will be appreciated!

======
#!/bin/bash

. /usr/local/tools/dotkit/init.sh
use  gcc-4.8.5p

export OMPI_CXX=/p/lscratche/hysom/trilinos-12.10.1-Source/Trilinos/packages/kokkos/config/nvcc_wrapper
export NVCC_WRAPPER_DEFAULT_COMPILER=/usr/apps/gnu/4.8.5/bin/g++
export CUDA_LAUNCH_BLOCKING=1

export CUDA_TOOLKIT_ROOT_DIR=/opt/cudatoolkit-7.0
export CUDA_BIN_PATH=/opt/cudatoolkit-7.0

TRILINOS_SOURCE_PATH=/p/lscratche/hysom/trilinos-12.10.1-Source
TRILINOS_INSTALL_PATH=/p/lscratchf/hysom/trilinos_cuda

EXTRA_ARGS=$@

rm -f CMakeCache.txt

cmake  \
           -D CMAKE_CXX_COMPILER:STRING="/usr/apps/gnu/4.8.5/bin/g++" \
           -D CMAKE_C_COMPILER:STRING="/usr/apps/gnu/4.8.5/bin/gcc" \
           -DCMAKE_CXX_FLAGS="-g" \
            -DTPL_ENABLE_CUDA=ON \
            -DKokkos_ENABLE_Cuda=ON \
           -DKokkos_ENABLE_Cuda_UVM=ON \
           -D Trilinos_ENABLE_Fortran:BOOL=ON \
           -D Trilinos_ASSERT_MISSING_PACKAGES=OFF \
           -D Teuchos_ENABLE_COMPLEX:BOOL=OFF \
           -D Tpetra_INST_COMPLEX_DOUBLE:BOOL=OFF \
           -D Trilinos_ENABLE_ThreadPool:BOOL=OFF \
           -D Trilinos_ENABLE_TEUCHOS_TIME_MONITOR:BOOL=ON \
           -D TPL_ENABLE_Pthread:BOOL=OFF  \
           -D TPL_ENABLE_MPI:BOOL=OFF \
           -D TPL_ENABLE_TBB:BOOL=OFF \
           -D Trilinos_ENABLE_Kokkos:BOOL=ON \
           -D Kokkos_ENABLE_EXAMPLES:BOOL=ON \
           -D Kokkos_ENABLE_TESTS:BOOL=OFF \
           -D Tpetra_DefaultNode:STRING=Kokkos::Compat::KokkosCudaWrapperNode \
           -D Trilinos_ENABLE_OpenMP:BOOL=ON \
           -D Trilinos_ENABLE_CHECKED_STL:BOOL=OFF \
           -D Trilinos_ENABLE_EXPLICIT_INSTANTIATION:BOOL=OFF \
           -D Trilinos_ENABLE_ALL_OPTIONAL_PACKAGES:BOOL=OFF \
           -D Trilinos_ENABLE_Anasazi:BOOL=ON \
           -D Trilinos_ENABLE_Tpetra:BOOL=ON \
           -D Trilinos_ENABLE_Zoltan2:BOOL=OFF \
           -D Trilinos_ENABLE_MueLu:BOOL=OFF \
           -D Zoltan2_ENABLE_TESTS:BOOL=OFF \
           -D MueLu_ENABLE_TESTS:BOOL=OFF \
           -D Tpetra_ENABLE_TESTS:BOOL=OFF \
           -D Trilinos_ENABLE_EXAMPLES:BOOL=OFF \
           -D CMAKE_INSTALL_PREFIX:STRING=${TRILINOS_INSTALL_PATH} \
           -D CMAKE_BUILD_TYPE:STRING=RELEASE \
           -D Kokkos_ENABLE_Serial:BOOL=OFF \
           -D DART_TESTING_TIMEOUT:STRING=600 \
           -D Trilinos_ENABLE_Belos=ON \
           -D Trilinos_ENABLE_Ifpack2=ON \
           ${EXTRA_ARGS} \
           ${TRILINOS_SOURCE_PATH}

_______________________________________________
Trilinos-Users mailing list
Trilinos-Users at trilinos.org
https://trilinos.org/mailman/listinfo/trilinos-users
_______________________________________________
Trilinos-Users mailing list
Trilinos-Users at trilinos.org
https://trilinos.org/mailman/listinfo/trilinos-users


More information about the Trilinos-Users mailing list