[gmx-users] compiling with the PGI compiler

chris.neale at utoronto.ca chris.neale at utoronto.ca
Fri Dec 2 02:24:30 CET 2011


Dear Szilárd:

Thank you for the advice. I made a mistake when I said that I was  
using new Xeons. The new cluster is actually composed of AMD Opteron  
Magny-cours 6172 (12-cores at 2.1 or 2.2 GHz grouped as 24-cores per  
node). It was because of the AMD architecture that I was trying with  
the pathscale and PGI compilers in addition to Intel. For the one  
system that I have checked, the intel compilation is 20% faster than  
the pathscale compilation, although I didn't provide any special  
compilation options to either. I will continue to look into using  
pathscale optimizations for gromacs on AMDs.

If you are still interested in benchmark speeds on the opterons, then  
please point me to system and mdp files that people are using nowadays  
for comparisons and I will reply back with the benchmark information.

Thank you,
Chris.

-- original message --

Hi,

I've personally never heard of anybody using gromacs compiled with PGI.

> I am using a new cluster of Xeons and, to get the most efficient
> compilation, I have compiled gromacs-4.5.4 separately with the intel,
> pathscale, and pgi compilers.

I did try Pathscale a few months ago and AFAIR it wasn't very
difficult to get it working - although I do remember getting some
segfaults from time to time. The Intel Compiler support in CMake is
kind of broken in 4.5, you need to fiddle with the flags a bit, but it
should be quite straightforward.

> With the pgi compiler, I am most concerned about this floating point
> overflow warning:
>
> ...
> [ 19%] Building C object src/gmxlib/CMakeFiles/gmx.dir/trajana/trajana.c.o
> [ 19%] Building C object
> src/gmxlib/CMakeFiles/gmx.dir/trajana/centerofmass.c.o
> [ 19%] Building C object src/gmxlib/CMakeFiles/gmx.dir/trajana/nbsearch.c.o
> PGC-W-0129-Floating point overflow. Check constants and constant expressions
> (/home/nealechr/exe/pgi/gromacs-4.5.4/source/src/gmxlib/trajana/nbsearch.c:
> 166)

That looks like a bug, in case of real==float HUGE_VALF should be used
instead of HUGE_VAL.

> PGC/x86-64 Linux 11.8-0: compilation completed with warnings
> [ 19%] Building C object
> src/gmxlib/CMakeFiles/gmx.dir/trajana/displacement.c.o
> [ 19%] Building C object src/gmxlib/CMakeFiles/gmx.dir/trajana/position.c.o
> ...
>
>
> There are also a lot of warnings about a type cast, which seems less like a
> real problem:

Looks like all of them are enum to string-related stuff, they are harmless.

> I compiled like this:
>
> module purge
> module load pgi64/11.8 openmpi_pgi64/1.4.3_ofed
> module load cmake/2.8.5
> export CCDIR=/opt/pgi/linux86-64/11.8/bin
>
> ## set the location of the single precision FFTW isntallation
> export FFTW_LOCATION=/home/nealechr/exe/pgi/fftw-3.1.2/exec
>
> ##### Nothing below this line usually needs to be changed
>
> export CXX=pgCC
> export CC=pgcc
>
> cmake ../source/ \
>      -DFFTW3F_INCLUDE_DIR=$FFTW_LOCATION/include \
>      -DFFTW3F_LIBRARIES=$FFTW_LOCATION/lib/libfftw3f.a \
>      -DCMAKE_INSTALL_PREFIX=$(pwd) \
>      -DGMX_X11=OFF \
>      -DCMAKE_CXX_COMPILER=${CCDIR}/pgCC \
>      -DCMAKE_C_COMPILER=${CCDIR}/pgcc \
>      -DGMX_PREFER_STATIC_LIBS=ON \
>      -DGMX_MPI=OFF
>
>
> make
>
> make install

That looks fine, if you're benchmarking you might want to try the arch
specific flags - I assume PGI does have something, even if not
specific for Xeon E5.

> ##########
>
> I don't get any similar errors with the intel or pathscale compilers
> (although intel gives me "icc: command line warning #10159: invalid argument
> for option '-m'" a lot) and the pathscale compilation appears to be hung on

Yeah, as I sad that's kind of broken.

> If anybody has run into this warning, or knows enough to be sure that I
> don't need to worry about it during mdrun (it seems to be in an analysis
> file, but I'm not entirely sure), then I would be happy to hear about it. A
> gmx-users search for PGI returned zero results. I saw something here, but it
> was not very specific about the problem with pgi (
> http://www.levlafayette.com/node/175 ).

The overflow error is in the trajectory analysis tool's source files
and doesn't concern mdrun (btw, you can do make mdrun and even make
install-mdrun ;).

Would it be possible for you to share some performance numbers you're
getting on the E5?

Cheers,
--
Szilárd

> Thank you,




More information about the gromacs.org_gmx-users mailing list