Singularity
Extreme Mobility of Compute
Singularity containers let users run applications in a Linux environment of their choosing.
Possible uses for Singularity on Biowulf:
Web sites
Additional Learning Resources
Example definition files written by the NIH HPC staff
These definition files can all be found on GitHub, and the containers built from them are hosted on Singularity hub.
Additionally, a large number of staff maintained definition files and associated helper scripts can be found at this GitHub repo. These are files that staff members use to install containerized apps on the NIH HPC systems.
Please Note: Singularity gives you the ability to install and run applications in your own Linux environment with your own customized software stack. With this ability comes the added responsibility of managing your own Linux environment. While the NIH HPC staff can provide guidance on how to create and use singularity containers, we do not have the resources to manage containers for individual users. If you decide to use Singularity, it is your responsibility to build and manage your own containers.
Creating Singularity containers
To use Singularity on Biowulf, you either need to create your own Singularity container, or use one created by someone else. You have several options to build Singularity containers:
You can find information about installing Singularity on your Linux build system here for 2.x and here for the current 3.x series.
In addition to your own Linux environment, you will also need a definition file to build a Singularity container from scratch. You can find some simple definition files for a variety of Linux distributions in the /example directory of the source code. You can also find a small list of definition files containing popular applications at the top of this page.Detailed documentation about building Singularity container images is available at the Singularity website.
Troubleshooting containers that hang when they run out of memory
A few containers have caused issues on Biowulf by triggering a kernel level bug described in detail here and here. These include fmriprep and nanodisco. The problems follow a predictable pattern:
Binding external directories
Binding a directory to your Singularity container allows you to access files in a host system directory from within your container. By default, Singularity will bind your $HOME directory (along with a few other directories such as /tmp and /dev). You can also bind other directories into your Singularity container yourself.The process is described in detail in the Singularity documentation.
While $HOME is bound to the container by default, there are several filesystems on the NIH HPC systems that you may also want to include.Furthermore, if you are running a job and have allocated local scratch space, you might like to bind mount your lscratch directory to /tmp in the container.
The following command opens a shell in a container while bind-mounting your data directory, /fdb, /scratch, and /lscratch into the same path inside the containerIf you have access to shared data directories, you'll want to add them to the list as well (for example, /data/$USER,/data/mygroup1,/data/mygroup2,/fdb,...).
NIH HPC Staff recommendations for bind mounts on Biowulf
When building containers for use on Biowulf, there are two steps you should take to ensure that users of the container can read and write data to all normal directories. These are the same steps that NIH HPC staff take when containerizing applications for general use.
Step 1. Add directories and symlinks at build time
Data directories hosted on the GPFS file system rely on a series of symbolic links. Singularity can't follow these symlinks if they don't exist within the container, so you need to create them at build time. Other data directories can be automatically created within the container by recent versions of Singularity, but it's still a good idea to create them.
Include the following lines in the %post section of your definition file.
Step 2. Set the --bind option or the SINGULARITY_BIND variable appropriately at run time
Use the following option/argument pair when you run your container.
Singularity as an Installation Medium: faking a native installation
One use case of Singularity is to transparently use software in a container as through it were directly installed on the host system.To accomplish this on our systems, you need to be aware of the shared filesystem locations and bind mount the corresponding directories inside the container, which is more complicated than it seems because we use symbolic links to refer to some of our network storage systems.As a result, you will need to specify some directories in addition to the ones you use directly to ensure that the symbolic link destinations are also bound into the container.
If you wanted to take advantage of a Debian package this way and use it to install software into your home directory, for example samtools and bcftools, you would use a definition file, Singularity, with these contents:
After finalizing the definition file, you can proceed to build the container (of course, on a system where you have sudo or root access):
You can then set up your installation prefix (here, it's $HOME/opt/hts) as follows, making use of symbolic links and a wrapper script:
So if you have added the installation prefix $HOME/opt/hts/bin to your PATH, then calling samtools or bcftools will run those programs from within your container.And because we have arranged to bind mount all the necessary filesystems into the container, the path names you provide for input and output into the programs will be available to the container in the same way.
Interactive Singularity containers
Singularity cannot be run on the Biowulf login node.
To run a Singularity container image on Biowulf interactively, you need to allocate an interactive session, and load the Singularity module. In this sample session (user input in bold), an Ubuntu 16.04 Singularity container is downloaded and run from Docker Hub. If you want to run a local Singularity container instead of downloading one, just replace the DockerHub URL with the path to your container image file.
Expand the tab below to view a demo of interactive Singularity usage.
Singularity interactive container demo
Singularity containers in batch
In this example, singularity will be used to run a TensorFlow example in an Ubuntu 16.04 container. (User input in bold).
First, create a container image on a machine where you have root privileges. These commands were run on a Google Cloud VM instance running an Ubuntu 16.04 image, and the Singularity container was created using this definition file that includes a TensorFlow installation.
Next, copy the TensorFlow script that you want to run into your home directory, or another directory that will be visible from within the container at runtime. (See 'binding external directories' above). In this case, this example script from the TensorFlow website was copied to /home/$USER, and the container was moved to the user's data directory
Then ssh to Biowulf and write a batch script to run the singularity command similar to this:
Submit the job like so:
After the job finishes executing you should see the following output in the slurm*.out file.
Expand the tab below to watch a quick demo of Singularity in batch mode.
Singularity containers in batch demo
Singularity containers on GPU nodes
With the release of Singularity v2.3 it is no longer necessary to install NVIDIA drivers into your Singularity container to access the GPU on a host node. If you still want the deprecated gpu4singularity script that was used to install NVIDIA drivers within containers for use on our GPU nodes you can find it on GitHub.
Now, you can simply use the --nv option to grant your containers GPU support at runtime. Consider the following example in which we will download some TensorFlow models to the user's home directory and then run the latest TensorFlow container from DockerHub to train a model on the MNIST handwritten digit data set using a GPU node.
Expand the tab below to see a demo of installing and using GPU support in a Singularity container.
Using the GPU demo
Using Docker containers with Singularity
Singularity can import, bootstrap, and even run Docker images directly from Docker Hub. For instance, the following commands will start an Ubuntu container running on a compute node with no need for a definition file or container image!And, of course, we remember to set SINGULARITY_BINDPATH appropriately to be able to access all our files.
In this example, we will create a Singularity container image starting from the official continuumio miniconda container on Docker Hub. Then we'll install a number of RNASeq tools. This would allow us to write a pipelinewith, for example, Snakemake and distribute it along with theimage to create an easily shared, reproducible workflow. This definition file also installs a runscript enabling us to treat our container like an executable.
Assuming this file is called rnaseq.def, we can create a Singularity container called rnaseq on our build system with the following commands:
This image contains miniconda and our rnaseq tools and can be called directly as an executable like so:
After copying the image to the NIH HPC systems, allocate an sinteractivesession and test it there
This could be used with a Snakemake file like this
Expand the tab below to see an example of creating a Singularity container to be used as an executable from a Docker image on DockerHub.
Singularity with Docker demo
Follow this link:
- Singularity University - Solving Humanity's Grand Challenges [Last Updated On: June 10th, 2016] [Originally Added On: June 10th, 2016]
- Singularity Viewer [Last Updated On: June 12th, 2016] [Originally Added On: June 12th, 2016]
- Technological singularity - Wikipedia, the free encyclopedia [Last Updated On: June 14th, 2016] [Originally Added On: June 14th, 2016]
- Singularity HUB - News and Insights on Technology, Science ... [Last Updated On: June 16th, 2016] [Originally Added On: June 16th, 2016]
- Singularity on Steam [Last Updated On: June 22nd, 2016] [Originally Added On: June 22nd, 2016]
- The Best Definition of Singularity [Last Updated On: June 22nd, 2016] [Originally Added On: June 22nd, 2016]
- Amazon.com: Singularity - Xbox 360: Video Games [Last Updated On: June 22nd, 2016] [Originally Added On: June 22nd, 2016]
- Singularity - Microsoft Research [Last Updated On: June 22nd, 2016] [Originally Added On: June 22nd, 2016]
- Singularity - GameSpot [Last Updated On: June 22nd, 2016] [Originally Added On: June 22nd, 2016]
- Singularity Q&A | KurzweilAI [Last Updated On: June 27th, 2016] [Originally Added On: June 27th, 2016]
- Singularity - RationalWiki [Last Updated On: July 18th, 2016] [Originally Added On: July 18th, 2016]
- Amazon.com: Singularity [Online Game Code]: Video Games [Last Updated On: August 25th, 2016] [Originally Added On: August 25th, 2016]
- Singularity - Mass Effect Wiki - Wikia [Last Updated On: August 25th, 2016] [Originally Added On: August 25th, 2016]
- Downloads - Singularity Viewer [Last Updated On: August 25th, 2016] [Originally Added On: August 25th, 2016]
- Singularity | Singularity [Last Updated On: October 31st, 2016] [Originally Added On: October 31st, 2016]
- What is Singularity (the)? - Definition from WhatIs.com [Last Updated On: October 31st, 2016] [Originally Added On: October 31st, 2016]
- Singularity University - Wikipedia [Last Updated On: November 29th, 2016] [Originally Added On: November 29th, 2016]
- Technological singularity - Wikipedia [Last Updated On: December 15th, 2016] [Originally Added On: December 15th, 2016]
- The Singularity Is Near - Wikipedia [Last Updated On: January 22nd, 2017] [Originally Added On: January 22nd, 2017]
- Singularity Art Show Tonight In San Francisco! [Last Updated On: January 23rd, 2017] [Originally Added On: January 23rd, 2017]
- When Electronic Witnesses Are Everywhere, No Secret's Safe - Singularity Hub [Last Updated On: February 6th, 2017] [Originally Added On: February 6th, 2017]
- GEMS Education and Singularity University organises 1st annual Global Innovation Challenge - Al-Bawaba [Last Updated On: February 6th, 2017] [Originally Added On: February 6th, 2017]
- Do you believe in the Singularity? - Patheos (blog) [Last Updated On: February 6th, 2017] [Originally Added On: February 6th, 2017]
- Report: AMD Ryzen Performance in Ashes of the Singularity Benchmark - PC Perspective [Last Updated On: February 6th, 2017] [Originally Added On: February 6th, 2017]
- Donald Trump Is the Singularity - Bloomberg View - Bloomberg.com - Bloomberg [Last Updated On: February 6th, 2017] [Originally Added On: February 6th, 2017]
- Editorial Note From the Singularity Hub Team - Singularity Hub [Last Updated On: February 6th, 2017] [Originally Added On: February 6th, 2017]
- Discover the Most Advanced Industrial Technologies at Exponential Manufacturing - Singularity Hub [Last Updated On: February 6th, 2017] [Originally Added On: February 6th, 2017]
- 10th Letter looks at nature in the time of the Singularity - Creative Loafing Atlanta [Last Updated On: February 7th, 2017] [Originally Added On: February 7th, 2017]
- Wearable Devices Can Actually Tell When You're About to Get Sick - Singularity Hub [Last Updated On: February 7th, 2017] [Originally Added On: February 7th, 2017]
- Video: Singularity Containers for Science, Reproducibility, and HPC - insideHPC [Last Updated On: February 7th, 2017] [Originally Added On: February 7th, 2017]
- Robot Cars Can Teach Themselves How to Drive in Virtual Worlds - Singularity Hub [Last Updated On: February 9th, 2017] [Originally Added On: February 9th, 2017]
- Rowe FTC robotics team RSF Singularity takes top honors at Championship - Rancho Santa Fe Review [Last Updated On: February 10th, 2017] [Originally Added On: February 10th, 2017]
- Physicists Unveil Blueprint for a Quantum Computer the Size of a ... - Singularity Hub [Last Updated On: February 10th, 2017] [Originally Added On: February 10th, 2017]
- Singularity Containers for Science, Reproducibility, and HPC - Linux.com (blog) [Last Updated On: February 10th, 2017] [Originally Added On: February 10th, 2017]
- How Robots Helped Create 100,000 Jobs at Amazon - Singularity Hub - Singularity Hub [Last Updated On: February 11th, 2017] [Originally Added On: February 11th, 2017]
- Ready to Change the World? Apply Now for Singularity University's 2017 Global Solutions Program - Singularity Hub [Last Updated On: February 11th, 2017] [Originally Added On: February 11th, 2017]
- Families Finally Hear From Completely Paralyzed Patients Via New Mind-Reading Device - Singularity Hub [Last Updated On: February 13th, 2017] [Originally Added On: February 13th, 2017]
- The fear of a technological singularity - ETtech.com [Last Updated On: February 13th, 2017] [Originally Added On: February 13th, 2017]
- Holograms Aren't The Stuff of Science Fiction Anymore - Singularity Hub [Last Updated On: February 15th, 2017] [Originally Added On: February 15th, 2017]
- How the World Has Changed From 1917 to 2017 - Singularity Hub [Last Updated On: February 15th, 2017] [Originally Added On: February 15th, 2017]
- Preparing for the Singularity - Inverse [Last Updated On: February 15th, 2017] [Originally Added On: February 15th, 2017]
- Ashes of the Singularity merges with standalone expansion Escalation, no upgrade fee - PCGamesN [Last Updated On: February 18th, 2017] [Originally Added On: February 18th, 2017]
- Just Stand Inside this Room and it Will Wirelessly Charge Your Phone - Singularity Hub [Last Updated On: February 18th, 2017] [Originally Added On: February 18th, 2017]
- Ashes of the Singularity: Escalation being merged with the original game - PC Invasion (blog) [Last Updated On: February 18th, 2017] [Originally Added On: February 18th, 2017]
- Europe's TREASURE Will Be the King of All GPSs - Singularity Hub [Last Updated On: February 18th, 2017] [Originally Added On: February 18th, 2017]
- AMD bundles Ashes of the Singularity with FX processors ahead of Ryzen's launch - PCWorld [Last Updated On: February 18th, 2017] [Originally Added On: February 18th, 2017]
- The roots of technological singularity can be traced backed to the Stone Age - Wired.co.uk [Last Updated On: February 20th, 2017] [Originally Added On: February 20th, 2017]
- Jide's new OS is like an Android version of Windows 10's Continuum - The Verge [Last Updated On: February 22nd, 2017] [Originally Added On: February 22nd, 2017]
- Jide's Remix Singularity OS will turn your Android phone into a PC - Android Authority (blog) [Last Updated On: February 22nd, 2017] [Originally Added On: February 22nd, 2017]
- Remix tries its hand at the mobile-desktop hybrid OS with Singularity - Android Police [Last Updated On: February 23rd, 2017] [Originally Added On: February 23rd, 2017]
- Financial Leaders: Make Your Mark on the Future at Exponential Finance - Singularity Hub [Last Updated On: February 23rd, 2017] [Originally Added On: February 23rd, 2017]
- After Man? From Singularity to Specificity - Peace Research Institute Oslo (PRIO) (press release) (blog) [Last Updated On: February 23rd, 2017] [Originally Added On: February 23rd, 2017]
- Ashes of Singularity: Escalation Gets an Update - CGMagazine [Last Updated On: February 24th, 2017] [Originally Added On: February 24th, 2017]
- One Android company wants to use smartphones to make PCs truly ... - BGR [Last Updated On: February 24th, 2017] [Originally Added On: February 24th, 2017]
- Jide Announces Remix Singularity: The Continuum Alternative for Android - XDA Developers (blog) [Last Updated On: February 24th, 2017] [Originally Added On: February 24th, 2017]
- Why the Potential of Augmented Reality Is Greater Than You Think - Singularity Hub [Last Updated On: February 24th, 2017] [Originally Added On: February 24th, 2017]
- Damon Wayans Jr. Will Star in Seth Rogen's AI Comedy 'Singularity' for FX - /FILM [Last Updated On: February 24th, 2017] [Originally Added On: February 24th, 2017]
- Google Updates: Scuba, Singularity, SMS and suing - The INQUIRER [Last Updated On: February 24th, 2017] [Originally Added On: February 24th, 2017]
- Damon Wayans Jr. Joins FX Sci-Fi Comedy Singularity - Den of Geek US [Last Updated On: February 28th, 2017] [Originally Added On: February 28th, 2017]
- This Neural Probe Is So Thin, The Brain Doesn't Know It's There - Singularity Hub [Last Updated On: February 28th, 2017] [Originally Added On: February 28th, 2017]
- Video: AI Is Getting Smarter, Says Singularity University's Neil Jacobstein - Wall Street Journal (subscription) (blog) [Last Updated On: February 28th, 2017] [Originally Added On: February 28th, 2017]
- Jami Attenberg's funny-sad 'All Grown Up' all about the singularity - Milwaukee Journal Sentinel [Last Updated On: February 28th, 2017] [Originally Added On: February 28th, 2017]
- Citizen Science Means Anyone Could Discover Planet NineEven You - Singularity Hub [Last Updated On: February 28th, 2017] [Originally Added On: February 28th, 2017]
- Does Zapping Your Brain Actually Help You Learn Faster? - Singularity Hub [Last Updated On: March 1st, 2017] [Originally Added On: March 1st, 2017]
- What You Need to Know About Elon Musk's Plan to Fly People to the Moon - Singularity Hub [Last Updated On: March 1st, 2017] [Originally Added On: March 1st, 2017]
- Singularity University opening organisation in Denmark The Post - The Copenhagen Post - Danish news in english [Last Updated On: March 1st, 2017] [Originally Added On: March 1st, 2017]
- Singularity: Explain It to Me Like I'm 5-Years-Old - Futurism - Futurism [Last Updated On: March 4th, 2017] [Originally Added On: March 4th, 2017]
- See How This House Was 3D Printed in Just 24 Hours - Singularity Hub [Last Updated On: March 5th, 2017] [Originally Added On: March 5th, 2017]
- NYC's Metrograph theater is running a sci-fi film series featuring Blade Runner, Ex Machina, and Metropolis - The Verge [Last Updated On: March 7th, 2017] [Originally Added On: March 7th, 2017]
- 3 Exciting Biotech Trends to Watch Closely in 2017 - Singularity Hub - Singularity Hub [Last Updated On: March 9th, 2017] [Originally Added On: March 9th, 2017]
- New Burger Robot Will Take Command of the Grill in 50 Fast Food Restaurants - Singularity Hub [Last Updated On: March 9th, 2017] [Originally Added On: March 9th, 2017]
- Are These Giant Neurons the Seat Of Consciousness in the Brain? - Singularity Hub [Last Updated On: March 10th, 2017] [Originally Added On: March 10th, 2017]
- How Fully Synthetic Complex Life Just Got a Lot Closer - Singularity Hub [Last Updated On: March 12th, 2017] [Originally Added On: March 12th, 2017]
- The Singularity is Coming in 2029 and Will Make Humans 'Sexier' - Inverse [Last Updated On: March 17th, 2017] [Originally Added On: March 17th, 2017]
- NYC Weekend Watch: 'Taipei Story,' the Singularity, 'The Last Movie' & More - The Film Stage (blog) [Last Updated On: March 17th, 2017] [Originally Added On: March 17th, 2017]
- The Singularity: US Navy calls on gamers to help it plan for the rise ... - International Business Times UK [Last Updated On: March 17th, 2017] [Originally Added On: March 17th, 2017]
- Have a big idea to tackle climate change? Singularity U's Global Impact Challenge wants you - Miami Herald [Last Updated On: March 17th, 2017] [Originally Added On: March 17th, 2017]
- The singularity: AI will make humans sexier and funnier, says ... - The Independent [Last Updated On: March 17th, 2017] [Originally Added On: March 17th, 2017]
- Silicon Valley's top brains try to sort out the singularity - TechEye [Last Updated On: March 21st, 2017] [Originally Added On: March 21st, 2017]
- World Order's 'Singularity' raises profile of singular girls group - Japan Today [Last Updated On: March 27th, 2017] [Originally Added On: March 27th, 2017]