Re: [easybuild] EasyBuild newbie question

2015-05-25 Thread Chris Samuel
On Mon, 25 May 2015 10:33:19 AM Ward Poelmans wrote:

> Hi Christopher,

G'Day there!

> Welcome to EB :)

Thanks. :-)

> On Mon, May 25, 2015 at 8:44 AM, Christopher Samuel
> 
>  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.

I had already tried that, but then of course I was lost in dependency hell 
with lots of unresolved dependencies above GROMACS that would also need 
modification.  Hence trying to cut to the chase and wanting to make the 
"intel" toolchain do what I was after. :-)

> 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.

Ahh.. so I had been trying with --try-toolchain-name=iomkl and it had been 
bombing out (I presume as eb had extracted the wrong version number).

That looks like it might be what we're after!

We could create two aliases of ieb for forcing the Intel+OMPI toolchain and 
geb for GCC+OMPI just to simplify things for us.

> > The other thing I'm puzzled about is how do we make it more
> > relaxed about version numbers of packages. [...]
> 
> 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.

Understood, thanks for that.

> > Am I on the right track with all this?
> 
> You sure are! Good luck with the new system.

Thanks!  

All the best,
Chris
-- 
 Christopher SamuelSenior Systems Administrator
 VLSCI - Victorian Life Sciences Computation Initiative
 Email: sam...@unimelb.edu.au Phone: +61 (0)3 903 55545
 http://www.vlsci.org.au/  http://twitter.com/vlsci


Re: [easybuild] EasyBuild newbie question

2015-05-25 Thread Ward Poelmans
Hi Christopher,

Welcome to EB :)

On Mon, May 25, 2015 at 8:44 AM, Christopher Samuel
 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: ward.poelm...@ugent.be
http://molmod.UGent.be/


[easybuild] EasyBuild newbie question

2015-05-25 Thread Christopher Samuel
Hi folks,

I'm trying to get my head around Easybuild in advance of a new system
as our current build scripts don't really scale, and I'm struggling
with some of its architecture.

It looks like there are a vast number of toolchains of which we are
really only interested in 2, Intel with OpenMPI and GCC with OpenMPI.

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.

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

[samuel@qan02 intel]$ diff -iubw intel-2015a.eb.orig intel-2015a.eb
--- intel-2015a.eb.orig 2015-05-25 15:25:49.186890691 +1000
+++ intel-2015a.eb  2015-05-25 16:24:24.519053787 +1000
@@ -14,7 +14,7 @@
 dependencies = [
 ('icc', compver, gccsuff),
 ('ifort', compver, gccsuff),
-('impi', '5.0.2.044', '', ('iccifort', '%s%s' % (compver, gccsuff))),
+('OpenMPI', '1.8.4', '', ('iccifort', '%s%s' % (compver, gccsuff))),
 ('imkl', '11.2.1.133', '', ('iimpi', '7.2.3%s' % gccsuff)),
 ]


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.


Am I on the right track with all this?

All the best,
Chris
-- 
 Christopher SamuelSenior Systems Administrator
 VLSCI - Victorian Life Sciences Computation Initiative
 Email: sam...@unimelb.edu.au Phone: +61 (0)3 903 55545
 http://www.vlsci.org.au/  http://twitter.com/vlsci