Hi Christopher,

Welcome to EB :)

On Mon, May 25, 2015 at 8:44 AM, Christopher Samuel
<[email protected]> wrote:

> However, for something as mainstream as GROMACS there doesn't appear to
> be a way to build a modern version with the Intel and OpenMPI chain.

Actually, we have a intel + openmpi toolchain: iomkl
( see the complete list at
https://github.com/hpcugent/easybuild/wiki/Compiler-toolchains )
You can use iomkl-2015.02.eb for example? If you want different
version, just make an easyconfig
of your own in that toolchain.

> The simplest solution I can find is to modify the Intel toolchain
> definition thus (and so avoid duplication billions of config files
> unnecessarily):

We have --try-toolchain to make your life easy. If you want GROMACS,
simplify pick the intel
toolchain easyconfig and use --try-toolchain=iomkl,2015.02
This will do exactly what the name suggest: use the iomkl toolchain
instead of the intel toolchain. The created easyconfig are saved in
your repository path.

For example:
$ eb --dry-run --try-toolchain=iomkl,2015.02 GROMACS-5.0.4-intel-2015a-mt.eb
 * [ ] $CFG/g/GCC/GCC-4.9.2.eb (module: GCC/4.9.2)
 * [ ] $CFG/i/icc/icc-2015.2.164-GCC-4.9.2.eb (module: icc/2015.2.164-GCC-4.9.2)
 * [ ] $CFG/i/ifort/ifort-2015.2.164-GCC-4.9.2.eb (module:
ifort/2015.2.164-GCC-4.9.2)
 * [ ] $CFG/i/iccifort/iccifort-2015.2.164-GCC-4.9.2.eb (module:
iccifort/2015.2.164-GCC-4.9.2)
 * [ ] $CFG/h/hwloc/hwloc-1.10.0-iccifort-2015.2.164-GCC-4.9.2.eb
(module: hwloc/1.10.0-iccifort-2015.2.164-GCC-4.9.2)
 * [ ] $CFG/o/OpenMPI/OpenMPI-1.8.4-iccifort-2015.2.164-GCC-4.9.2.eb
(module: OpenMPI/1.8.4-iccifort-2015.2.164-GCC-4.9.2)
 * [ ] $CFG/i/iompi/iompi-2015.02.eb (module: iompi/2015.02)
 * [ ] $CFG/i/imkl/imkl-11.2.2.164-iompi-2015.02.eb (module:
imkl/11.2.2.164-iompi-2015.02)
 * [ ] $CFG/i/iomkl/iomkl-2015.02.eb (module: iomkl/2015.02)
 * [ ] $TMP/tweaked_easyconfigs/bzip2-1.0.6-iomkl-2015.02.eb (module:
bzip2/1.0.6-iomkl-2015.02)
 * [ ] $TMP/tweaked_easyconfigs/zlib-1.2.8-iomkl-2015.02.eb (module:
zlib/1.2.8-iomkl-2015.02)
 * [ ] $TMP/tweaked_easyconfigs/ncurses-5.9-iomkl-2015.02.eb (module:
ncurses/5.9-iomkl-2015.02)
 * [ ] $TMP/tweaked_easyconfigs/libreadline-6.3-iomkl-2015.02.eb
(module: libreadline/6.3-iomkl-2015.02)
 * [ ] $TMP/tweaked_easyconfigs/Tcl-8.6.3-iomkl-2015.02.eb (module:
Tcl/8.6.3-iomkl-2015.02)
 * [ ] $TMP/tweaked_easyconfigs/CMake-3.2.2-iomkl-2015.02.eb (module:
CMake/3.2.2-iomkl-2015.02)
 * [ ] $TMP/tweaked_easyconfigs/libxml2-2.9.2-iomkl-2015.02.eb
(module: libxml2/2.9.2-iomkl-2015.02)
 * [ ] $TMP/tweaked_easyconfigs/SQLite-3.8.8.1-iomkl-2015.02.eb
(module: SQLite/3.8.8.1-iomkl-2015.02)
 * [ ] $TMP/tweaked_easyconfigs/Python-2.7.9-iomkl-2015.02.eb (module:
Python/2.7.9-iomkl-2015.02)
 * [ ] $TMP/tweaked_easyconfigs/Boost-1.58.0-iomkl-2015.02-Python-2.7.9.eb
(module: Boost/1.58.0-iomkl-2015.02-Python-2.7.9)
 * [ ] $TMP/tweaked_easyconfigs/GROMACS-5.0.4-iomkl-2015.02-mt.eb
(module: GROMACS/5.0.4-iomkl-2015.02-mt)



> The other thing I'm puzzled about is how do we make it more
> relaxed about version numbers of packages.  For instance it'd
> be really nice for it to not care whether it's 1.8.4 (which is
> older) or 1.8.5 (which is current but not yet present) or 1.8.6
> (which will be out soon).
>
> Similarly for GCC, if there is a GCC 4.7.x already installed and
> a package wants a slightly older version of 4.7 it would be nice
> if it didn't try and rebuild an entire toolchain because that
> precise version isn't there.

Alas, that is currently not possible. It is on our wish/todo list.
Kenneth can correct me but I don't think there is currently somebody
working on this.

> Am I on the right track with all this?

You sure are! Good luck with the new system.

Ward



-- 
ir. Ward Poelmans
Center for Molecular Modeling
Ghent University
Technologiepark 903,
B-9052 Zwijnaarde
Belgium
Tel: +32 9 264 65 76
E-mail: [email protected]
http://molmod.UGent.be/

Reply via email to