THE ODISSEY OF CP2K; THE LONG WAY BACK TO ITHACA
Axel
akoh... at gmail.com
Sat May 28 19:53:18 UTC 2011
hi francesco,
[...]
my your words find entrance into the ears of the cp2k gods.
it is funny to see how cp2k divides the world. i am feeling a bit bad,
though,
because some of your OpenMP troubles could have been avoided if
i had posted a summary based on the thread that i started recently.
at some point the discussion went off-list and thus there was no resolution
posted here. perhaps, i should make up for it now.
for the most part, it wasn't possible to reach an agreement what the
(main) problem is, since it apparently cannot be reproduced on other
machines but the ones that i am using. ...and i refuse to use as ugly
a software as MPICH, if the much more elegant and maintainable
OpenMPI provides the same API and only a faction of the headaches
for maintaining and using it. so i ended up with the following conclusions
as to how to compile for MPI+OpenMP (MPI-only had no problems
with either compiler provided a serial MKL was loaded)
- gfortran 4.4.x is OpenMP 3.0 capable according to cp2k, intel 11.1 is not.
one can make the ssmp version work with a define.
- OpenMPI needs to be compiled with MPI threads support (or another
workaround
define needs to be used), but then seems to work, even with the MKL
provided
BLACS/SCALAPACK (i have more trust in that being compiled correctly
than myself).
- when compiling with OpenMP enabled, don't compile fftw3 with OpenMP
support.
also, don't link with a multi-threaded MKL for psmp. this is actually less
of a problem
than what might initially think, since most of the cases where you would
_want_ to
use OpenMP+MPI (i.e. when its performance is better than MPI alone), there
is
not so much data to parallelize FFTs or BLAS over to justify the overhead.
one can
test this using FFTSG where the impact of parallel/non-parallel compile of
the FFT
alone can be tested. this is not really that much of a surprise, since on
modern hardware
memory bandwidth is the most valuable property and with multi-threaded
FFTs in
shared memory, you often are head back by the available bandwidth more
than what
you would gain from the additional CPU power.
with these settings, i can run the testjobs that people in our group need
fairly reliable
and efficiently. Intel still seems to be off a bit with OpenMP+MPI, since
occasionally
calculations get stuck. i cannot help, but suspect that there are some race
conditions
hidden that just don't show if you have the right hardware/software on your
local machine.
Anyway, these are my two pennies for improving the architecture file
> archive, and, maybe, stimulate some discussion about the issue of
> working versions and debug of the code.
>
unfortunately, the cp2k code has developed into such an hard to read and
difficult to understand monster, that it is unlikely that problems will be
resolved
unless they show up on somebody's machine that is used to digging into
the code deep enough to sort this out. for me this was the end of the road.
in some sense, i can understand the status of the arch files. you have
to change them for almost any machine all the time, and people _can_
look up in the corresponding documentation how to do this. if you don't
know how to do this, you probably shouldn't dare to compile cp2k in the
first place. turning this into some autoconf (or worse, cmake) style setup
will most likely make things even worse, by giving people a false sense
of know having to know exactly what to place on the compiler and linker
flag variable statements.
with that in mind, i am attaching the set of arch files that i am currently
using and that seemed to have worked at some point in time around
mid may in 2011.
ciao,
axel.
p.s.: building/tuning libsmm on a 4-way opteron 6174 machine is fun. ;-)
>
>
> Cheers,
> F.
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20110528/c4dadd95/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cp2k-arch-ak.tar.gz
Type: application/octet-stream
Size: 1233 bytes
Desc: not available
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20110528/c4dadd95/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: libsmm-config.tar.gz
Type: application/octet-stream
Size: 1542 bytes
Desc: not available
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20110528/c4dadd95/attachment-0001.obj>
More information about the CP2K-user
mailing list