Reproducibility Checklist
An experiment is reproducible if and only if all of the following are available:- Code version: exact git commit of the EMEP codebase
- Model version: version hashes of all parent models
- Dataset version: exact dataset versions used for training and evaluation
- Benchmark version: exact benchmark versions and their specifications
- Environment version: dependency versions including CUDA, PyTorch, and framework libraries
- Random seed: master seed and per-benchmark seeds
- Configuration: full experiment configuration including genome parameters
- Hardware: GPU type and count (for performance reproduction, not correctness)
Captured Fields
Reproducibility Gaps
The following are known gaps that may affect exact reproduction:- Non-deterministic GPU operations: some CUDA kernels have non-deterministic behavior. Setting
torch.use_deterministic_algorithms(True)mitigates but does not eliminate this. - Floating point order: merge operations may execute in different orders on different GPU counts, producing slightly different results.
- System-level noise: background processes on shared systems may affect timing but not correctness.
Reproducibility Score
EMEP computes a reproducibility score for each experiment:
A score of 1.0 means all critical fields are present. Scores below 0.9 trigger a warning. Scores below 0.7 block experiment completion.
Verification
Reproducibility is verified by:- Checking that all required fields exist in the experiment record
- Verifying that referenced artifacts exist in the ArtifactStore
- Confirming that dataset and benchmark versions are available in their registries
- Validating that the git commit exists in the repository
Integration
The reproducibility check is performed automatically at experiment completion. Results are stored in the experiment record and displayed in the experiment summary. See Reproducibility Protocol for the step-by-step reproduction procedure.Reproducibility verification does not re-run the experiment. It only confirms that all required inputs and metadata are available and consistent. Actual reproduction requires following the protocol.