intel (and other) compiler related hacks for cp2k
akoh... at gmail.com
Thu Jul 5 18:58:28 CEST 2007
On Jul 5, 12:14 pm, Teodoro Laino <teodor... at gmail.com> wrote:
> Ciao Axel,
> I've see the hacks.. I will include many of them directly.. for
> others (like the c-hacking) I guess we've to wait a little bit..
> I guess it would make sense to have something these C instructions
> optionally switched on with a pre-processing flag..
nod. i've tried to make them as modular and unobstrusive as possible.
> Will discuss with Juerg about that tomorrow.. I wanted just to have a
> more wide idea (that's why I'm bothering you now) to support that
> with him..
> Do you think it would be possible to hack in a clean way the c-
> routines of libint in the cp2k code without passing through
> 2003 standard? (being part of these c_hacks?)
yes. of course it can be done, however, that would require
careful planning so that both methods of interfacing can be
used interchangeably without one of them getting out-of-sync.
in order to avoid performance hits, it would need a rewrite
of the current libint library interface code and i am not
sure whether this is currenty worth the effort. i would suggest
to wait up to the point where the code is less experimental and
there is a significant demand from non-developers to use it
or a need to use it on a platform that is not supported by g95.
more importantly, there a number of machine specific operations,
that are currently implemented somewhat clumsily due to the
of fortran and those would benefit a lot from a C implementation.
to the modular design of cp2k in that area, that should be much more
straightforward to do in a modular, incremental and per-platform
i had a discussion on this topic with matthias quite a while ago
and the whole setup is much more optional than my initial hack
(but also lacking all but the essential functionality). i never got
around to complete it, though, so it is mostly a proof-of-concept
implementation. i only posted it, since it came to my attention
that several people are struggling with getting the code to work
well on intel compiler based linux clusters (with no root access
to handle the nasty ulimit issue).
More information about the CP2K-user