-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update to singularity modules production #171
Conversation
Script that produces multiple modules is updated to auto produce several different modules: askap, mpi, nompi, nohost and finally a new one slurm The module template has been updated to include several more libraries required by the newer libfabric. Also adds lustre.
This will result in 4 modules of singularity. This is still yet to be fully tested as that requires installing singularity and then running script as root to set appropriate permissions.
Does this PR address my second comment in #177 ? |
This update adds to the system settings references to singularityce and also updates the environment files to install singularityce. It also adds a script that will use the singularityce installation by spack to produce singularity/<version>-* modules.
@dipietrantonio I have updated the modules. There is still work to test the GPU and what else might be need to be done. |
The script that now processes the modules has comments on the purpose of the sed commands run. |
Added to the template file a GPUMPI regions in the lua file and also extra postprocessing to handle these sections and produce -mpi-gpu and -askap-gpu versions of the singularity modules.
- Added these packages to the repo with some minor corrections. The packages info file has not been updated yet. - Updated the environment to build singularityce rather than older singularity (there are a number of security patches that are present in the newer version).
{% endif %} | ||
{% if spec.name == 'python' %}setenv("PYTHONUSERBASE", os.getenv("MYSOFTWARE").."/setonix/python") | ||
{% if spec.name == 'python' %}setenv("PYTHONUSERBASE", os.getenv("MYSOFTWARE").."/joey/python") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be left as "setonix". Even though we are building on Joey, we want everything to be like on Setonix. Am I missing something?
${dst_dir}/${version/\.lua/-mpi.lua} \ | ||
>${dst_dir}/${version/\.lua/-nompi.lua} | ||
-e '/singularity_bindpath *=/ s;/askapbuffer;;g' \ | ||
-e '/^-- add MPI START/,/^-- add MPI END/{/^-- add MPI START/!{/^-- add MPI END/!d}}' \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not very familiar with that syntax, can you break it down for me?
My guess is that you want to delete the lines in the range, so why don't you go with the following?
-e '/^-- add MPI START/,/^-- add MPI END/d'
Script that produces multiple modules is updated to auto produce several different modules: askap, mpi, nompi, nohost and finally a new one slurm
The module template has been updated to include several more libraries required by the newer libfabric. Also adds lustre.