Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CMake example broken with CUDA backend #1468

Closed
AdamSimpson opened this issue Mar 9, 2018 · 5 comments
Closed

CMake example broken with CUDA backend #1468

AdamSimpson opened this issue Mar 9, 2018 · 5 comments
Assignees
Labels
Bug Broken / incorrect code; it could be Kokkos' responsibility, or others’ (e.g., Trilinos)
Milestone

Comments

@AdamSimpson
Copy link

AdamSimpson commented Mar 9, 2018

The CMake example no longer appears to build with the CUDA backend after the recent merge of development into master:

$ cd example/cmake_build
$ mkdir build && cd build
$ cmake -DKOKKOS_ENABLE_CUDA=ON -DCMAKE_CXX_COMPILER=/ccs/home/atj/kokkos/bin/nvcc_wrapper ..
-- The CXX compiler identification is GNU 6.4.0
-- The C compiler identification is GNU 4.8.5
-- The Fortran compiler identification is GNU 4.8.5
-- Check for working CXX compiler: /ccs/home/atj/kokkos/bin/nvcc_wrapper
-- Check for working CXX compiler: /ccs/home/atj/kokkos/bin/nvcc_wrapper -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - failed
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working Fortran compiler: /usr/bin/gfortran
-- Check for working Fortran compiler: /usr/bin/gfortran  -- works
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Checking whether /usr/bin/gfortran supports Fortran 90
-- Checking whether /usr/bin/gfortran supports Fortran 90 -- yes
-- 
-- ****************** Kokkos Settings ******************
-- Execution Spaces
--   Device Parallel: Cuda
--     Host Parallel: None
--       Host Serial: Serial
-- 
-- Architectures:
--     None
-- 
-- Enabled options
--   KOKKOS_ENABLE_SERIAL
--   KOKKOS_ENABLE_CUDA
--   KOKKOS_ENABLE_LIBRT
--   KOKKOS_ENABLE_PROFILING
--   KOKKOS_ENABLE_DEPRECATED_CODE
-- 
-- Final kokkos settings variable:
--   env;KOKKOS_SRC_PATH=/ccs/home/atj/kokkos;KOKKOS_PATH=/ccs/home/atj/kokkos;KOKKOS_INSTALL_PATH=/usr/local;KOKKOS_ARCH=None;KOKKOS_DEVICES=Cuda,Serial;KOKKOS_DEBUG=no;KOKKOS_OPTIONS=disable_dualview_modify_check;KOKKOS_USE_TPLS=librt;CUDA_PATH=;PATH="/bin:/sw/sources/lsf-tools/summit/bin:/autofs/nccs-svm1_sw/summit/.swci/0-core/opt/spack/20171006/linux-rhel7-ppc64le/gcc-4.8.5/cmake-3.9.2-lnpnk356fyio3b6rq5bdhr2djjirtsxk/bin:/sw/summit/cuda/9.1.85/bin:/autofs/nccs-svm1_sw/summit/.swci/1-compute/opt/spack/20171006/linux-rhel7-ppc64le/gcc-6.4.0/spectrum-mpi-10.2.0.0-20180110-ly2nyvslpq5p6o5ndkhrcagfhvdg3a3q/bin:/sw/summit/gcc/6.4.0/bin:/ccs/home/atj/.local/bin:/sw/sources/hpss/bin:/opt/ibm/spectrumcomputing/lsf/10.1/linux3.10-glibc2.17-ppc64le-csm/etc:/opt/ibm/spectrumcomputing/lsf/10.1/linux3.10-glibc2.17-ppc64le-csm/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/ibm/flightlog/bin:/opt/ibutils/bin:/opt/ibm/spectrum_mpi/jsm_pmix/bin:/opt/puppetlabs/bin:/usr/lpp/mmfs/bin"
-- *****************************************************
-- 
-- Submodule build
-- The project name is: Kokkos
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
LIB_cudart
    linked by target "kokkos" in directory /ccs/home/atj/kokkos

-- Configuring incomplete, errors occurred!
See also "/ccs/home/atj/kokkos/example/cmake_build/build/CMakeFiles/CMakeOutput.log".
See also "/ccs/home/atj/kokkos/example/cmake_build/build/CMakeFiles/CMakeError.log".

I haven't dug in too deeply yet but it's not immediately clear to me what's causing this.

The CMake backend is also missing support for Volta although that's a much easier fix I believe.

@crtrott
Copy link
Member

crtrott commented Mar 10, 2018

Hm curious. I look into this.

@crtrott
Copy link
Member

crtrott commented Mar 10, 2018

I have replicated this. One issue obviously is that we do not have a standalone test running doing the cmake test with CUDA enabled. We do have cmake testing going on but not with CUDA. We also test CUDA with cmake/tribits during integration but not with CMake standalone we need to fix this.
I am tempted to fix this directly and push this both into Master and Trilinos to fix the issue here.

@ibaned ibaned self-assigned this Mar 14, 2018
@ibaned ibaned added this to the 2018 April milestone Mar 14, 2018
@ibaned ibaned added the Bug Broken / incorrect code; it could be Kokkos' responsibility, or others’ (e.g., Trilinos) label Mar 14, 2018
@crtrott
Copy link
Member

crtrott commented Mar 19, 2018

Interestingly enough it still works on my workstation ...

@ibaned
Copy link
Contributor

ibaned commented Mar 21, 2018

@AdamSimpson the develop branch should have fixed this, so if you'd like to test that and let us know if it works, that would be great.

@AdamSimpson
Copy link
Author

Awesome! Everything seems to be working in the example as well as our actual application, thanks guys!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Broken / incorrect code; it could be Kokkos' responsibility, or others’ (e.g., Trilinos)
Projects
None yet
Development

No branches or pull requests

4 participants