Glotzerlab software images

glotzerlab-software is a set of container images that provide software developed by the Glotzer group at the University of Michigan along with related software commonly used in simulation and data analysis workflows. An image bundles these tools into a single file which can be copied, moved, shared with others, and published to provide a completely reproducible workflow. A host system provides the resources to execute software inside containers. Singularity provides a high performance solution, supporting NVIDIA GPUs and MPI parallel execution. Singularity is available on most HPC resources. You can install it on your linux system if you have root access.

Quick start

First, download the stable glotzerlab/software image:

$ curl -o software.simg \

Or the beta (with HOOMD v3.0.0-beta):

$ curl -o software.simg \


On HPC clusters, download the cluster specific image. See HPC clusters for details.

singularity exec executes software from inside the container:

$ singularity exec software.simg python3

Add the --nv option to enable NVIDIA GPUs inside the container:

$ singularity exec --nv software.simg nvidia-smi
| NVIDIA-SMI 450.57       Driver Version: 450.57       CUDA Version: 11.0     |
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|   0  Quadro RTX 5000     On   | 00000000:02:00.0 Off |                  Off |
| 33%   29C    P8    16W / 230W |      1MiB / 16124MiB |      0%      Default |
|                               |                      |                  N/A |

singularity shell launches an interactive shell:

$ singularity shell --nv software.simg
Singularity: Invoking an interactive shell within container...

Singularity> python3
Python 3.6.9 (default, Oct  8 2020, 12:12:24)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import hoomd
>>> import freud
>>> import signac
>>> gpu = hoomd.device.GPU()
>>> print(gpu.devices)
['[0]       Quadro RTX 5000  48 SM_7.5 @ 1.82 GHz, 16124 MiB DRAM']

glotzerlab-software updates regularly with the latest versions of included software. Download the latest image to update:

$ curl -o software.simg \

See also

See the Singularity documentation for more information on singularity commands.