Skip to content

[gfx1250][FlyDSL] Optimize a8w8 ptpc gemm kernel#3969

Open
aoli26 wants to merge 2 commits into
mainfrom
gfx1250/gemm_flydsl_perf
Open

[gfx1250][FlyDSL] Optimize a8w8 ptpc gemm kernel#3969
aoli26 wants to merge 2 commits into
mainfrom
gfx1250/gemm_flydsl_perf

Conversation

@aoli26

@aoli26 aoli26 commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

Motivation

Update gfx1250 FlyDSL a8w8 bpreshuffle optimized kernel and tuned configs.

Technical Details

Update new optimized FlyDSL gfx1250 gemm a8w8 ptpc kernel and refresh a8w8_bpreshuffle_tuned_gemm.csv.

Test Plan

ENABLE_CK=0 python3 op_tests/test_gemm_a8w8.py --no-legacy

Test Result

All 48 flydsl-tuned shapes pass. Key gains (no regressions): (N=7168, K=16384) M=16: ~30us → ~10us (~3×); (N=2112, K=7168) M=16: ~7.5us → ~4.8us (~36%); remaining shapes improved or unchanged.

Submission Checklist

@aoli26 aoli26 self-assigned this Jun 27, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🏷️ CI Guide

Runs automatically on every PR:

  • ✅ Pre-checks (submodule verification, code formatting)
  • ✅ Aiter op tests (gfx942 + gfx950)
  • ✅ Triton tests on MI35X (only when aiter/ops/triton/** or related paths are changed)

Extended tests (opt-in via labels):

Label Tests
ci:triton-300x Run an additional Triton test job on MI300X in PRs; main branch always runs both MI35X and MI300X
ci:sglang SGLang integration tests: DeepSeek-R1-MXFP4 accuracy, Qwen 3.5 accuracy
ci:atom ATOM benchmark: DeepSeek-R1-0528, GPT-OSS-120B
ci:atom_full ATOM accuracy suite for PR and main models from ATOM models_accuracy.json
ci:vllm vLLM benchmark: GPT-OSS-120B, DeepSeek-R1-0528, Kimi-K2.5
ci:all All standard extended tests (excludes ci:atom_full)

Only add ci:atom_full for FlyDSL or Triton upgrades.
Add labels via the sidebar or gh pr edit 3969 --add-label <label>

@zufayu zufayu requested review from yzhou103 and removed request for yzhou103 June 29, 2026 02:54
@aoli26 aoli26 force-pushed the gfx1250/gemm_flydsl_perf branch from 158951e to 552f30c Compare June 30, 2026 02:53
@aoli26 aoli26 marked this pull request as ready for review June 30, 2026 02:53
@aoli26 aoli26 requested review from a team and Copilot June 30, 2026 02:53

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the gfx1250 FlyDSL A8W8/PTPC GEMM implementation to a new optimized kernel path and refreshes the tuned-shape configuration table used for kernel selection/performance.

Changes:

  • Remove the vendored OOB-capable TDM descriptor builder and associated FlyDSL feature-detection shim.
  • Rework gemm_fp8fp4_gfx1250 to a wave-specialized TDM load path with updated scale-loading strategies (ascale_load_path) and scheduling tweaks.
  • Refresh a8w8_bpreshuffle_tuned_gemm.csv entries for gfx1250 tuned shapes/configs.

Reviewed changes

Copilot reviewed 2 out of 3 changed files in this pull request and generated 2 comments.

File Description
aiter/ops/flydsl/kernels/tdm_oob.py Deleted the vendored OOB-capable TDM descriptor builder fallback.
aiter/ops/flydsl/kernels/gemm_fp8fp4_gfx1250.py Major kernel path update: new scale load options, updated scheduling, direct TDM descriptor usage with early_timeout/oob_outer_bound, and other tuning-related refactors.
aiter/configs/a8w8_bpreshuffle_tuned_gemm.csv Updated gfx1250 tuned entries (latency/throughput and chosen kernel configs) to match the new optimized kernel behavior.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread aiter/ops/flydsl/kernels/gemm_fp8fp4_gfx1250.py
Comment thread aiter/ops/flydsl/kernels/gemm_fp8fp4_gfx1250.py
@aoli26 aoli26 requested a review from coderfeli June 30, 2026 08:38
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