Skip to main content

RepX

A framework for reproducible HPC experiments.

Define experiments in Nix, execute on any target (local, SSH, SLURM), analyze results in Python. Environment reproducibility is enforced at build time, not left to the user.

Hermetic builds

Nix resolves and locks every software dependency at build time. The resulting Lab artifact is self-contained and runs identically on any Linux machine.

Static validation

Stage scripts are analyzed during the build. Missing commands, undeclared dependencies, and shell errors fail the build -- not a running cluster job.

Portable execution

A built Lab includes executables, container images, and host tools. Run locally, over SSH, or submit to SLURM. No Nix required on the target.

Parameter sweeps

Declare parameter lists and RepX generates the Cartesian product as a job DAG. Change one parameter and only affected stages rebuild.

Incremental execution

Completed jobs persist across runs. Re-run after a failure and only pending jobs execute. --continue-on-failure keeps independent jobs running.

Structured analysis

A Python API provides queryable access to results and metadata. Filter jobs by parameter values, load artifacts into Pandas DataFrames.