Do you want people to use CP2K?
akoh... at gmail.com
Sat Apr 28 22:01:32 UTC 2007
Here is one question to the CP2K developers team
that is bugging me and some other people for a while now:
Do you really want people to _use_ cp2k?
If not, please _tell_ us so that we don't
lose more time in trying to play catch-up
with compiler versions, libraries, unexpected
input file changes and don't need to suffer
every single time, when we try to compile it
on a new machine.
If yes, please take the following issues
under serious consideration:
- We need to have an official release! As much as it is
understandable, that many of you want to wait until you
have the perfect program, it is impossible to tell somebody
in a supercomputing center 'I need cp2k, but I need the version
of jan-33-2007, since that worked so well for regular QuickStep,
and please also compile feb-30-2007 because that was better for QM/
A significant part of the functionality in cp2k is now quite
so why not pick a 'known-to-be-good(TM)' version, make a list of
working features, then create a branch on the cvs, make a (beta?)
release (2007-05.pl0) and apply only bug fixes to that branch and
make those available from time to time. If done with some
it would mean little additional work, but _much_ more consistent
behavior for the released code branch, which is exactly what users
if you want people to use cp2k, you have to give them a chance.
- The compileability (portability?) of cp2k should be a priority, at
least on the release branch. It is especially difficult to port
to many commonly used platforms at the major supercomputing centers
(US, Europe, Japan). It is a reality the many of the tools available
do not follow the latest greatest standards and sticking to a more
globally supported subset will allow of a greater exposure of cp2k
to high-end hardware and thus more ambitious and prestigious
With the most extreme example being the libint interface (and
functionals would actually be an application that needs to be run
on high-end hardware) and the fact that even a tool bundled with
and required to compile cp2k (forpar.x) chokes on it. This is a
point, where it is difficult to see the common sense in it.
Where do we get a g95 for a NEC-SX8, IBM BG/L, Cray XT3?
Do we really need a function pointer interface to C?
This is essentially an invitation for compilers to miscompile the
code and debugging becomes even more difficult as it is already.
- People that want to use the (great) features that are currently
under active development and that are willing to follow the cvs,
but are not developers, need to know what is happening.
Even the cp2k website says:
Using the code for production quality simulations is possible but
requires detailed knowledge about the active development.
So where do we _get_ this knowledge?
As an aside: in the last draft of this mail, there was a paragraph
here, suggesting to move the forum away from the disastrous
Berlios site where we can have something that works more like
a mailing list (i.e. you can quote previous messages). With the
new cp2k google group, this is no longer required. Thanks for that.
- Finally, if you want 'just users' to really put your code to use,
we need to have a some _real_ examples that produce 'good(TM)'
results, that people can follow them. The regtest directories are
not very helpful, as those inputs are engineered to test
reproducibility of previously implemented features.
And then some (simple) guidelines are needed on how to setup a
'normal' calculation, how to pick potentials, basis sets, force
avoid common problems, etc. so that people can actually start
on producing a good user's guide. In my opinion, a good user's
is written by users (and not necessarily developers), thus 'early
users need feedback on their inputs and the documentation they would
'Help in exchange for Documentation' could be a motto for this.
Again, initially i would suggest here to use some wiki-style
web service (even berlios would provide this), but it seems the
solution in the google group would be more suitable, at least
for building an initial draft.
Certainly, some of you will now feel (a little?) offended, as you
put in all the hard work and made everything freely available, so why
should you bother? Right! You are totally entitled to say that, but
then please don't present cp2k as something that everybody can (and
cp2k has obviously a lot of potential, but as long as only a few
can exploit it, it will stay a sideshow. If you _want_ people to use
you have to occasionally make a step towards them.
Thanks for reading this far. We hope that you don't find this text
more thought provoking than inflammatory, and rather see it as a
conscientious effort by devoted users to help bringing cp2k into
mainstream use. Something that would benefit both, (current and
future) users and developers.
with best regards,
Nichols A. Romero
P.S.: The final edit is by me (axel), so any errors or
are most likely my fault.
More information about the CP2K-user