Singularity is a container-based virtualization environment for scientific environments with the HPC community in mind.
- Singularity containers can be used to package entire scientific workflows, software and libraries, and even data.
- The Singularity software can import your Docker images without having Docker installed or being a superuser.
- You can “swap out” the operating system on your host for a different one within a Singularity container.
- Singularity also allows you to leverage the resources of whatever host you are on. This includes HPC interconnects, resource managers, file systems, GPUs and/or accelerators, etc.
- You can directly call programs inside the container from outside the container fully incorporating pipes, standard IO, file system access, X11, and MPI.
Versions and Availability
WarningStatus: Singularity is in public beta test on Beehive. For more information pls contact IT support.
As of 2019-01, Singularity 2.6.1 is available on all Beehive compute nodes.
Links and Documentation
- User Guide
- Google Group
- * https://cloud4scieng.org/singularity-a-container-system-for-hpc-applications/
Do not pull/download/import/run just any Docker/Singularity available on the internet. Make sure to retrieve containers from trustworthy sources only. Docker Hub will flag containers as "official" iff they're provided by an official maintainer of the contained software.
Make sure that the software and the containers that you use are up to date. Just as an application on your desktop machine needs to be regularly updated, the same holds true for the sofwtare stack in a container. Containers need to be rebuilt when new software versions are released.
What about Docker and Docker containers?
You can import and run Docker containers with Singularity. see http://singularity.lbl.gov/docs-docker