hi riccardo,

> I'm new to EasyBuild and I'm still trying to figure out how to use it
on our cluster.  I understand that a toolchain needs to be defined before I
start compiling software.  Now the questions:

1) How can I define a "ubuntu-12.04" toolchain that just uses the GCC,
OpenMPI, ATLAS, etc. provided by the standard Ubuntu packages, instead
of re-building EasyBuild's own versions?  (I guess it would be the
"goalf" toolchain but build more like the "ictce" one, in that the
entire toolchain is distributed in binary form from EB's point of view.)
although in principle this can be done, usually there is no good reason for it (eg ubuntu can update gcc or anything and you will loose control of the dependency chain) with the robot, it's easy to install it all at once. it might take some time (esp atlas), and i'm not sure how smooth it will go given we mainly test rhel/fedora, but we have others using it on ubuntu.

why do you want to use ubuntu's versions?


2) Conversely: we run a inhomogeneous cluster here, so -at the other
extreme- it would make sense to compile some programs with different
options / flags depending on the compute node architecture.  Does
EasyBuild have provisions for this?  In particular: can it generate
modulefiles that search different binary directories depending on the
host architecture or other features?
easybuild can use -march=native (gcc) or -xHOST (intel), so this can be problematic. what you will need to do is to make sure the installation path is different for each node type (and install on all different types).

we have something similar on our clusters (they are homogenous, but there are 7 of them now) and our install path contains the os-flavour name and the cpu architecture, but these values are obtained through the environment (and are set/generated in /etc/profile.d) and are picked up in the easybuild config file

the modulepath is then set based on these values so all modules are seen everywhere with the same names (ie user scripts can run everywhere unmodified)

but this means we install the same software multiple times (once per cluster)


3) Is there a versioning scheme for toolchains?  Especially for the
EB-provided "goalf" and "ictce" one?  In other words, if I locally
modify the "goalf" toolchain to use GCC 4.7 and use the version number
"1.2.0", do I run the risk of seeing it overwritten at the next EB
update?
yes and no. there is one, but not publicly documented atm. but kenneth and/or jens are better placed to comment on this and they will add documentation on the wiki. (but 1.2.0 makes sense)



stijn


Thank you very much for any answer and comment!

Cheers,
Riccardo

--
Riccardo Murri
http://www.gc3.uzh.ch/people/rm.html

Grid Computing Competence Centre
University of Zurich
Winterthurerstrasse 190, CH-8057 Zürich (Switzerland)

Tel: +41 44 635 4222
Fax: +41 44 635 6888


Reply via email to