[gmx-users] gromacs 2018 make error with multiple compilers and GPU support

Kevin Boyd kevin.boyd at uconn.edu
Tue May 8 15:53:35 CEST 2018


Thanks for the reply.

The distro is actually relatively up to date, from what I can tell gcc
4.8.5 is all that CUDA supports for the most recent versions of RHEL
and Centos. Older versions (6.x series) of both only support version
4.4.7, so to install Gromacs 2018 with GPUs I'd need to use clang or
icc with those distros, which is a bummer.

I'll look into devtoolset-6, thanks.

Kevin

On Mon, May 7, 2018 at 4:36 PM, Mark Abraham <mark.j.abraham at gmail.com> wrote:
> Hi,
>
> Mixing versions of C++ compilers is never a good idea, precisely because
> there is no guarantee that linking can succeed, as here. Use gcc 4.8.5 for
> all compilation if you are forced to use such a dated distro for
> "stability." Bear in mind that that is often just code for "old, slow, and
> hasn't been changed." ;-)
>
> You can/should investigate whether devtoolset-6 works well enough, since it
> contains a more recent gcc that is supported by that CUDA.
>
> Mark
>
> On Mon, May 7, 2018 at 7:38 PM Kevin Boyd <kevin.boyd at uconn.edu> wrote:
>
>> Hi,
>>
>> I've been trying to install gromacs 2018 on a cluster running Centos7.
>> In keeping with the guidelines for maximizing performance, I'm
>> compiling with a recent (7.3.0) GCC version. However, Cuda 9.0 on
>> Centos 7.x needs to be compiled with GCC 4.8.5, so my cmake command
>> included -DCUDA_HOST_COMPILER=/path/to/gcc4.8.5. When installing, the
>> following error occurred.
>>
>> [ 98%] Built target libgromacs
>> [ 98%] Linking CXX executable ../../bin/template
>> ../../lib/libgromacs.so.4.0.0: undefined reference to
>> `gmx::formatString(char const*, ...)'
>> ../../lib/libgromacs.so.4.0.0: undefined reference to
>> `canDetectGpus(std::__cxx11::basic_string<char,
>> std::char_traits<char>, std::allocator<char> >*)'
>> ../../lib/libgromacs.so.4.0.0: undefined reference to
>> `gmx::getCudaRuntimeVersionString[abi:cxx11]()'
>> ../../lib/libgromacs.so.4.0.0: undefined reference to
>> `gmx::getCudaDriverVersionString[abi:cxx11]()'
>>
>> The same error (or at least part of the error) shows up trying Gromacs
>> 2018, 2018.1, and the current master branch.
>>
>> My full cmake configuration command was
>>
>> cmake .. -DCMAKE_INSTALL_PREFIX=/path/to/prefix    \
>>               -DGMX_GPU=ON                                               \
>>               -DGMX_SIMD=AVX2_256                                  \
>>               -DGMX_FFT_LIBRARY=fftw3                             \
>>               -DCUDA_HOST_COMPILER=/path/to/gcc4.8.5 \
>>               -DCMAKE_PREFIX+PATH=/path/to/fftwlib
>>
>>
>> I can compile and run successfully if I turn off GPU support (with GCC
>> 7.3.0), or by using GCC 4.8.5 for the entire install (with GPUs), so
>> I'm assuming the issue has something to do with using both compilers.
>>
>> Has anyone else run into similar issues?
>>
>> Thanks,
>>
>> Kevin
>> --
>> Gromacs Users mailing list
>>
>> * Please search the archive at
>> http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before
>> posting!
>>
>> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>>
>> * For (un)subscribe requests visit
>> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users or
>> send a mail to gmx-users-request at gromacs.org.
>>
> --
> Gromacs Users mailing list
>
> * Please search the archive at http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before posting!
>
> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>
> * For (un)subscribe requests visit
> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users or send a mail to gmx-users-request at gromacs.org.


More information about the gromacs.org_gmx-users mailing list