---
id: pr-vllm-40960
repo: vllm-project/vllm
pr: 40960
title: '[DSV4] Add BF16 and MXFP8 A2A support for flashinfer a2a one sided'
author: zyongye
date: '2026-04-30'
url: https://github.com/vllm-project/vllm/pull/40960
source_category: upstream-code
architectures:
- sm100
tags:
- FlashInfer
- gemm_quant
- mxfp4
- nvfp4
- quantization kernel
techniques:
- fine-grained-quantization
- kernel-fusion
hardware_features:
- fp4
- fp8
- mxfp4
- nvfp4
kernel_types:
- gemm
- moe
languages:
- cuda-cpp
captured_at: '2026-05-16'
status: merged
merge_sha: b4806c8ee12d5c5bbfebd6070b389e2f4daad1fd
inclusion_reason: Inspect scale layout, accumulator type, tile/schedule choice, epilogue fusion, and partial-tile guards before deriving a candidate.
changed_paths:
- docs/design/moe_kernel_features.md
- vllm/distributed/device_communicators/all2all.py
- vllm/model_executor/layers/fused_moe/all2all_utils.py
- vllm/model_executor/layers/fused_moe/config.py
- vllm/model_executor/layers/fused_moe/experts/trtllm_mxfp4_moe.py
- vllm/model_executor/layers/fused_moe/oracle/mxfp4.py
- vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_one_sided.py
- vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_two_sided.py
- vllm/model_executor/layers/fused_moe/prepare_finalize/naive_dp_ep.py
- vllm/model_executor/layers/fused_moe/prepare_finalize/no_dp_ep.py
- vllm/model_executor/layers/fused_moe/utils.py
- vllm/model_executor/layers/quantization/utils/mxfp8_utils.py
artifact_dir: evidence/pull-bundles/vllm/gh-40960
head_ref_oid: 96d415aad8dc2cc4d187f829b603a69e6df6a39e
---
# [DSV4] Add BF16 and MXFP8 A2A support for flashinfer a2a one sided

- Repository: `vllm-project/vllm`
- PR: [40960](https://github.com/vllm-project/vllm/pull/40960)
- Decision: `Inspect scale layout, accumulator type, tile/schedule choice, epilogue fusion, and partial-tile guards before deriving a candidate.`
- Reason: Inspect scale layout, accumulator type, tile/schedule choice, epilogue fusion, and partial-tile guards before deriving a candidate.

## Changed Paths

- `docs/design/moe_kernel_features.md`
- `vllm/distributed/device_communicators/all2all.py`
- `vllm/model_executor/layers/fused_moe/all2all_utils.py`
- `vllm/model_executor/layers/fused_moe/config.py`
- `vllm/model_executor/layers/fused_moe/experts/trtllm_mxfp4_moe.py`
- `vllm/model_executor/layers/fused_moe/oracle/mxfp4.py`
- `vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_one_sided.py`
- `vllm/model_executor/layers/fused_moe/prepare_finalize/flashinfer_nvlink_two_sided.py`
- `vllm/model_executor/layers/fused_moe/prepare_finalize/naive_dp_ep.py`
- `vllm/model_executor/layers/fused_moe/prepare_finalize/no_dp_ep.py`
- `vllm/model_executor/layers/fused_moe/utils.py`
- `vllm/model_executor/layers/quantization/utils/mxfp8_utils.py`

## Evidence Bundle

`evidence/pull-bundles/vllm/gh-40960`
