Skip to content

[Feature] speedup DeepGEMM JIT compilation #4773

Closed
@zhyncs

Description

@zhyncs

Checklist

Motivation

as titled

#4199
#4640

Before fixing #4640, I didn't realize how slow the DeepGEMM JIT compilation was.

python3 benchmark/gsm8k/bench_sglang.py --num-shots 8 --num-questions 1319 --parallel 1319

Every time the test is run, the server is newly started. We can see that the first time, due to DeepGEMM JIT compilation, gsm8k only runs at 606 token/s.

➜  sglang git:(main) python3 benchmark/gsm8k/bench_sglang.py --num-shots 8 --num-questions 1319 --parallel 1319
100%|████████████████████████████████████████████████████| 1319/1319 [03:37<00:00,  6.06it/s]
Accuracy: 0.954
Invalid: 0.000
Latency: 223.933 s
Output throughput: 606.448 token/s
➜  sglang git:(main) python3 benchmark/gsm8k/bench_sglang.py --num-shots 8 --num-questions 1319 --parallel 1319
100%|████████████████████████████████████████████████████| 1319/1319 [01:48<00:00, 12.12it/s]
Accuracy: 0.953
Invalid: 0.000
Latency: 115.521 s
Output throughput: 1185.769 token/s
➜  sglang git:(main) python3 benchmark/gsm8k/bench_sglang.py --num-shots 8 --num-questions 1319 --parallel 1319
100%|████████████████████████████████████████████████████| 1319/1319 [01:30<00:00, 14.52it/s]
Accuracy: 0.952
Invalid: 0.000
Latency: 97.426 s
Output throughput: 1376.579 token/s
➜  sglang git:(main) ls ~/.deep_gemm
cache  tmp
➜  sglang git:(main) tree ~/.deep_gemm
/root/.deep_gemm
├── cache
│   ├── kernel.gemm_fp8_fp8_bf16_nt.040cf7e4831d
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.04718d28ff5f
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.09dab86f7dda
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.0c1f97b737cf
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.0d5888fb96de
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.1596c392f6e0
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.1a7218d80f05
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.1bf40de69c09
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.1c14d2593c15
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.1f4657712e21
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.1fb8f5ae30cf
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.203fdb37b6e3
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.2458032bc668
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.25676d8b8d5a
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.26387ed766c8
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.26a5f0667c9c
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.29971dacab04
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.2b3072ef4a94
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.315db56b09c2
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.32a6a5f3a934
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.470be1911418
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.476da8ec3c6f
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.49681fc9102b
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.4cdfc399a665
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.4fb9906addb0
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.507e5d99ad75
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.533c69b7d713
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.541c8662ebaa
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.561ceab75d70
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.5a20c345a241
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.601491f91a2d
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.64971fdc3b2c
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.689ff3ab8a57
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.6b663c6836db
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.6be0486065e2
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.6db7d9251d84
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.6f6d318c261c
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.79644dc612c8
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.7f3ad7627585
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.854beebe1db7
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.892045432630
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.8d941e282ee9
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.8f604acffd5b
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.90d8434e193e
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.94d06a6814d3
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.96c5807d4f6b
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.99b8eaa07a99
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.9f1071d19b43
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.9fb2d2d0b3dc
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.a07555ece983
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.a13831f1256c
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.a71a4f4ee298
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.a7ca24018db1
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.a865e5919dc9
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.aa886f7ba65e
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.aaff4ab414d6
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.ae0a6252f04d
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.b52cb731bdf7
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.b57a30a709a3
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.b64906ec08b5
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.b84858e956c6
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.be092239bfbf
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.c3a72718a52e
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.c5675e112307
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.d040d866c3e6
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.d08b8228d969
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.d271b812e2d2
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.d3f2e2681839
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.dbcbe256e1e7
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.e57a4e25428e
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.ee8894779a34
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.f0d6a45f1295
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.f21eb807c363
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.f67b0ea5398a
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.f8854372c661
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.fa10416bed04
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.fa645936ce7f
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   ├── kernel.gemm_fp8_fp8_bf16_nt.fbbefd0b3ed4
│   │   ├── kernel.args
│   │   ├── kernel.cu
│   │   └── kernel.so
│   └── kernel.gemm_fp8_fp8_bf16_nt.fdb4b0f06c98
│       ├── kernel.args
│       ├── kernel.cu
│       └── kernel.so
└── tmp

81 directories, 237 files

Related resources

No response

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions