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

Kevin Boyd kevin.boyd at uconn.edu
Tue May 8 16:27:42 CEST 2018


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

I totally agree, but unfortunately my home cluster still uses RHEL 6.7
and another cluster we have an allocation for uses Centos 6.7.
¯\_(ツ)_/¯

Thanks for the help!


On Tue, May 8, 2018 at 10:01 AM, Mark Abraham <mark.j.abraham at gmail.com> wrote:
> 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.
>>
> --
> 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