- jepa_gpu: remove the bring-up 2-block cap; full-depth GPU-resident
ViT verified against a full-depth CPU reference on the RTX 5060 Ti
(depth-12 ViT-Tiny max_rel_err <= 6.6e-5). CpuViTEncoder's own hidden
min(depth,2) cap removed too — CPU-path callers now get the model
they configured.
- jepa_distributed: real TCP parameter-server AllReduce backend
(rendezvous handshake with world-size/rank validation, length-
prefixed f32 payloads, connect/read/accept timeouts, connect retry
until deadline so early peers survive rank 0 still computing);
jepa_runner wires it for world_size > 1 and fails hard on collective
errors. Two-rank loopback training run covered by test.
- rtx-jepa-cli (new crate): rtx-jepa binary with train/bench/plan/
validate subcommands driving JepaRunConfig, run_jepa_training,
run_jepa_benchmark, and ClusterTrainingPlan (plan --emit-config
round-trips through a config serializer). GPU bench on this node:
86k patches/sec vs 1.3k CPU (~64x).
- ViTSizeStr::Micro (d=32, depth=2) added as an explicit test/smoke
size now that no hidden caps keep full-size configs cheap; heavy
tests moved onto it (rtx-transformers suite: 367s -> 5s, and the
runner subset had ballooned to 35min at full depth before this).
966 lib tests pass; 35/35 jepa_gpu with cuda; 8/8 CLI tests.
Co-Authored-By: Claude Fable 5 <[email protected]>