跳转至

Sampling

本页暂无中文版。以下为英文原文。

6 ops, 48 workloads.

One table per op, one row per workload. Ratio is the fastest other implementation's device time divided by ours, so green is faster than it, plain is level with it, red is slower. Times are in ms. How these numbers are taken.

TopKMaskFwd

logits: [B, V]k: [B], i32

  • llama-8b-b1logits: [1, 128256]k: [1], i32k_list=repeat(50, 1)dtype=bf16, f32
  • llama-8b-b64logits: [64, 128256]k: [64], i32k_list=repeat(50, 64)dtype=bf16
  • llama-8b-b256logits: [256, 128256]k: [256], i32k_list=repeat(50, 256)dtype=f16, bf16
  • qwen3-235b-b128logits: [128, 151936]k: [128], i32k_list=repeat(20, 128)dtype=bf16
  • gpt-oss-120b-b64logits: [64, 201088]k: [64], i32k_list=repeat(50, 64)dtype=bf16
  • gpt2-b17-mixedlogits: [17, 50257]k: [17], i32k_list=[1,2,5,10…]dtype=f16
  • deepseek-v3-b17-mixedlogits: [17, 129280]k: [17], i32k_list=[1,2,5,10…]dtype=bf16
Workload dtype Ratio Device time Alternatives Throughput SOL Bound
alt / ours ms name ms TFLOP/s of ceiling by
llama-8b-b1bf162.55×0.0147flashinfer
torch-compile
vllm
torch-ref
0.0374
0.0549
0.0622
0.0726
0.01751%lat
f322.39×0.0190flashinfer
torch-compile
torch-ref
vllm
0.0453
0.0582
0.0735
0.0823
0.01351%lat
llama-8b-b64bf161.12×0.0360flashinfer
vllm
torch-compile
torch-ref
0.0404
0.1792
0.6729
0.7456
0.45620%mem
llama-8b-b256f161.21×0.1164flashinfer
vllm
torch-compile
torch-ref
0.1413
0.5216
2.7494
3.0146
0.56425%mem
bf161.18×0.1242flashinfer
vllm
torch-compile
torch-ref
0.1463
0.5297
2.6971
2.9635
0.52923%mem
qwen3-235b-b128bf161.06×0.0827flashinfer
vllm
torch-compile
torch-ref
0.0881
0.3797
2.3282
2.4853
0.4721%mem
gpt-oss-120b-b64bf161.10×0.0538flashinfer
vllm
torch-compile
torch-ref
0.0593
0.2498
1.0039
1.1057
0.47921%mem
gpt2-b17-mixedf162.20×0.0232flashinfer
vllm
torch-compile
torch-ref
0.0511
0.1252
0.1399
0.1493
0.06493%mem
deepseek-v3-b17-mixedbf161.68×0.0233flashinfer
vllm
torch-compile
torch-ref
0.0392
0.1432
0.2351
0.2629
0.1668%mem

MinPMaskFwd

logits: [B, V]min_p: [B], f32

  • llama-8b-b1logits: [1, 128256]min_p: [1], f32dtype=bf16, f32
  • llama-8b-b64logits: [64, 128256]min_p: [64], f32dtype=bf16
  • llama-8b-b256logits: [256, 128256]min_p: [256], f32dtype=f16, bf16
  • qwen3-235b-b128logits: [128, 151936]min_p: [128], f32dtype=bf16
  • deepseek-v3-b17logits: [17, 129280]min_p: [17], f32dtype=bf16
  • llama2-7b-b100logits: [100, 32000]min_p: [100], f32dtype=f16
Workload dtype Ratio Device time Alternatives Throughput SOL Bound
alt / ours ms name ms TFLOP/s of ceiling by
llama-8b-b1bf161.26×0.0039torch-compile
torch-ref
vllm
0.00493
0.0285
0.0674
0.06573%lat
f321.27×0.004torch-compile
torch-ref
vllm
0.00509
0.0379
0.0696
0.06416%lat
llama-8b-b64bf161.47×0.0140torch-compile
torch-ref
vllm
0.0206
0.1017
0.1032
1.1752%mem
llama-8b-b256f161.75×0.0377torch-compile
vllm
torch-ref
0.0660
0.2774
0.3031
1.7477%mem
bf161.74×0.0386torch-compile
vllm
torch-ref
0.0670
0.2811
0.3048
1.776%mem
qwen3-235b-b128bf162.00×0.0236torch-compile
vllm
torch-ref
0.0473
0.1775
0.1888
1.6573%mem
deepseek-v3-b17bf161.54×0.00768torch-compile
torch-ref
vllm
0.0118
0.0443
0.0782
0.57225%lat
llama2-7b-b100f162.18×0.00646torch-compile
torch-ref
vllm
0.0141
0.0392
0.0434
0.9944%lat

