---
id: pr-sglang-18639
repo: sgl-project/sglang
pr: 18639
title: '[sglang-miles] True on-policy training support for FSDP2'
author: yueming-yuan
date: '2026-02-12'
url: https://github.com/sgl-project/sglang/pull/18639
source_category: upstream-code
architectures:
- sm100
tags:
- compiler_runtime
- fused norm
- gemm_quant
- moe_routing
- norm_elementwise
- scheduler_autotune
techniques:
- autotuning
- fine-grained-quantization
- kernel-fusion
- tile-scheduling
hardware_features: []
kernel_types:
- compiler
- gemm
- moe
- norm
- scheduler
languages:
- triton
captured_at: '2026-05-16'
status: merged
merge_sha: e236af57736ddff467e986cfcf53df64fb3dd10c
inclusion_reason: Look for fusion, vectorization, dtype conversion, and store-traffic reductions before changing math.
changed_paths:
- python/sglang/srt/distributed/parallel_state.py
- python/sglang/srt/entrypoints/engine.py
- python/sglang/srt/entrypoints/http_server.py
- python/sglang/srt/layers/layernorm.py
- python/sglang/srt/layers/logits_processor.py
- python/sglang/srt/layers/moe/fused_moe_triton/fused_moe.py
- python/sglang/srt/layers/moe/fused_moe_triton/layer.py
- python/sglang/srt/layers/quantization/compressed_tensors/compressed_tensors.py
- python/sglang/srt/layers/quantization/compressed_tensors/compressed_tensors_moe.py
- python/sglang/srt/layers/rotary_embedding.py
- python/sglang/srt/layers/sampler.py
- python/sglang/srt/managers/io_struct.py
- python/sglang/srt/managers/scheduler.py
- python/sglang/srt/managers/scheduler_update_weights_mixin.py
- python/sglang/srt/managers/tokenizer_communicator_mixin.py
- python/sglang/srt/managers/tp_worker.py
- python/sglang/srt/model_executor/model_runner.py
- python/sglang/srt/models/qwen2.py
- python/sglang/srt/models/qwen2_moe.py
- python/sglang/srt/models/qwen3.py
- python/sglang/srt/models/qwen3_moe.py
- python/sglang/srt/models/qwen3_vl.py
artifact_dir: evidence/pull-bundles/sglang/gh-18639
head_ref_oid: 6fc54076528fec979cf37e652e250cd993b45687
---
# [sglang-miles] True on-policy training support for FSDP2

- Repository: `sgl-project/sglang`
- PR: [18639](https://github.com/sgl-project/sglang/pull/18639)
- Decision: `Look for fusion, vectorization, dtype conversion, and store-traffic reductions before changing math.`
- Reason: Look for fusion, vectorization, dtype conversion, and store-traffic reductions before changing math.

## Changed Paths

- `python/sglang/srt/distributed/parallel_state.py`
- `python/sglang/srt/entrypoints/engine.py`
- `python/sglang/srt/entrypoints/http_server.py`
- `python/sglang/srt/layers/layernorm.py`
- `python/sglang/srt/layers/logits_processor.py`
- `python/sglang/srt/layers/moe/fused_moe_triton/fused_moe.py`
- `python/sglang/srt/layers/moe/fused_moe_triton/layer.py`
- `python/sglang/srt/layers/quantization/compressed_tensors/compressed_tensors.py`
- `python/sglang/srt/layers/quantization/compressed_tensors/compressed_tensors_moe.py`
- `python/sglang/srt/layers/rotary_embedding.py`
- `python/sglang/srt/layers/sampler.py`
- `python/sglang/srt/managers/io_struct.py`
- `python/sglang/srt/managers/scheduler.py`
- `python/sglang/srt/managers/scheduler_update_weights_mixin.py`
- `python/sglang/srt/managers/tokenizer_communicator_mixin.py`
- `python/sglang/srt/managers/tp_worker.py`
- `python/sglang/srt/model_executor/model_runner.py`
- `python/sglang/srt/models/qwen2.py`
- `python/sglang/srt/models/qwen2_moe.py`
- `python/sglang/srt/models/qwen3.py`
- `python/sglang/srt/models/qwen3_moe.py`
- `python/sglang/srt/models/qwen3_vl.py`

## Evidence Bundle

`evidence/pull-bundles/sglang/gh-18639`
