Project

General

Profile

Bug #2958

Compiling master (to become 2020) using CUDA 9.0

Added by Magnus Lundborg 3 months ago. Updated 3 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
build system
Target version:
Affected version - extra info:
master (current commit f457e9a4ed4341a478e8d4c271d41f99e6f7ae24)
Affected version:
Difficulty:
uncategorized
Close

Description

When compiling master with CUDA 9.0 (gcc-5 or gcc-6) I get the following type of errors:

/usr/lib/gcc/x86_64-linux-gnu/6/include/avx512fintrin.h(9220): error: argument of type "const void *" is incompatible with parameter of type "const float *"
...
92 errors detected in the compilation of "/tmp/tmpxft_00002518_00000000-13_nbnxm_cuda_data_mgmt.compute_70.cpp1.ii".
CMake Error at libgromacs_generated_nbnxm_cuda_data_mgmt.cu.o.cmake:266 (message):
Error generating file
/home/magnus/install/gromacs_master_test/src/gromacs/CMakeFiles/libgromacs.dir/nbnxm/cuda/./libgromacs_generated_nbnxm_cuda_data_mgmt.cu.o

...

when compiling with gcc-6 I also get a bunch of:

src/gromacs/CMakeFiles/libgromacs.dir/build.make:63: recipe for target 'src/gromacs/CMakeFiles/libgromacs.dir/nbnxm/cuda/libgromacs_generated_nbnxm_cuda.cu.o' failed
make2: *** [src/gromacs/CMakeFiles/libgromacs.dir/nbnxm/cuda/libgromacs_generated_nbnxm_cuda.cu.o] Error 1
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<<anonymous>, Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<int&, int&, int&>}; bool <anonymous> = true; _Elements = {int&, int&, int&}]’:
/usr/include/c++/6/tuple:626:248: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) 1), int&, int&, int&>::_NotSameTuple&lt;_UElements ...&gt;() && std::_TC<(1ul sizeof... (_UElements)), int&, int&, int&>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul sizeof... (_UElements)), int&, int&, int&>::_ImplicitlyMoveConvertibleTuple&lt;_UElements ...&gt;()) && (3ul >= 1)), bool>::type &lt;anonymous&gt; > constexpr std::tuple< &lt;template-parameter-1-1&gt; >::tuple(_UElements&& ...) [with _UElements = {std::tuple&lt;int&, int&, int&&gt;}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) 1), int&, int&, int&>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul sizeof... (_UElements)), int&, int&, int&>::_MoveConstructibleTuple&lt;_UElements ...&gt;()) && std::_TC<(1ul sizeof... (_UElements)), int&, int&, int&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type <anonymous> = <missing>]’
/usr/include/c++/6/tuple:1545:43: required from ‘constexpr std::tuple<_Elements& ...> std::tie(_Elements& ...) [with _Elements = {int, int, int}]’
/home/magnus/development/gromacs/src/gromacs/mdlib/lincs_cuda_impl.cu:601:24: required from here
/usr/include/c++/6/tuple:483:67: error: mismatched argument pack lengths while expanding ‘std::is_constructible<_Elements, _UElements&&>’
return __and
<is_constructible<_Elements, _UElements&&>...>::value;

History

#1 Updated by Magnus Lundborg 3 months ago

With CUDA-9.2 I can compile with gcc-7, but not gcc-6 (I haven't tested gcc-5).

Also available in: Atom PDF