Hi Joachim/others,
Been through this as well the last few days, but that was with GROMACS 5.1
(this version was specific requested by the user, but assume this will work for
the newer versions the same way).
This is what I did.
1) I updated the easyconfig file by adding the following lines:
versionsuffix='dp'
configopts='-DGMX_DOUBLE=on'
And removed the dependencies on NVML and CUDA, since DP and GPU support are not
good friends:
dependencies = [
('Boost', '1.59.0'),
]
2) Updated the easyblock sanity_check_setp for GROMACS:
def sanity_check_step(self):
"""Custom sanity check for GROMACS."""
suff = ''
if self.toolchain.options.get('usempi', None):
suff = '_mpi'
# Add the _d suffix to the suffix, in case of the double precision
if '-DGMX_DOUBLE=on' in self.cfg['configopts']:
suff = suff+'_d'
#Rest of the easyblock
Kind regards,
Pieter de Rijk, HPCS R&D Engineer
From: [email protected]
[mailto:[email protected]] On Behalf Of Joachim Hein
Sent: Friday, May 27, 2016 14:43
To: [email protected]
Subject: Re: [easybuild] Double precision gromacs
However, you should be able to do this straight from the easyconfig, without
any required modifications to the easyblock for GROMACS:
configopts = "-DGMX_DOUBLE=ON"
Be careful you don't hard overwrite possible other 'configopts' specifications
that may be already there…
Hi
Feedback on this, it now fails the sanity check. Sanity checking seems to be
looking for an exe named “gmx_mpi” in this case but, as I outlined this is now
called “gmx_mpi_d”. It is also looking for a library "libgromacs_mpi.a” but
that is now “libgromacs_mpi_d.a”. I checked the d-versions have been build but
since it fails the sanity check, I don not get a module :(
Based on that a “double” feature needs to be developed deeper into the
framework, I see no way how to modify the setup for the modified filename :(
Best wishes
Joachim