Skip to content

WIP: Add PPU-native DeepGEMM BF16 unquantized MoE - #322

Draft
li199959 wants to merge 1 commit into
flagos-ai:mainfrom
li199959:ppu-deepgemm-moe
Draft

WIP: Add PPU-native DeepGEMM BF16 unquantized MoE#322
li199959 wants to merge 1 commit into
flagos-ai:mainfrom
li199959:ppu-deepgemm-moe

Conversation

@li199959

Copy link
Copy Markdown
Contributor

Summary

Add an opt-in PPU-native DeepGEMM path for unquantized BF16 MoE experts, enabled with VLLM_FL_MOE=deepgemm.

This draft PR is opened early to reserve the integration point and collect review feedback.

Current changes

  • add DeepGemmExpertsFL using nopad grouped GEMM
  • add a PPU DeepGEMM microbenchmark
  • route the opt-in backend from the out-of-tree MoE selector
  • add a fallback backend list for out-of-tree platforms when FlagGems is disabled

Before ready for review

  • sync/rebase onto the latest main
  • add the repository-standard Apache 2.0 headers to new files
  • clean up development-only wording in the microbenchmark
  • fix changed-file Ruff/import/format issues
  • verify dependency/runtime assumptions for deep_gemm
  • run the PPU microbenchmark and serving validation
  • add focused tests for environment selection/backend routing where practical

Validation so far

  • merge conflict preflight against current main: clean
  • git diff --check: passed
  • Python syntax compilation: passed
  • private-key/secret pattern scan: passed

Runtime validation is still pending because the local inspection environment does not contain torch, vllm, or deep_gemm.

Route unquantized BF16 MoE experts through deep_gemm's nopad grouped GEMM
(m_grouped_gemm_bf16_bf16_bf16_nt_nopad + deepgemm_moe_permute, small-M decode
auto-dispatches to the GEMV kernel) instead of FlagGems Triton fused_moe, on
out-of-tree (PPU/thead) platforms. Opt-in via VLLM_FL_MOE=deepgemm; unset =
unchanged. Also fixes an UnboundLocalError in _get_priority_backends for
out-of-tree platforms when FlagGems is disabled.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


ppu-dev seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants