Hi Bart,
On 26/01/16 16:20, Bart Oldeman wrote:
Hi,
as some of you may know (Robert Schmidt) we within Compute Canada are
in the middle of evaluating various solutions for packaging scientific
software for new clusters that are coming online late this year and
next year, and I play an important role as one of two software
installation coordinators. I'll try to watch remotely some of the user
meeting this week (are the sessions also recorded? 4am is a bit early
even with small kids) because I am very interested in site experiences.
One of many things we noticed is how the hierarchical module naming
scheme is a bit leaky, i.e. you would (and some of us really want to)
expect a scheme which purely has modules named
packagename/version
however there are exceptions, for example:
IPython/3.2.1-Python-2.7.10
PyZMQ/14.7.0-Python-2.7.10-zmq4
QuantumESPRESSO/5.2.0-hybrid
SuiteSparse/4.4.3-ParMETIS-4.0.3
and the longest name:
h5py/2.5.0-Python-2.7.10-HDF5-1.8.15-patch1-serial
How would we fix this? Do we make Python part of the toolchains (could
even use both python 2 and python 3 as python3 should always work for
Python 3.x (see https://www.python.org/dev/peps/pep-0394/)
<https://www.python.org/dev/peps/pep-0394/%29>). An extra hierarchy
level for HDF5-1.8.15? Or a seperate package name, i.e. h5py/2.5.9 and
h5py-serial/2.5.0 ?
Of course we can configure all this with Easybuild but have others
thought about this or just found it a minor annoyance not to be too
worried about?
We're currently not using a hierarchical module naming scheme at
HPC-UGent, but I've been closely involved with the EasyBuild support for
this.
I think it would make sense to extend the hierarchy a bit for Python,
i.e. to make the Python module open another 'box' of modules like
IPython/3.2.1, PyZMQ/14.7.0, etc.
For other things, the versionsuffixes we use are usually there to avoid
conflicts with earlier easyconfig files where another version of a
dependency was used.
Making an extra hierarchy level for HDF5 or ParMETIS doesn't make much
sense imho.
One thing you could do, in combination with an extra 'level' for Python,
is to simply *drop* the versionsuffix.
You would have to be more careful not to run into conflicts though in
that case...
Maybe Alan can talk about this a little bit tomorrow, i.e. what they
have considered for their hierarchical module naming scheme on JURECA at
JSC.
Talks at the EasyBuild User Meeting will be both streamed live and
recorded for later viewing (hopefully hours later), I was about to send
a mail on that to the list.
regards,
Kenneth
Regards,
Bart
--
Dr. Bart E. Oldeman | [email protected]
<mailto:[email protected]> | [email protected]
<mailto:[email protected]>
Scientific Computing Analyst / Analyste en calcul scientifique
McGill HPC Centre / Centre de Calcul Haute Performance de McGill |
http://www.hpc.mcgill.ca
Calcul Québec | http://www.calculquebec.ca
Compute/Calcul Canada | http://www.computecanada.ca
Tel/Tél: 514-396-8926 | Fax/Télécopieur: 514-396-8934