## pytorch/torchtitan — v0.2.1…v0.2.2

_79 commits._

### Features
- **[ci] Add DSv3 SimpleFSDP auto_bucketing to h100 ci jobs (#2347)** (a103f4c)
- **feat(gpt-oss): add YaRN RoPE extensions with mscale for extended context (#2216)** (6278dcc)
- **Add ROCm CI support for Auto Parallel & Compiler Toolkit experiments (#2248)** (02661e8)
- **Add peak flops for NVIDIA H20 GPUs (#2307)** (62daeb3)
- **Add missing `job_config.maybe_log()` calls (#2308)** (4aebdd2)
- **[BE][NFC] Add integration test for simplefsdp + CP deepseek_v3 (#2301)** (1a0713c)
- **Add ROCm support for H100 tests (#2202)** (bc4b809)
- **Add ROCm CI support for Transformers Modeling Backend & VLM experiments. (#2276)** (13c9837)
- **Add ROCm CI support for simple fsdp experiments test (#2220)** (81f5a5a)
- **[CP] Refactor Context Parallel to use new PyTorch CP APIs (#2144)** (1e8f9ac)
- **[ROCm] Support mxfp8 on gfx950. (#2222)** (a25dd8f)
- **Add test for dsv3 with flexattn + fsdp + ep + pp + sac op (#2234)** (9240172)
- **[Compiler Toolkit] Add option for full inductor. (#2150)** (9f211ec)
- **Add docs to explain COMM_MODE (#2162)** (7e4ab85)
- **add attention scaling to varlen for qwen3 (#2178)** (5dd9f4c)

### Fixes
- **fix: restrict completion logging to rank 0 (#2383)** (10d8a30)
- **bug fix: don't swallow OutOfMemoryError when enable_memory_snapshot=True (#2374)** (ba8ace6)
- **[Bugfix] Fix `simple_rl_multiprocess.py` to be runnable with recent vLLM version (#2359)** (9f3f41e)
- **[Bugfix] Fix bitwise determinism after vLLM SiluAndMul change (#2358)** (30bd22b)
- **Fix the CI loss issue (#2315)** (cf86edc)
- **[SimpleFSDP] Fix HSDP placement mismatch in _distribute_dtensor (#2329)** (71517cf)
- **Fix gpt-oss implementation (MoE router gate bias + top‑k renorm) (#2319)** (41753c6)
- **[Typing] Fix pyrefly ignores in deepseek model.py (#2305)** (4177c03)
- **Fix FLUX attention by exposing is_causal in SDPA (#2309)** (fdd3a37)
- **[docs] Fix type mismatch in model layers comments (#2306)** (5ff1f87)
- **[Typing] Fix pyrefly ignores in qwen3 model.py (#2304)** (eeca215)
- **[Typing] Fix pyrefly ignores in llama4 model.py (#2303)** (0c04702)
- **[Typing] Fix the pyrefly ignores in llama3 model.py (#2302)** (a0eac0d)
- **[MoE] DeepEP refactor and fix memory leak during training and inference (#2296)** (808cdf7)
- **[Typing] Fix some pyrefly ignores in optimizer.py (#2294)** (b7f4de1)
- **[Typing] Fix the ignores in validate.py (#2286)** (374ea0f)
- **[Typing] Fix the ignores in tokenizer.py (#2285)** (a9bbae2)
- **[Typing] Fix the ignores in activation_checkpoint.py (#2284)** (169ba3b)
- **[Typing] Fix pyrefly ignores in checkpoint.py (#2283)** (6f9cdb3)
- **Fix grad norm clipping for AutoP and dsv3 model init (#2270)** (92ed38a)
- **[Typing] Fix pyrefly-ignore in train.py (#2282)** (f0955d0)
- **weight tying fix for qwen3 (#2253)** (d12ff2f)
- **Fix loss computation by handling valid token imbalance in train loop (#2206)** (0cb7435)
- **[MoE] Fix experts DTensor metadata bug for dcp (#2227)** (8ff9e42)
- **[Typing] Fix CI Typing Issues (#2245)** (7fde8b6)
- **fix sdpa-varlen attention mismatch in qwen3 (#2229)** (09c6d74)
- **[docs] Fix missing --model.flavor flags in compiler_toolkit README (#2168) (#2201)** (e16af85)

### Backend
- **Bump version to v0.2.2 (#2412)** (73a0e69)
- **[rl/unified] Update default `model-ckpt-path` in infer.py to the one from README (#2405)** (b36efaf)
- **[rl] Install vllm from pre-built wheels  (#2397)** (5699908)
- **Bump tj-actions/changed-files from 47.0.2 to 47.0.4 in the github-actions group (#2390)** (7a6e451)
- **Fixed autoparallel integration tests on ROCm. (#2321)** (2ce22eb)
- **[AC] Set preserve_rng_state=True as default for activation checkpointing (#2380)** (e347b1e)
- **Torchtitan changes to integrate into Verl (#2333)** (fde830d)
- **[compiler toolkit] Separate process groups for FSDP AG/RS comm overlap  (#2368)** (27930cb)
- **[CI] Disable NVLS. (#2372)** (2716654)
- **separate out training for fault tolerance (#2311)** (846653f)
- **Bump tj-actions/changed-files from 47.0.1 to 47.0.2 in the github-actions group (#2367)** (e3540e0)
- **Fixing extra averaging performed in validation error (#2366)** (f80a441)
- **removed weight initialization from model __init__ (#2361)** (d8d81a8)
- **added custom trunc_normal (#2342)** (e38d7ab)
- **Remove `_ScaledPartial` placement (#2337)** (100ca31)
- **Maintain same LR schedule for early stop debug runs  (#2340)** (40b54e4)
- **[rl][ez] Squash landing import and git fixes PR #2324 and #2325 (#2331)** (a7ff889)
- **[DeepEP] Implement shared_experts overlap with deepep.combine() (#2310)** (e215f4f)
- **Fixing global_max_loss computation** (1a36996)
- **[rl] GQA attention enablement in torchtitan vllm wrapper (#2299)** (2b0a4a3)
- **Update CPU unit test to use linux_job_v2 (#2287)** (485778d)
- **[BE week] Disable CPU wheel builds in nightly CI (#2289)** (cee9482)
- **[Typing] Improve typing for some distributed modules (#2295)** (182b79b)
- **[Typing] Remove unused pyrefly ignore (#2280)** (a33d0e3)
- **GQA without kv repeats (#2259)** (ff0829c)
- **[varlen_attn] change is_causal to window_size (#2267)** (5621112)
- **[CP] Enable FlexCP for llama3 (#2145)** (0a2107f)
- **[Typing] Remove deprecated enable_symm_mem_for_group (#2260)** (69cf207)
- **[Typing] Improve ModelProtocol typing (#2246)** (42fd903)
- **[Experimental][rl][unified] Update infer.py example to work with vLLM nightly (#2226)** (a085b0e)
- **[Experimental][rl][vllm compat] Update simple_rl example to work with vLLM nightly (#2219)** (1556971)
- **[lint] ignore all existing pyrefly errors (#2240)** (5ef90fa)
- **Enable memory snapshot for generic devices (#2228)** (6408426)
- **Disable dynamo LRU cache when AC is enabled  (#2204)** (c26ea60)
- **[autoparallel] Update local_map_deepseek_v3 device mesh usage (#2231)** (ec246c9)
- **[GPT-OSS] Graduate from experiments to main (#2203)** (795a7a0)
- **make get tp mesh optional in llama4 parallelize (#2185)** (62f5806)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/pytorch/torchtitan?utm_source=github-action)._