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 July 2019, Singularity 3.2 is available on all Beehive compute nodes.
Links and Documentation
- Home Page
- Google Group
- Singularity Container Registry
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