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

Mark Abraham mark.j.abraham at gmail.com
Tue May 8 16:01:35 CEST 2018


On Tue, May 8, 2018 at 3:54 PM Kevin Boyd <kevin.boyd at uconn.edu> wrote:

> 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.


CUDA is just supporting the stock compiler for CentOS. That such distros by
design ship such a compiler that is 5 years old is part of what makes them
stable, and therefore dated. ;-) It's a perfectly reasonable approach to
deploying servers, but it's not consistent with also wanting high
performance from them on hardware that wasn't designed when the compiler
was shipped.

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.
>

Yes CentOS 6 would be worse in the same way that using a horse would be
worse than driving a Model T in 2018. :-)

Mark

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.
> --
> 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