mirror of
https://github.com/deepseek-ai/DeepInfer.git
synced 2026-10-28 23:07:09 +08:00
- NeuronGraphRunner: the CudaGraphRunner contract over torch.compile(dynamic=False), one graph per batch size (DEEPINFER_ENFORCE_EAGER=0, backend DEEPINFER_NEURON_COMPILE_BACKEND). Layer cache views are re-sliced from their root allocations inside the graph, so AOT never regenerates aliased mutated inputs with as_strided. - Decode MoE with fixed shapes: packed all-gather, dense local experts, fp32 reduce-scatter (neuron_ops/static_moe.py, deep_gemm.m_grouped_fp8_fp4_gemm_nt_shared_a). - Graph-break and compile fixes: hide torch.cuda during compile, torch.device equality for FX codegen, hash-based force_random routing, Engram hash/fetch on the host (exact int64), env vars resolved before tracing, Movable annotation, no .item()/nonzero/as_strided writes on the decode path, KV stores route padding slots to a scratch block kept past the pool, native-dtype gather under compile. - fp8: trn2 reads float8_e4m3fn as IEEE e4m3 (max 240). Activations/KV quantize to 224 (DEEPINFER_NEURON_FP8_MAX), checkpoint fp8 weights are rescaled at load (bytes / 2, ue8m0 + 1), and neuronx-cc gets --experimental-unsafe-fp8e4m3fn-as-fp8e4m3 via --internal-hlo2tensorizer-options. The uint8-carrier backend (neuron_ops/neuron_compile.py, "deepinfer_neuron") stays as a fallback. - Tests: tests/neuron/compile; run_all.sh runs kernel unit tests at the e4m3fn range (448) and the end-to-end stages at 224. Docs: vllm-neuron PR #71 analysis and compile notes. Host: tiny model 9/9 vs golden (all prompts) eager, compiled path (aot_eager) matches eager; CPU suite green. Device: the whole decode graph still crashes neuronx-cc (NCC_IINL902, being bisected). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| _unsupported.py | ||
| candidate_blocks.py | ||
| compress.py | ||
| compute_seqlens_k_zos.py | ||
| dflash_copy.py | ||
| dflash.py | ||
| flash_mla_utils.py | ||
| fused_sample.py | ||
| fused_transform.py | ||
| gather_engram_tokens_zos.py | ||
| gather_input_ids_zos.py | ||
| gather.py | ||
| get_kv_index.py | ||
| image_embed_ops.py | ||
| kv_index_cat.py | ||
| kv_quant.py | ||
| load_paged_kv_cache.py | ||
| norm.py | ||
| prepare_cp_mirror.py | ||
| prepare_v4_decode_metadata.py | ||
| random_sampling.py | ||
| rstd_1ulp.py | ||
| sampler.py | ||
| schedule_mtp_varlen.py | ||
| state_cache.py | ||
| store_kv_cache.py | ||
| store_mtp_info.py | ||
| structure_output.py | ||
| sum_smaller_probs.py | ||
| swa_index.py | ||