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

