[gmx-users] Compiling with ICC: advantages and -if yes- a suitable protocol? (it seems I can't)
ms
devicerandom at gmail.com
Mon Oct 11 20:52:02 CEST 2010
Dear gmx users,
I have heard (read: read on random blogs here and there) that on Intel
compiling GROMACS with icc instead of gcc can bring up to 50%
performance improvement.
Since I always used gcc compiled GROMACS, I'd like to know:
- Is this true?
- If yes, can anybody help me in doing so? I tried but I cannot find a
reasonable protocol online and setting LDFLAGS gives me quite an
headache : my last configure dies this way:
$ export CC=/opt/intel/Compiler/11.0/081/bin/intel64/icc
$ export LDFLAGS="-L$SOFT/lib -L/opt/intel/Compiler/11.0/081/lib/intel64
-lguide -lpthread"
$ ./configure --with-fft=fftw3 --program-suffix=_icc --enable-mpi
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking how to create a ustar tar archive... gnutar
checking for C compiler default output file name... a.out
checking whether the C compiler works... configure: error: cannot run C
compiled programs.
where config.log says, in the relevant section:
configure:3441: /opt/intel/Compiler/11.0/081/bin/intel64/icc
-I/home/ms872/software/include -L/home/ms872/software/lib
-L/opt/intel/Compiler/11.0/081/lib/in
tel64 -lguide -lpthread conftest.c >&5
configure:3444: $? = 0
configure:3482: result: a.out
configure:3499: checking whether the C compiler works
configure:3509: ./a.out
./a.out: error while loading shared libraries: libguide.so: cannot open
shared object file: No such file or directory
configure:3512: $? = 127
configure:3521: error: cannot run C compiled programs.
but if I look for this library:
$ locate libguide.so
/opt/intel/Compiler/11.0/081/lib/intel64/libguide.so
...that seems therefore to be in the LDFLAGS!
Note that I am trying to compile 4.0.7 and not 4.5.1 (because I then
need to apply 3rd-party patches that do not apply to 4.5.1 yet -but
before thinking of that, I want to get the compilation right, so now
it's vanilla gromacs)
It's clear that I am no C hacker, so thanks to everyone that can help me.
Massimo
More information about the gromacs.org_gmx-users
mailing list