TopPMaskFwd

logits: [B, V]p: [B], f32

  • llama-8b-b1logits: [1, 128256]p: [1], f32dtype=bf16, f32
  • llama-8b-b64logits: [64, 128256]p: [64], f32dtype=bf16
  • llama-8b-b256logits: [256, 128256]p: [256], f32dtype=f16, bf16
  • qwen3-235b-b128logits: [128, 151936]p: [128], f32dtype=bf16
  • gpt-oss-120b-b64logits: [64, 201088]p: [64], f32dtype=bf16
  • deepseek-v3-b17logits: [17, 129280]p: [17], f32dtype=bf16
  • llama2-7b-b100logits: [100, 32000]p: [100], f32dtype=f16
Workload dtype Ratio Device time Alternatives Throughput SOL Bound
alt / ours ms name ms TFLOP/s of ceiling by
llama-8b-b1bf164.37×0.0185torch-compile
vllm
torch-ref
0.0809
0.1130
0.1354
0.04851%lat
f322.88×0.0287torch-compile
vllm
torch-ref
0.0825
0.1164
0.1403
0.03131%mem
llama-8b-b64bf1611.96×0.0793vllm
torch-compile
torch-ref
0.9476
1.0613
1.5673
0.7259%mem
llama-8b-b256f168.24×0.2897vllm
torch-compile
torch-ref
2.3884
4.1716
5.4111
0.79310%mem
bf168.80×0.2563vllm
torch-compile
torch-ref
2.2546
4.1310
5.3330
0.89711%mem
qwen3-235b-b128bf169.15×0.1559vllm
torch-compile
torch-ref
1.4262
3.2115
4.0344
0.87311%mem
gpt-oss-120b-b64bf1613.80×0.1179torch-compile
vllm
torch-ref
1.6275
1.7347
2.4030
0.76410%mem
deepseek-v3-b17bf169.31×0.0388torch-compile
torch-ref
vllm
0.3615
0.6890
0.8580
0.3965%mem
llama2-7b-b100f165.16×0.0458vllm
torch-compile
torch-ref
0.2367
0.4836
0.6925
0.4896%mem

TopKTopPMaskFwd

logits: [B, V]k: [B], i32p: [B], f32

  • llama-8b-b1logits: [1, 128256]k: [1], i32p: [1], f32k_list=repeat(50, 1)dtype=bf16, f32
  • llama-8b-b64logits: [64, 128256]k: [64], i32p: [64], f32k_list=repeat(50, 64)dtype=bf16
  • llama-8b-b256logits: [256, 128256]k: [256], i32p: [256], f32k_list=repeat(50, 256)dtype=f16, bf16
  • qwen3-235b-b128logits: [128, 151936]k: [128], i32p: [128], f32k_list=repeat(20, 128)dtype=bf16
  • gpt2-b17-mixedlogits: [17, 50257]k: [17], i32p: [17], f32k_list=[1,2,5,10…]dtype=f16
  • deepseek-v3-b100logits: [100, 129280]k: [100], i32p: [100], f32k_list=repeat(40, 100)dtype=bf16
Workload dtype Ratio Device time Alternatives Throughput SOL Bound
alt / ours ms name ms TFLOP/s of ceiling by
llama-8b-b1bf165.58×0.0226torch-compile
vllm
torch-ref
0.1258
0.1509
0.2227
0.01141%mem
f323.57×0.0348torch-compile
vllm
torch-ref
0.1245
0.1535
0.2192
0.007371%mem
llama-8b-b64bf162.80×0.1089vllm
torch-compile
torch-ref
0.3049
1.5510
2.0837
0.1517%mem
llama-8b-b256f162.50×0.2646vllm
torch-compile
torch-ref
0.6617
6.4284
7.6985
0.24811%mem
bf162.03×0.3243vllm
torch-compile
torch-ref
0.6594
6.3785
7.6482
0.2039%mem
qwen3-235b-b128bf161.55×0.2628vllm
torch-compile
torch-ref
0.4073
5.2894
6.1605
0.1487%mem
gpt2-b17-mixedf165.07×0.0623torch-compile
torch-ref
vllm
0.3160
0.4394
0.7133
0.03761%mem
deepseek-v3-b100bf162.12×0.1454vllm
torch-compile
torch-ref
0.3085
2.3777
3.0010
0.1788%mem

SamplingFromProbsFwd

probs: [B, V], f32seed, offset: [1]

