CUDA 9.2 Compatibility?

181 views
Skip to first unread message

ives...@gmail.com

unread,
Jun 5, 2018, 3:44:20 PM6/5/18
to deal.II User Group
I recently upgraded CUDA to 9.2.88.1, and building process failed at the following target:

```
[93%] Building CUDA object source/matrix_free/CMakeFiles/obj_matrix_free_debug.dir/cuda_matrix_free.cu.o

${DEALII_SOURCE_DIR}/include/deal.II/matrix_free/cuda_matrix_free.templates.h(391): error: a variable length array cannot have static storage duration                                                       
${DEALII_SOURCE_DIR}/include/deal.II/matrix_free/cuda_matrix_free.templates.h(392): error: a variable length array cannot have static storage duration                                                              
```

The Deal.II version is 9.0.0.


CUDA 9.1 (with GCC5 as host compiler) works fine. And I'm fine with CUDA 9.1. I'm just wondering if this is a compatibility issue with the latest CUDA or something's not right in my configuration?


The following is my CMake configuration, for reference. The clang compiler I'm using is 6.0.0.

```
cmake \
    -DCMAKE_INSTALL_PREFIX=${INSTALLATION} \
    -DCMAKE_C_COMPILER=clang \
    -DCMAKE_CXX_COMPILER=clang++ \
    -DCMAKE_CXX_FLAGS="-Wno-unknown-warning-option" \
    -DCMAKE_BUILD_TYPE=Debug \
    -DDEAL_II_WITH_THREADS=OFF \
    -DDEAL_II_WITH_MPI=ON \
    -DDEAL_II_WITH_CUDA=ON \
    -DDEAL_II_WITH_CXX17=OFF \
    -DHDF5_DIR=${HDF5_DIR} \
    -DLAPACK_FOUND=true \
    -DLAPACK_LIBRARIES:STRING="-L${MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -lm -ldl" \
    -DLAPACK_INCLUDE_DIRS="${MKLROOT}/include" \
    -DPETSC_DIR=${PETSC_DIR} \
    -DPETSC_ARCH="" \
    -DDEAL_II_WITH_ADOLC=OFF \
    -DDEAL_II_WITH_ARPACK=OFF \
    -DDEAL_II_WITH_ASSIMP=OFF \
    -DDEAL_II_WITH_GMSH=OFF \
    -DDEAL_II_WITH_GSL=OFF \
    -DDEAL_II_WITH_SCALAPACK=OFF \
    -DDEAL_II_WITH_SLEPC=OFF \
    -DDEAL_II_WITH_SUNDIALS=OFF \
    -DDEAL_II_WITH_TRILINOS=OFF \
    -DP4EST_DIR=${P4EST_DIR} \
    -DMETIS_DIR=${METIS_DIR} \
    -DDEAL_II_COMPONENT_DOCUMENTATION=OFF \
    -DDEAL_II_COMPONENT_EXAMPLES=OFF \
    -DDEAL_II_COMPONENT_PYTHON_BINDINGS=OFF \
    -DDEAL_II_HAVE_FLAG_Qunused_arguments=0 \
    ../
```

Bruno Turcksin

unread,
Jun 5, 2018, 4:14:49 PM6/5/18
to deal.II User Group
Hi,

We only test for CUDA 8.0 and CUDA 9.0 with gcc as the host compiler (the testing machine does not have the latest drivers so we are limited in which version we can test). I don't know what happens if you try to use clang but note that CUDA 9.2 does no_ support clang 6.0  (see here).

Best,

Bruno

Pi-Yueh Chuang

unread,
Jun 5, 2018, 4:30:59 PM6/5/18
to deal.II User Group
Thank you!
Then I think it's just a compatibility issue. 
I'm using GCC as the host compiler of nvcc 9.2. 
Clang is just for compiling other non-CUDA code, I think.

Best,
Pi-Yueh

Bruno Turcksin

unread,
Jun 5, 2018, 4:37:24 PM6/5/18
to dea...@googlegroups.com
Pi_Yueh,

Thanks for the report. I will try to find machine with newer drivers so I can fix this problem.

Best,

Bruno

--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to a topic in the Google Groups "deal.II User Group" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/dealii/8uMxMwwyURI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to dealii+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Daniel Arndt

unread,
Jun 5, 2018, 6:17:41 PM6/5/18
to deal.II User Group
Pi_Yueh,

Can you try if the fix at https://github.com/dealii/dealii/pull/6712 works for you?

Best,
Daniel

Pi-Yueh Chuang

unread,
Jun 5, 2018, 8:23:47 PM6/5/18
to deal.II User Group
Yes, it's working.

I applied the changes in that commit to the Deal.II 9.0.0 release, and building and `make test` both worked well.

Thanks!

Best,
Pi-Yueh
Reply all
Reply to author
Forward
0 new messages