Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • T Trilinos
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 936
    • Issues 936
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 22
    • Merge requests 22
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • James Willenbring
  • Trilinos
  • Issues
  • #4264

Closed
Open
Created Jan 25, 2019 by James Willenbring@jmwilleMaintainer

MueLu: Compiling MueLu header files failes with CUDA support enabled in Kokkos

Created by: masterleinad

@trilinos/muelu

Current Behavior

Compiling a file just containing

#include <MueLu.hpp>

fails with

/export/home/darndt/Trilinos-dev/include/Cuda/Kokkos_Cuda_Parallel.hpp(451): error: calling a __host__ function("") from a __device__ function("Kokkos::Impl::ParallelFor< ::,  ::Kokkos::RangePolicy< ::Kokkos::Cuda,  ::Kokkos::IndexType<int>  > ,  ::Kokkos::Cuda> ::operator ()") is not allowed

/export/home/darndt/Trilinos-dev/include/Cuda/Kokkos_Cuda_Parallel.hpp(451): error: calling a __host__ function("") from a __device__ function("Kokkos::Impl::ParallelFor< ::,  ::Kokkos::RangePolicy< ::Kokkos::Cuda,  ::Kokkos::IndexType<int>  > ,  ::Kokkos::Cuda> ::operator ()") is not allowed

/export/home/darndt/Trilinos-dev/include/Cuda/Kokkos_Cuda_Parallel.hpp(2461): error: calling a __host__ function("") from a __device__ function("Kokkos::Impl::ParallelReduce< ::Kokkos::Impl::CudaFunctorAdapter< ::,  ::Kokkos::RangePolicy< ::Kokkos::Cuda > , unsigned long, void> ,  ::Kokkos::RangePolicy< ::Kokkos::Cuda > ,  ::Kokkos::InvalidType,  ::Kokkos::Cuda> ::operator ()") is not allowed

/export/home/darndt/Trilinos-dev/include/Cuda/Kokkos_Cuda_Parallel.hpp(451): error: calling a __host__ function("") from a __device__ function("Kokkos::Impl::ParallelFor< ::,  ::Kokkos::RangePolicy< ::Kokkos::Cuda,  ::Kokkos::IndexType<int>  > ,  ::Kokkos::Cuda> ::operator ()") is not allowed

4 errors detected in the compilation of "/tmp/tmpxft_00006db9_00000000-7_trilinos_precondition_muelu.cpp1.ii".

Unfortunately, this error doesn't really tell which function it is complaining about ("") and there is no additional information who tried to instantiate the template.

Your Environment

The commit used is 4f15e6fb and I configured Trilinos using

 -DTrilinos_ENABLE_Amesos=ON                      \
 -DTrilinos_ENABLE_Epetra=ON                      \
 -DTrilinos_ENABLE_EpetraExt=ON                   \
 -DTrilinos_ENABLE_Ifpack=ON                      \
 -DTrilinos_ENABLE_AztecOO=ON                     \
 -DTrilinos_ENABLE_Sacado=OFF                     \
 -DTrilinos_ENABLE_Kokkos=ON                      \
 -DTrilinos_ENABLE_Teuchos=ON                     \
 -DTrilinos_ENABLE_MueLu=ON                       \
 -DTrilinos_ENABLE_ML=ON                          \
 -DTrilinos_ENABLE_ROL=ON                         \
 -DTrilinos_ENABLE_Tpetra=ON                      \
 -DTrilinos_ENABLE_Zoltan=ON                      \
 -DTrilinos_ENABLE_TESTS=ON                       \
 -DTrilinos_VERBOSE_CONFIGURE=OFF                 \
 -DTPL_ENABLE_MPI=ON                              \
 -DBUILD_SHARED_LIBS=ON                           \
 -DCMAKE_VERBOSE_MAKEFILE=OFF                     \
 -DCMAKE_BUILD_TYPE=RELEASE                       \
 -DCMAKE_INSTALL_PREFIX:PATH=$HOME/Trilinos-dev   \
 -DCMAKE_CXX_FLAGS="-std=c++11 --expt-extended-lambda -g -lineinfo -Xcudafe --diag_suppress=conversion_function_not_usable -Xcudafe --diag_suppress=cc_clobber_ignored -Xcudafe --diag_suppress=code_is_unreachable" \
 -DTPL_ENABLE_CUDA=ON                             \
 -DKokkos_ENABLE_Cuda=ON                          \
 -DKokkos_ENABLE_Cuda_Lambda:BOOL=ON              \
 -DKokkos_ENABLE_Cuda_UVM:BOOL=ON                 \

The compiler used (via nvcc_wrapper) is gcc-5.5 (openmpi-3.1.3) and cuda-8.0.

Related Issues

Related to https://github.com/dealii/dealii/pull/7634 and https://github.com/dealii/dealii/issues/6856.

Assignee
Assign to
Time tracking