Singularity is a free and open-source program that provides operating-system-level virtualization, commonly known as containerization. It is widely used in scientific and high-performance computing to enhance reproducibility by allowing developers to create portable, reproducible environments. These Singularity containers enable applications to move seamlessly between systems while maintaining consistency. In 2021, the project split into two separate initiatives: Apptainer and SingularityCE, continuing to support containerization for scientific workflows and HPC platforms.
History
Singularity began as an open-source project in 2015, when a team of researchers at Lawrence Berkeley National Laboratory, led by Gregory Kurtzer, developed the initial version written in the C programming language and released it6 under the BSD license.7
By the end of 2016, many developers from different research facilities joined forces with the team at Lawrence Berkeley National Laboratory to further the development of Singularity.8
Singularity quickly attracted the attention of computing-heavy scientific institutions worldwide:9
- Stanford University Research Computing Center deployed Singularity on their XStream1011 and Sherlock12 clusters
- National Institutes of Health installed Singularity on Biowulf,13 their 95,000+ core/30 PB Linux cluster14
- Various sites of the Open Science Grid Consortium including Fermilab started adopting Singularity;15 by April 2017, Singularity was deployed on 60% of the Open Science Grid network.16
For two years in a row, in 2016 and 2017, Singularity was recognized by HPCwire editors as "One of five new technologies to watch".1718 In 2017 Singularity also won the first place for the category "Best HPC Programming Tool or Technology".19
As of 2018, based on the data entered on a voluntary basis in a public registry, Singularity user base was estimated to be greater than 25,000 installations20 and included users at academic institutions such as Ohio State University and Michigan State University, as well as top HPC centers like Texas Advanced Computing Center, San Diego Supercomputer Center, and Oak Ridge National Laboratory.
In February 2018 the Sylabs21 company, founded by the Singularity author, was announced 22 to provide commercial support for Singularity. In October of that year Sylabs released version 3.0.023 which was a rewrite in the Go programming language.
Apptainer / Singularity split
In May 2020 Gregory Kurtzer left Sylabs but retained leadership of the Singularity open source project.24 In May 2021 Sylabs made a fork of the project25 and called it SingularityCE.2627 In November 2021 the Singularity open source project joined the Linux Foundation28 and was renamed to Apptainer.29
Features
Singularity is able to support natively high-performance interconnects, such as InfiniBand30 and Intel Omni-Path Architecture (OPA).31
Similar to the support for InfiniBand and Intel OPA devices, Singularity can support any PCIe-attached device within the compute node, such as graphic accelerators.32
Singularity also has native support for Open MPI library by utilizing a hybrid MPI container approach where OpenMPI exists both inside and outside the container.33
These features make Singularity increasingly useful in areas such as machine learning, deep learning and most data-intensive workloads where the applications benefit from the high bandwidth and low latency characteristics of these technologies.34
Integration
HPC systems traditionally already have resource management and job scheduling systems in place, so the container runtime environments must be integrated into the existing system resource manager.
Using other enterprise container solutions like Docker in HPC systems would require modifications to the software.35 Docker containers can be automatically converted to stand-alone singularity files which can then be submitted to HPC resource managers.36
Singularity seamlessly integrates with many resource managers37 including:
- HTCondor38
- Oracle Grid Engine (SGE)
- SLURM (Simple Linux Utility for Resource Management)
- TORQUE (Terascale Open-source Resource and QUEue Manager)
- PBS Pro (PBS Professional)
- HashiCorp Nomad (A simple and flexible workload orchestrator)
- IBM Spectrum LSF 39
See also
- Free and open-source software portal
Further reading
- Proceedings of the 10th International Conference on Utility and Cloud Computing: Is Singularity-based Container Technology Ready for Running MPI Applications on HPC Clouds?
- Singularity prepares version 3.0, nears 1 million containers served daily
- Dell HPC: Containerizing HPC Applications with Singularity
- Intel HPC Developer Conference 2017: Introduction to High-Performance Computing HPC Containers and Singularity
- HPCwire Reveals Winners of the 2017 Readers’ and Editors’ Choice Awards at SC17 Conference in Denver: Singularity awarded for Best HPC Programming Tool or Technology category
External links
References
"Singularity presentation at FOSDEM 17". archive.fosdem.org. https://archive.fosdem.org/2017/schedule/event/singularityhpc/ ↩
Kurtzer, Gregory M.; Sochat, Vanessa; Bauer, Michael W. (2017). "Singularity: Scientific Containers for Mobility of Compute". PLOS ONE. 12 (5): e0177459. Bibcode:2017PLoSO..1277459K. doi:10.1371/journal.pone.0177459. PMC 5426675. PMID 28494014. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5426675 ↩
"Singularity, a container for HPC". admin-magazine.com. 24 April 2016. http://www.admin-magazine.com/HPC/Articles/Singularity-A-Container-for-HPC ↩
"Singularity Manual: Mobility of Compute". Singularity User Guide - Version 2.5.2. https://singularityware.github.io/user-guide.html ↩
"Sylabs fork of Singularity". Archived from the original on 20 May 2025. Retrieved 29 June 2022. https://archive.today/20250520122806/https://groups.google.com/a/lbl.gov/g/singularity/c/UbywVHXD_co/m/bGa8M4QAAQAJ ↩
"Sylabs Brings Singularity Containers into Commercial HPC". top500.org. https://www.top500.org/news/sylabs-brings-singularity-containers-into-commercial-hpc/ ↩
"Singularity License". singularity.lbl.gov. Singularity Team. 19 March 2018. Retrieved 19 March 2018. http://singularity.lbl.gov/docs-license ↩
"Changes to the AUTHORS.md file in Singularity source code made in April 2017". GitHub. https://github.com/singularityware/singularity/commit/56ee6e80e158dda288609ca0d342a153c7ddfe19#diff-a8b2df7fd69554249528b6ce108f533b ↩
"Berkeley Lab's Open-Source Spinoff Serves Science". 7 June 2017. http://newscenter.lbl.gov/2017/06/07/berkeley-labs-open-source-spinoff-serves-science/ ↩
"XStream online user manual, section on Singularity". xstream.stanford.edu. http://xstream.stanford.edu/docs/singularity/ ↩
"XStream cluster overview". Archived from the original on 24 October 2020. Retrieved 10 April 2018. https://web.archive.org/web/20201024231800/https://portal.xsede.org/stanford-xstream ↩
"Sherlock: What's New, Containers and Deep Learning Tools". Stanford Research Computing Center. https://srcc.stanford.edu/news/sherlock-whats-new-containers-and-deep-learning-tools ↩
"NIH HPC online user manual, section on Singularity". hpc.nih.gov. https://hpc.nih.gov/apps/singularity.html ↩
"NIH HPC Systems". hpc.nih.gov. https://hpc.nih.gov/systems/ ↩
"Singularity on the OSG". http://fife.fnal.gov/singularity-on-the-osg/ ↩
"Singularity in CMS: Over a million containers served" (PDF). https://indico.cern.ch/event/612601/contributions/2495602/attachments/1424434/2184476/Singularity-in-CMS-v2.pdf ↩
"HPCwire Reveals Winners of the 2016 Readers' and Editors' Choice Awards at SC16 Conference in Salt Lake City". HPCwire. https://www.hpcwire.com/off-the-wire/hpcwire-reveals-winners-2016-readers-editors-choice-awards-sc16-conference-salt-lake-city/ ↩
"HPCwire Reveals Winners of the 2017 Readers' and Editors' Choice Awards at SC17 Conference in Denver". HPCwire. https://www.hpcwire.com/off-the-wire/hpcwire-reveals-winners-2017-readers-editors-choice-awards-sc17-conference-denver/ ↩
"HPCwire Reveals Winners of the 2017 Readers' and Editors' Choice Awards at SC17 Conference in Denver". HPCwire. https://www.hpcwire.com/off-the-wire/hpcwire-reveals-winners-2017-readers-editors-choice-awards-sc17-conference-denver/ ↩
"Voluntary registry of Singularity installations". https://docs.google.com/spreadsheets/d/1Vc_1prq_1WHGf0LWtpUBY-tfKdLLM_TErjnCe1mY5m0/pub?gid=1407658660&single=true&output=pdf ↩
"Sylabs home page". Retrieved 29 June 2022. https://sylabs.io ↩
"Sylabs Emerges from Stealth to Bring Singularity Container Technology to Enterprise Performance Computing" (Press release). 8 February 2018. Retrieved 29 June 2022. https://www.globenewswire.com/news-release/2018/02/08/1336384/0/en/Sylabs-Emerges-from-Stealth-to-Bring-Singularity-Container-Technology-to-Enterprise-Performance-Computing.html ↩
"Singularity 3.0.0". GitHub. https://github.com/apptainer/singularity/releases/tag/v3.0.0 ↩
"Singularity repository move and company updates". Retrieved 29 June 2022. https://groups.google.com/a/lbl.gov/g/singularity/c/HAcb_l1WUgg/m/LPdAOJbXBwAJ ↩
"Sylabs fork of Singularity". Archived from the original on 20 May 2025. Retrieved 29 June 2022. https://archive.today/20250520122806/https://groups.google.com/a/lbl.gov/g/singularity/c/UbywVHXD_co/m/bGa8M4QAAQAJ ↩
"SingularityCE". Retrieved 30 June 2022. https://sylabs.io/singularity/ ↩
"SingularityCE". 28 October 2022 – via GitHub. https://github.com/sylabs/singularity ↩
"Singularity has joined the Linux Foundation!". Retrieved 29 June 2022. https://groups.google.com/a/lbl.gov/g/singularity/c/lRWR3vJGvks/m/bMvv9OfYBAAJ ↩
"Apptainer website". Retrieved 15 February 2023. https://apptainer.org ↩
"Intel Advanced Tutorial: HPC Containers & Singularity – Advanced Tutorial – Intel" (PDF). https://www.intel.com/content/dam/www/public/us/en/documents/presentation/hpc-containers-singularity-advanced.pdf ↩
"Intel Application Note: Building Containers for Intel Omni-Path Fabrics using Docker and Singularity" (PDF). https://www.intel.com/content/dam/support/us/en/documents/network-and-i-o/fabric-products/Build_Containers_for_Intel_OPA_AN_J57474_v4_0.pdf ↩
"Singularity Manual: A GPU example". http://singularity.lbl.gov/docs-exec#a-gpu-example ↩
"Intel Advanced Tutorial: HPC Containers & Singularity – Advanced Tutorial – Intel" (PDF). https://www.intel.com/content/dam/www/public/us/en/documents/presentation/hpc-containers-singularity-advanced.pdf ↩
Tallent, Nathan R.; Gawande, Nitin; Siegel, Charles; Vishnu, Abhinav; Hoisie, Adolfy (2018). "Evaluating On-Node GPU Interconnects for Deep Learning Workloads". High Performance Computing Systems. Performance Modeling, Benchmarking, and Simulation. Lecture Notes in Computer Science. Vol. 10724. pp. 3–21. doi:10.1007/978-3-319-72971-8_1. ISBN 978-3-319-72970-1. S2CID 1674152. 978-3-319-72970-1 ↩
Jonathan Sparks, Cray Inc. (2017). "HPC Containers in use" (PDF). https://cug.org/proceedings/cug2017_proceedings/includes/files/pap164s2-file1.pdf ↩
"Singularity and Docker". Retrieved 3 December 2021. https://apptainer.org/user-docs/3.8/singularity_and_docker.html ↩
"Support on existing traditional HPC". http://singularity.lbl.gov/user-guide#support-on-existing-traditional-hpc ↩
"HTCondor Stable Release Manual : Singularity Support". Archived from the original on 4 February 2020. Retrieved 4 February 2020. https://web.archive.org/web/20200204215032/https://htcondor.readthedocs.io/en/stable/admin-manual/singularity-support.html ↩
IBM Spectrum LSF with Singularity https://www.ibm.com/docs/en/spectrum-lsf/10.1.0?topic=containers-lsf-singularity ↩