dtype=i64

  • llama-8b-b1probs: [1, 128256], f32seed, offset: [1]
  • llama-8b-b64probs: [64, 128256], f32seed, offset: [1]
  • llama-8b-b256probs: [256, 128256], f32seed, offset: [1]
  • qwen3-235b-b128probs: [128, 151936], f32seed, offset: [1]
  • gpt-oss-120b-b64probs: [64, 201088], f32seed, offset: [1]
  • ds-v3-b17probs: [17, 129280], f32seed, offset: [1]
  • llama2-7b-b100probs: [100, 32000], f32seed, offset: [1]
Workload dtype Ratio Device time Alternatives Throughput SOL Bound
alt / ours ms name ms TFLOP/s of ceiling by
llama-8b-b1i644.14×0.00614flashinfer
vllm
torch-multinomial
torch-compile
torch-ref
0.0254
0.0413
0.1017
0.5291
0.9100
0.02092%lat
llama-8b-b64i642.78×0.0177flashinfer
vllm
torch-multinomial
torch-compile
torch-ref
0.0493
0.0955
0.1562
0.6880
1.4345
0.46341%mem
llama-8b-b256i641.65×0.0522flashinfer
vllm
torch-multinomial
torch-compile
torch-ref
0.0861
0.2359
0.3321
1.1840
2.3254
0.62956%mem
qwen3-235b-b128i641.97×0.0311flashinfer
vllm
torch-multinomial
torch-compile
torch-ref
0.0613
0.1533
0.2240
0.9797
1.9070
0.62656%mem
gpt-oss-120b-b64i643.12×0.0241flashinfer
vllm
torch-multinomial
torch-compile
torch-ref
0.0752
0.1078
0.1634
1.0780
1.9867
0.53347%mem
ds-v3-b17i644.60×0.0100flashinfer
vllm
torch-multinomial
torch-compile
torch-ref
0.0462
0.0558
0.0944
0.5839
1.2422
0.21919%lat
llama2-7b-b100i641.86×0.00877flashinfer
vllm
torch-multinomial
torch-compile
torch-ref
0.0164
0.0351
0.0650
0.2931
0.8618
0.36532%lat

ChainSpeculativeSamplingFwd

draft_probs: [B, N, V]draft_token_ids: [B, N], i32target_probs: [B, N + 1, V]seed, offset: [1], i64

dtype=f32

  • llama-8b-b16-n4draft_probs: [16, 4, 128256]draft_token_ids: [16, 4], i32target_probs: [16, 5, 128256]seed, offset: [1], i64
  • llama-8b-b64-n4draft_probs: [64, 4, 128256]draft_token_ids: [64, 4], i32target_probs: [64, 5, 128256]seed, offset: [1], i64
  • ds-v3-mtp-n1draft_probs: [64, 1, 129280]draft_token_ids: [64, 1], i32target_probs: [64, 2, 129280]seed, offset: [1], i64
  • ds-v3-mtp-n3draft_probs: [64, 3, 129280]draft_token_ids: [64, 3], i32target_probs: [64, 4, 129280]seed, offset: [1], i64
  • qwen3-235b-eagle-n5draft_probs: [32, 5, 151936]draft_token_ids: [32, 5], i32target_probs: [32, 6, 151936]seed, offset: [1], i64
  • llama-8b-b17-n8draft_probs: [17, 8, 128256]draft_token_ids: [17, 8], i32target_probs: [17, 9, 128256]seed, offset: [1], i64
  • llama2-7b-b256-n1draft_probs: [256, 1, 32000]draft_token_ids: [256, 1], i32target_probs: [256, 2, 32000]seed, offset: [1], i64
Workload dtype Ratio Device time Alternatives Throughput SOL Bound
alt / ours ms name ms TFLOP/s of ceiling by
llama-8b-b16-n4f326.92×0.0140flashinfer
vllm
torch-compile
torch-ref
0.0972
0.2632
0.5733
1.3182
0.43813%lat
llama-8b-b64-n4f324.19×0.0271flashinfer
vllm
torch-compile
torch-ref
0.1136
0.5796
0.7175
1.7210
0.90927%mem
ds-v3-mtp-n1f324.19×0.0260flashinfer
vllm
torch-compile
torch-ref
0.1090
0.3444
0.7826
1.6444
0.95428%mem
ds-v3-mtp-n3f324.24×0.0264flashinfer
vllm
torch-compile
torch-ref
0.1120
0.5062
0.7236
1.7009
0.9428%mem
qwen3-235b-eagle-n5f325.79×0.0210flashinfer
vllm
torch-compile
torch-ref
0.1215
0.4426
0.7971
1.6665
0.69621%mem
llama-8b-b17-n8f326.45×0.0153flashinfer
vllm
torch-compile
torch-ref
0.0989
0.3527
0.6077
1.3891
0.42713%lat
llama2-7b-b256-n1f322.98×0.0212flashinfer
vllm
torch-compile
torch-ref
0.0634
0.2536
0.4372
1.2682
1.1634%mem