For questions about programmatic problems relating to the Singularity scientific computing container solution.
Singularity is a container solution created by necessity for scientific and application driven workloads. Singularity provides four primary functions (taken from the preceding link):
- Mobility of compute: the ability to define, create and maintain a workflow and be confident that the workflow can be executed on different hosts, operating systems (as long as it is Linux) and service providers.
- Reproducibility: once a contained workflow has been defined, the container image can be snapshotted, archived, and locked down such that it can be used later and you can be confident that the code within the container has not changed.
- User freedom: users can define their own working environment and literally copy that environment image (single file) to a shared resource, and run their workflow inside that image.
- Support on existing traditional HPC: Singularity supports existing and traditional HPC resources as easily as installing a single package onto the host operating system. Custom configurations may be achieved via a single configuration file, and the defaults are tuned to be generally applicable for shared environments.