Skip to content

DeepGEMM vLLM performance benchmarks - #1

Open
cleonard530 wants to merge 4 commits into
mainfrom
deep_gemm_and_vllm
Open

cleonard530 wants to merge 4 commits into
mainfrom
deep_gemm_and_vllm

Conversation

@cleonard530

@cleonard530 cleonard530 commented Oct 1, 2026 •

Copy link
Copy Markdown
Owner

DeepGEMM stable-ABI performance benchmarks

This PR adds two scripts comparing DeepGEMM main with its
STABLE_TORCH_LIBRARY migration.

  1. benchmark_kernels.py
    measures 22 supported GEMM cases on an H200 using 1,000 direct calls. Most
    results differed by no more than ±1.5%. The four fp8_fp4_gemm_{nn,nt,tn,tt}
    operations were 10–20% slower with the stable ABI, corresponding to
    approximately 2–6 µs per call. This appears to be host-dispatch overhead
    becoming visible for these relatively short kernels.
    Dispatch overhead cut down drastically. Now they kernels are within +/- 1.5%

    Direct-call results

  2. benchmark_deepgemm_dispatch.py
    measures the four FP8/FP4 operations under a vLLM-like workload: 200 calls
    per simulated forward pass, averaged across 20 repetitions. Eager execution
    showed similar stable-ABI regressions
    , while CUDA-graph replay eliminated
    the difference. There is still a small regression for p8_fp4_gemm_tn on vllm (about 7%, 0.315596 ms extra per one 'forward' call).

    Results: NT, NN, TN, and TT.

Comment on lines +16 to +19
fp8_fp4_gemm_nn (128x4096x7168) 0.027455 0.031249 +0.003795 +13.82%
fp8_fp4_gemm_nt (128x4096x7168) 0.027190 0.029886 +0.002696 +9.92%
fp8_fp4_gemm_tn (128x4096x7168) 0.028339 0.033678 +0.005339 +18.84%
fp8_fp4_gemm_tt (128x4096x7168) 0.028041 0.030935 +0.002894 +10.32%

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Here are the longer relative runtimes for the fp8_fp4_gemm methods

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.

1 participant