NGC | Catalog
Logo for milc
Description
MILC is a collaborative project used and maintained by scientists studying the theory of strong interactions of subatomic physics, otherwise referred to as quantum chromodynamics (QCD).
Publisher
QCD Community
Latest Tag
quda1.1.0-November2022
Modified
March 2, 2024
Compressed Size
1.22 GB
Multinode Support
No
Multi-Arch Support
Yes

MILC

MILC is a collaborative project used and maintained by scientists studying the theory of strong interactions of subatomic physics, otherwise referred to as quantum chromodynamics (QCD). MILC performs simulations of four-dimensional SU(3) lattice gauge theory on MIMD parallel machines. MILC is publicly available for research purposes and publications of work using MILC or derivatives of this code should acknowledge this use.

System requirements

Before running the NGC MILC container please ensure your system meets the following requirements.

  • One of the following container runtimes
  • One of the following NVIDIA GPU(s)
    • Pascal(sm60)
    • Volta (sm70)
    • Ampere (sm80)
    • Hopper (sm90)

x86_64

  • CPU with AVX instruction support
  • One of the following CUDA driver versions
    • r520 (>=.61.05)
    • >= 450.80.02

arm64

  • Marvell ThunderX2 CPU
Examples

The following examples demonstrate how to run the NGC MILC container on a single GPU using the SC15 student cluster competition benchmark.

The SC15 student cluster competition benchmark script is located in the /workspace/examples directory inside of the container. Please note that the SC15 cluster data will be downloaded by the script if it is not already available in the directory mounted to /data in the container.

Throughout this example the container version will be referenced as $TAG, replace this with the tag you wish to run.

Executables

su3_rhmd_hisq: primary MILC application binary

Example command form:

su3_rhmd_hisq -geom $GEOM $INPUT_FILE $OUTPUT_FILE

Where

  • $GEOM: a grid of virtual processors for GPU optimization
  • $INPUT_FILE: Input file to be processed
  • $OUTPUT_FILE: file in which to write results to

Running with nvidia-docker

docker run --gpus all -it --rm -v $(pwd)/data:/data -v $(pwd):/sc15_cluster nvcr.io/hpc/milc:$TAG /workspace/examples/sc15_cluster.sh 1

Note: Docker < v1.40

Docker versions below 1.40 must enable GPU support with --runtime nvidia.

docker run --rm --runtime nvidia --ipc=host -v $PWD:/host_pwd -w /host_pwd nvcr.io/hpc/milc:$TAG /workspace/examples/sc15_cluster.sh 1

Running with Singularity

mkdir run data
singularity run --nv -B $(pwd)/data:/data -B $(pwd)/run:/sc15_cluster docker://nvcr.io/hpc/milc:$TAG /workspace/examples/sc15_cluster.sh 1

Note: Singularity < v3.5

There is currently an issue in Singularity versions below v3.5 causing the LD_LIBRARY_PATH to be incorrectly set within the container environment. As a workaround The LD_LIBRARY_PATH must be unset before invoking Singularity:

LD_LIBRARY_PATH="" singularity run --nv -B $(pwd)/data:/data -B $(pwd)/run:/sc15_cluster docker://nvcr.io/hpc/milc:$TAG /workspace/examples/sc15_cluster.sh 1

Suggested Reading

MILC Manual

MILC Repository

NVIDIA Docker