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

Reply via email to