Two patches in src/matilda/model.py to unblock the 152M hero run on the
A100 SXM4 40GB instance:
1. _import_liger() now imports torch.distributed.tensor explicitly.
Liger 0.8.0 RMSNorm calls torch.distributed.tensor.DTensor at runtime,
but torch 2.6 doesn't auto-load that submodule; first forward dies
with AttributeError (eager) or CUDA illegal memory access (compile).
2. _apply_rope() bypasses liger_rotary_pos_emb, falls back to eager.
liger-kernel 0.8.0's Triton RoPE kernel crashes torch.compile autotune
with CUDA illegal memory access at any head_dim (reproduced at 80 and
64). Eager apply_rope is <1% of step time; LigerRMSNorm + LigerFLCE
stay engaged.
Adds docs/instance-run-2026-05-30/ with the full operating journal:
- README.md: overview, what happened, live run progress
- bugs-and-fixes.md: each Liger bug, the python-edu data bug, full diag +
applied patches + why-this-and-not-other reasoning
- calibration-data.md: 363M and 152M BS sweep tables, Liger F…
v1.5 pivot: 152M (18L x 768d) hero config, ReLU2 FFN, final logit soft-cap. 350M kept as reference.