Environment Modules and Containers

Environment modules and containers are systems concepts when they define reproducibility, and infra concepts when they touch cluster policy, GPU runtime, storage mounts, or server operations.

The public note should answer one operational question:

If the environment can silently change between login shell, scheduler job, notebook, and container runtime, the result is not reproducible even when the code is unchanged.

QuestionGo To
What are modules and containers?Environment modules and containers
How should an environment be captured?Environment management
What belongs in a run record?Reproducible run record
Is this a scheduler job script issue?Slurm job script

Infra Checklist

CheckWhy it matters
Module listcompiler, CUDA, MPI, Python, and library ABI can change behavior
Container imageimage tag, digest, CUDA base, and entrypoint define the runtime
Host bindingGPU driver, filesystem mount, UID/GID, and network access come from the host
Scheduler shellinteractive environment and batch environment may load different defaults
Artifact capturerun records should include image/module state, not only code commit

Boundary

Belongs hereBelongs elsewhere
module/container policy, image provenance, mount behavior, GPU runtime compatibilitymodel objective, architecture, dataset semantics
scheduler job environment, runtime failure, dependency driftpaper claim, benchmark metric, learning method

Public examples should use placeholders only. Do not publish private registry names, internal mount paths, hostnames, usernames, project paths, tokens, or cluster-specific module trees.