A misconception exists that Docker images can only run with Docker runtime and hence can’t be used in HPC. The Singularity runtime addresses the two major gaps, security and MPI, allowing HPC developers to adopt containers. In addition, the Singularity runtime is designed to load and run Docker format containers, making Singularity one of the most popular container runtimes for HPC.
Let’s take a look at one example. The MILC package is part of a set of code written by the MIMD Lattice Computation (MILC) collaboration used to study quantum chromodynamics (QCD), the theory of the strong interactions of subatomic physics. Using MILC, let’s learn how to convert the NGC Docker images to Singularity format and run in the Singularity (v2.5.0+) runtime. Running other HPC containers follows a similar process and the detailed steps are included in the respective READMEs.