-
Notifications
You must be signed in to change notification settings - Fork 7
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
create a Container lesson #92
Comments
The linked-to Singularity container lesson is very good, and I think reasonably well-paced, and includes a unit near the end on building MPI-aware containers, which is adjacent to what we want. Also, their MPI example is the OSU latency benchmark, from the OSU MVApich benchmark collecttion, which might be of interest to us. Not all sites offer mvapich, of course, but the containers get around that in the obvious container-y way by installing it from the Ubuntu packages. One possible complication, which will arise for any lesson that proposes to include examples on how to build a Singularity container, is the privilege problem. You have to be root to build a singularity container. This lesson gets around this by doing the build locally in a Docker container running in privileged mode -- it's likely that Docker will not be available (or not available in this mode) on an HPC resource, so users may need to build the containers on other resources where they have more privilege and transfer the resulting containers to the HPC resource to run them. This is not addressed in this lesson. File transfer is somethign we already address, but local-laptop privilege and/or Docker infrastructure might be complicated to set up and explain. |
@reid-a I have been involved in teaching the Singularity material from Incubator a number of times now. We have typically taught it as part of a two day workshop with https://github.com/carpentries-incubator/docker-introduction as the first day. This means that people are familiar with Docker and have a working local install they can use for building Singularity images on the second day. This approach has typically worked well. see, for example: https://www.archer2.ac.uk/training/courses/210728-containers/ The other option which avoids attendees having to have a local root access route to build singularity images is to use the Singularity remote builder service: https://cloud.sylabs.io/builder Attendees will then need to sign up for a sylabs.io account to access the service but I have found that uploading the Singularity recipe file to the web interface and building there works well. You could also call out to the remote builder from the CLI on the HPC system if you want (though users will then need to generate an access token). |
It may be of interest to use a machine learning example, for example from https://mlcommons.org/en/mlcube/ |
From the SC21 BOF:
Clearly, we need to evaluate existing container lessons and consider adopting one, or start work on our own HPC-centric lesson. One already exists in the Incubator! Reproducible computational environments using containers: Introduction to Singularity
The text was updated successfully, but these errors were encountered: