Hi everyone,

I have a user request for Gromacs in double precision.  The “vanilla” gromacs 
configs do not build this, so I have to do some massaging and would need help 
with the easy block.

Based on the Gromacs documentation: 
http://manual.gromacs.org/documentation/5.1.2/install-guide/index.html#introduction-to-building-gromacs
 I need to add a string

-DGMX_DOUBLE=on

to the cmake options.  Such things (e.g. OpenMP, MPI support) seem to be 
handled in the relevant easyblock and the easyconfig.  Hacking into the 
easyconfigs I am reasonably competent by now, but it seems the easyblock is 
lacking the support for that switch.

Looking how openmp is handled in that easyblock 
(EasyBuild/2.8.0/lib/python2.7/site-packages/easybuild_easyblocks-2.8.0-py2.7.egg/easybuild/easyblocks/g/gromacs.py)
  It seems one needs to add

            # enable double support if desired
            if self.toolchain.options.get(‘double', None):
                self.cfg.update('configopts', "-DGMX_DOUBLE=ON")
            else:
                self.cfg.update('configopts', "-DGMX_DOUBLE=OFF”)


after which one could activate double support from the easyconfig

Now comes the questions (apart from whether there is anything wrong in the 
above):


  *   If I don’t want to mess with the EB supplied easy blocks, where do I put 
homegrown ones?  I tried with the include-easyblocks in the configuration file 
and copied the gromacs.py into a gromacsdbl.py in there.  From the output of 
the eb --list-easyblocks it doesn’t seem to pick this up.  How do I do my own 
local easy blocks?  Is that documented?


  *   Is adding the above switch to the gromacs easy block something that could 
be done for an upcoming EB release?  Perhaps have the gromacs easyconfig build 
both (single and double precision).  I used to install both (touching he cmake) 
before EasyBuild.

Any comments?

Thanks
  Joachim

Reply via email to