Repository map, pins and validation notes · documentation index.
| Path | Contents |
|---|---|
src/, configs/, tests/ |
MiniWorld package, Hydra configs, tests |
libs/ |
patches/ for FoldBench (StructCooker, which builds the databases, is a separate repository) |
scripts/ |
Python entry points and tools; slurm/ holds sbatch launchers (mostly local, untracked) |
docs/ |
Guides; kernels/ kernel diagrams and status reports; archive/ dated validation records (index) |
runs/ |
Every run output: training runs, logs/, outputs/, eval_results/, wandb/ (ignored by Git). The H100 kernel-experiment records that used to be tracked here are under the tag archive/h100-kernel-experiments-20260927; scripts/restore_kernel_experiments.sh extracts them |
MiniWorld depends on miniworld-engine directly; the training loop, EMA, diffusion, blocks and layers that used to live in
team-gm are part of this package (miniworld.training, miniworld.diffusion, miniworld.modules, miniworld.utils).
bash scripts/check.sh # ruff check, ruff format --check, pyright
bash scripts/check.sh --fix # apply the safe fixes and the formatter first
pytest tests # needs a B200/H100 node; CI only runs ruff and a compile checkKnown lint and type-check debt is listed in pyproject.toml ([tool.ruff.lint] ignore, [tool.pyright] warnings).
jaxtyping dimension names that are a single identifier are written with a leading space (" B") so that linters
do not read them as forward references.
v1.1 work: distogram fixes and interchain weighting, with a diagram of current cropping. v1.2.0: AF3-style MSA sampling — full-depth PDB pool and per-recycle re-draw. v2.0.0 (phase 2): BiasOnlyTokenDiT + full-bf16 diffusion module, 1.9-2.4x diffusion step.
The stages are distogram training (1a/1b), diffusion training (2a/2b), and confidence training (3a/3b). See the pipeline guide for configuration names, crop sizes, checkpoint handoffs, and version variants.
Kernel development (2026-09-27): Our H100 inference and training kernels are developed in miniworld-engine. The repository map identifies the current development worktrees, installed research runtime, and remaining validation work. Upstream attribution and the earlier development direction are recorded in the historical kernel report.
Anthropic inference integration and H100 profiling results cover the first shared-kernel campaign. These historical records predate the current training kernels. The interactive HTML dashboard shows wiring, timings, NCU bottlenecks, and remaining integration work.
Add train.engine_backend=triton to pin training to the engine Triton paths.
See backend selection and scope, and the
full-model CUDA graph training comparison.
miniworld-engine is a PyPI dependency pinned by version in pyproject.toml (miniworld-engine==2.3.6);
there are no submodules. Install the Pixi environment and check the pinned package:
pixi install -e cu128
pixi run -e cu128 engine-setupThe engine wheel ships its H100 (sm_90) CUDA kernels compiled for both CUDA builds of torch 2.13, so on an H100 the first
model call loads binaries and runs no nvcc, and there is nothing to prebuild. The cu128 environment keeps its historical
name; it installs torch 2.13.0+cu129 (CUDA 12.9, the newest the cluster's 575 driver runs) and cuequivariance 0.12.
FlashAttention-4 is in the lock, pinned to 4.0.0b32: the engine unpacks the four values flash_attn.cute returns in that
beta, and a later beta returns more. Do not upgrade it by hand. On the B200 boxes the engine is the local checkout
($W/mwenv, see docs/operations/b200-environment.md).
Run engine-setup again after reinstalling the engine dependency. It verifies the installed engine version against the pin
and the required files, and says per architecture whether the kernels ship in the wheel or still have to be prebuilt.
B200 (sm_100), and kernels the wheel does not carry, still compile on first use. The engine wheel has no sm_100 kernels
yet; prebuild them once on a B200 node after creating the environment or bumping the engine pin. That and the opt-in
kernels outside the wheel (the fused SWA atom DiT) need the CUTLASS headers: pixi run -e cu128 setup-cutlass clones
CUTLASS v4.2.1 into ./.cutlass once and the environment sets CUTLASS_PATH to it.
python scripts/prebuild_engine.py --jobs 8 # B200 node
pixi run -e cu128 engine-prebuild --verify-only # only check that nothing would compileThe kernels built locally land in the environment's own cache (~/.cache/miniworld_engine_jit/py310-<env hash>). Shapes,
timings and what is not covered: docs/operations/engine-prebuild.md.
MathDx and the other kernel prerequisites are listed in the environment comments of pyproject.toml.
The integration preserves the SWA block equations and checkpoint layout. The engine audit records H100 forward/backward checks, numerical differences, CUDA Graph results, and their limits. The H100 upgrade records kernel selection, mask/residual fusion, and measured speedups. See also the direct PyTorch comparison. Packed bidirectional TriMul training records the latest H100/Triton comparison and the compile-independent contraction dispatch. The September 22 TriMul closeout records the final measured B1/B7 candidate, reproducibility evidence, and the remaining input-LayerNorm gradient validation issue. See the consolidated status and wiring. AdaLN and attention fixes cover the H100 shared-memory alignment failure and L8192 attention training memory.
- FoldBench evaluation conventions
- Known issues and validation limits
- Technical report draft and build instructions
Generated FoldBench results live under runs/eval_results/ and are excluded from Git.
Kernel changes, validation, and reinstall instructions. Inference kernel wiring · Wiring details.