@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / 35fe398c7c
Fork 0

A high-throughput and memory-efficient inference and serving engine for LLMs

Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git

Synced Nov 14, 05:30 UTC

[Kernel][Moe Configs] Add more tuned triton configs for ExpertsInt8 and FP8 (#25858)

Signed-off-by: asafg <39553475+Josephasafg@users.noreply.github.com>

Asaf Joseph Gardin committed Sep 30, 2025 at 17:30 UTC 35fe398c7cae74519c6d495770192d6834640c61
15 files changed +1808 -274
vllm/model_executor/layers/fused_moe/configs/E=1,N=1792,device_name=NVIDIA_H100_80GB_HBM3,dtype=int8_w8a16.json new
+146
@@ -0,0 +1,146 @@
1 +{
2 + "1": {
3 + "BLOCK_SIZE_M": 16,
4 + "BLOCK_SIZE_N": 32,
5 + "BLOCK_SIZE_K": 128,
6 + "GROUP_SIZE_M": 1,
7 + "num_warps": 4,
8 + "num_stages": 3
9 + },
10 + "2": {
11 + "BLOCK_SIZE_M": 16,
12 + "BLOCK_SIZE_N": 32,
13 + "BLOCK_SIZE_K": 128,
14 + "GROUP_SIZE_M": 1,
15 + "num_warps": 4,
16 + "num_stages": 4
17 + },
18 + "4": {
19 + "BLOCK_SIZE_M": 16,
20 + "BLOCK_SIZE_N": 32,
21 + "BLOCK_SIZE_K": 128,
22 + "GROUP_SIZE_M": 1,
23 + "num_warps": 4,
24 + "num_stages": 3
25 + },
26 + "8": {
27 + "BLOCK_SIZE_M": 16,
28 + "BLOCK_SIZE_N": 32,
29 + "BLOCK_SIZE_K": 128,
30 + "GROUP_SIZE_M": 1,
31 + "num_warps": 4,
32 + "num_stages": 3
33 + },
34 + "16": {
35 + "BLOCK_SIZE_M": 16,
36 + "BLOCK_SIZE_N": 64,
37 + "BLOCK_SIZE_K": 256,
38 + "GROUP_SIZE_M": 1,
39 + "num_warps": 4,
40 + "num_stages": 4
41 + },
42 + "24": {
43 + "BLOCK_SIZE_M": 16,
44 + "BLOCK_SIZE_N": 32,
45 + "BLOCK_SIZE_K": 128,
46 + "GROUP_SIZE_M": 1,
47 + "num_warps": 4,
48 + "num_stages": 3
49 + },
50 + "32": {
51 + "BLOCK_SIZE_M": 64,
52 + "BLOCK_SIZE_N": 32,
53 + "BLOCK_SIZE_K": 256,
54 + "GROUP_SIZE_M": 1,
55 + "num_warps": 4,
56 + "num_stages": 3
57 + },
58 + "48": {
59 + "BLOCK_SIZE_M": 64,
60 + "BLOCK_SIZE_N": 64,
61 + "BLOCK_SIZE_K": 256,
62 + "GROUP_SIZE_M": 1,
63 + "num_warps": 8,
64 + "num_stages": 4
65 + },
66 + "64": {
67 + "BLOCK_SIZE_M": 64,
68 + "BLOCK_SIZE_N": 64,
69 + "BLOCK_SIZE_K": 256,
70 + "GROUP_SIZE_M": 1,
71 + "num_warps": 8,
72 + "num_stages": 3
73 + },
74 + "96": {
75 + "BLOCK_SIZE_M": 128,
76 + "BLOCK_SIZE_N": 64,
77 + "BLOCK_SIZE_K": 128,
78 + "GROUP_SIZE_M": 1,
79 + "num_warps": 4,
80 + "num_stages": 4
81 + },
82 + "128": {
83 + "BLOCK_SIZE_M": 128,
84 + "BLOCK_SIZE_N": 64,
85 + "BLOCK_SIZE_K": 128,
86 + "GROUP_SIZE_M": 1,
87 + "num_warps": 4,
88 + "num_stages": 4
89 + },
90 + "256": {
91 + "BLOCK_SIZE_M": 128,
92 + "BLOCK_SIZE_N": 64,
93 + "BLOCK_SIZE_K": 64,
94 + "GROUP_SIZE_M": 1,
95 + "num_warps": 4,
96 + "num_stages": 3
97 + },
98 + "512": {
99 + "BLOCK_SIZE_M": 128,
100 + "BLOCK_SIZE_N": 128,
101 + "BLOCK_SIZE_K": 64,
102 + "GROUP_SIZE_M": 1,
103 + "num_warps": 4,
104 + "num_stages": 3
105 + },
106 + "1024": {
107 + "BLOCK_SIZE_M": 128,
108 + "BLOCK_SIZE_N": 128,
109 + "BLOCK_SIZE_K": 64,
110 + "GROUP_SIZE_M": 1,
111 + "num_warps": 4,
112 + "num_stages": 3
113 + },
114 + "1536": {
115 + "BLOCK_SIZE_M": 128,
116 + "BLOCK_SIZE_N": 128,
117 + "BLOCK_SIZE_K": 64,
118 + "GROUP_SIZE_M": 1,
119 + "num_warps": 4,
120 + "num_stages": 4
121 + },
122 + "2048": {
123 + "BLOCK_SIZE_M": 128,
124 + "BLOCK_SIZE_N": 128,
125 + "BLOCK_SIZE_K": 64,
126 + "GROUP_SIZE_M": 1,
127 + "num_warps": 4,
128 + "num_stages": 3
129 + },
130 + "3072": {
131 + "BLOCK_SIZE_M": 128,
132 + "BLOCK_SIZE_N": 128,
133 + "BLOCK_SIZE_K": 64,
134 + "GROUP_SIZE_M": 32,
135 + "num_warps": 4,
136 + "num_stages": 3
137 + },
138 + "4096": {
139 + "BLOCK_SIZE_M": 128,
140 + "BLOCK_SIZE_N": 128,
141 + "BLOCK_SIZE_K": 64,
142 + "GROUP_SIZE_M": 1,
143 + "num_warps": 4,
144 + "num_stages": 3
145 + }
146 + }
\ No newline at end of file
vllm/model_executor/layers/fused_moe/configs/E=1,N=3072,device_name=NVIDIA_H100_80GB_HBM3,dtype=int8_w8a16.json
+63 -135
@@ -1,218 +1,146 @@
1 {
2 "1": {
3 "BLOCK_SIZE_M": 16,
4 - "BLOCK_SIZE_N": 32,
4 + "BLOCK_SIZE_N": 64,
5 "BLOCK_SIZE_K": 256,
6 - "GROUP_SIZE_M": 32,
6 + "GROUP_SIZE_M": 1,
7 "num_warps": 4,
8 - "num_stages": 3
8 + "num_stages": 5
9 },
10 "2": {
11 "BLOCK_SIZE_M": 16,
12 "BLOCK_SIZE_N": 64,
13 - "BLOCK_SIZE_K": 128,
13 + "BLOCK_SIZE_K": 256,
14 "GROUP_SIZE_M": 1,
15 - "num_warps": 8,
15 + "num_warps": 4,
16 "num_stages": 5
17 },
18 "4": {
19 "BLOCK_SIZE_M": 16,
20 "BLOCK_SIZE_N": 64,
21 - "BLOCK_SIZE_K": 128,
21 + "BLOCK_SIZE_K": 256,
22 "GROUP_SIZE_M": 1,
23 - "num_warps": 8,
23 + "num_warps": 4,
24 "num_stages": 5
25 },
26 "8": {
27 "BLOCK_SIZE_M": 16,
28 "BLOCK_SIZE_N": 64,
29 - "BLOCK_SIZE_K": 128,
29 + "BLOCK_SIZE_K": 256,
30 "GROUP_SIZE_M": 1,
31 - "num_warps": 8,
32 - "num_stages": 4
31 + "num_warps": 4,
32 + "num_stages": 5
33 },
34 "16": {
35 "BLOCK_SIZE_M": 16,
36 "BLOCK_SIZE_N": 64,
37 - "BLOCK_SIZE_K": 128,
37 + "BLOCK_SIZE_K": 256,
38 "GROUP_SIZE_M": 1,
39 - "num_warps": 8,
40 - "num_stages": 5
39 + "num_warps": 4,
40 + "num_stages": 3
41 },
42 "24": {
43 - "BLOCK_SIZE_M": 32,
43 + "BLOCK_SIZE_M": 64,
44 "BLOCK_SIZE_N": 64,
45 "BLOCK_SIZE_K": 256,
46 - "GROUP_SIZE_M": 1,
47 - "num_warps": 8,
46 + "GROUP_SIZE_M": 16,
47 + "num_warps": 4,
48 "num_stages": 3
49 },
50 "32": {
51 - "BLOCK_SIZE_M": 16,
52 - "BLOCK_SIZE_N": 32,
51 + "BLOCK_SIZE_M": 64,
52 + "BLOCK_SIZE_N": 64,
53 "BLOCK_SIZE_K": 256,
54 "GROUP_SIZE_M": 1,
55 - "num_warps": 4,
56 - "num_stages": 5
55 + "num_warps": 8,
56 + "num_stages": 3
57 },
58 "48": {
59 - "BLOCK_SIZE_M": 64,
60 - "BLOCK_SIZE_N": 32,
61 - "BLOCK_SIZE_K": 256,
59 + "BLOCK_SIZE_M": 128,
60 + "BLOCK_SIZE_N": 64,
61 + "BLOCK_SIZE_K": 128,
62 "GROUP_SIZE_M": 1,
63 "num_warps": 4,
64 - "num_stages": 3
64 + "num_stages": 4
65 },
66 "64": {
67 - "BLOCK_SIZE_M": 64,
68 - "BLOCK_SIZE_N": 32,
69 - "BLOCK_SIZE_K": 256,
67 + "BLOCK_SIZE_M": 128,
68 + "BLOCK_SIZE_N": 64,
69 + "BLOCK_SIZE_K": 128,
70 "GROUP_SIZE_M": 1,
71 "num_warps": 4,
72 - "num_stages": 3
72 + "num_stages": 4
73 },
74 "96": {
75 "BLOCK_SIZE_M": 64,
76 "BLOCK_SIZE_N": 64,
77 - "BLOCK_SIZE_K": 256,
77 + "BLOCK_SIZE_K": 64,
78 "GROUP_SIZE_M": 1,
79 "num_warps": 4,
80 - "num_stages": 2
80 + "num_stages": 5
81 },
82 "128": {
83 - "BLOCK_SIZE_M": 64,
83 + "BLOCK_SIZE_M": 128,
84 "BLOCK_SIZE_N": 64,
85 - "BLOCK_SIZE_K": 256,
86 - "GROUP_SIZE_M": 1,
85 + "BLOCK_SIZE_K": 64,
86 + "GROUP_SIZE_M": 16,
87 "num_warps": 4,
88 - "num_stages": 2
88 + "num_stages": 4
89 },
90 "256": {
91 - "BLOCK_SIZE_M": 256,
92 - "BLOCK_SIZE_N": 64,
93 - "BLOCK_SIZE_K": 128,
94 - "GROUP_SIZE_M": 64,
95 - "num_warps": 8,
91 + "BLOCK_SIZE_M": 128,
92 + "BLOCK_SIZE_N": 128,
93 + "BLOCK_SIZE_K": 64,
94 + "GROUP_SIZE_M": 1,
95 + "num_warps": 4,
96 "num_stages": 3
97 },
98 "512": {
99 - "BLOCK_SIZE_M": 256,
99 + "BLOCK_SIZE_M": 128,
100 "BLOCK_SIZE_N": 128,
101 - "BLOCK_SIZE_K": 128,
101 + "BLOCK_SIZE_K": 64,
102 "GROUP_SIZE_M": 1,
103 - "num_warps": 8,
104 - "num_stages": 3
103 + "num_warps": 4,
104 + "num_stages": 4
105 },
106 "1024": {
107 - "BLOCK_SIZE_M": 256,
107 + "BLOCK_SIZE_M": 128,
108 "BLOCK_SIZE_N": 128,
109 - "BLOCK_SIZE_K": 128,
110 - "GROUP_SIZE_M": 1,
111 - "num_warps": 8,
109 + "BLOCK_SIZE_K": 64,
110 + "GROUP_SIZE_M": 64,
111 + "num_warps": 4,
112 "num_stages": 3
113 },
114 "1536": {
115 - "BLOCK_SIZE_M": 256,
115 + "BLOCK_SIZE_M": 128,
116 "BLOCK_SIZE_N": 128,
117 - "BLOCK_SIZE_K": 128,
118 - "GROUP_SIZE_M": 1,
119 - "num_warps": 8,
117 + "BLOCK_SIZE_K": 64,
118 + "GROUP_SIZE_M": 32,
119 + "num_warps": 4,
120 "num_stages": 3
121 },
122 "2048": {
123 - "BLOCK_SIZE_M": 256,
123 + "BLOCK_SIZE_M": 128,
124 "BLOCK_SIZE_N": 128,
125 - "BLOCK_SIZE_K": 128,
126 - "GROUP_SIZE_M": 1,
127 - "num_warps": 8,
125 + "BLOCK_SIZE_K": 64,
126 + "GROUP_SIZE_M": 16,
127 + "num_warps": 4,
128 "num_stages": 3
129 },
130 "3072": {
131 - "BLOCK_SIZE_M": 256,
131 + "BLOCK_SIZE_M": 128,
132 "BLOCK_SIZE_N": 128,
133 - "BLOCK_SIZE_K": 128,
134 - "GROUP_SIZE_M": 1,
135 - "num_warps": 8,
133 + "BLOCK_SIZE_K": 64,
134 + "GROUP_SIZE_M": 16,
135 + "num_warps": 4,
136 "num_stages": 3
137 },
138 "4096": {
139 - "BLOCK_SIZE_M": 256,
140 - "BLOCK_SIZE_N": 128,
141 - "BLOCK_SIZE_K": 128,
142 - "GROUP_SIZE_M": 1,
143 - "num_warps": 8,
144 - "num_stages": 3
145 - },
146 - "5120": {
147 - "BLOCK_SIZE_M": 256,
148 - "BLOCK_SIZE_N": 128,
149 - "BLOCK_SIZE_K": 128,
150 - "GROUP_SIZE_M": 1,
151 - "num_warps": 8,
152 - "num_stages": 3
153 - },
154 - "9216": {
155 - "BLOCK_SIZE_M": 256,
156 - "BLOCK_SIZE_N": 128,
157 - "BLOCK_SIZE_K": 128,
158 - "GROUP_SIZE_M": 1,
159 - "num_warps": 8,
160 - "num_stages": 3
161 - },
162 - "13312": {
163 - "BLOCK_SIZE_M": 256,
139 + "BLOCK_SIZE_M": 128,
140 "BLOCK_SIZE_N": 128,
165 - "BLOCK_SIZE_K": 128,
166 - "GROUP_SIZE_M": 1,
167 - "num_warps": 8,
168 - "num_stages": 3
169 - },
170 - "17408": {
171 - "BLOCK_SIZE_M": 256,
172 - "BLOCK_SIZE_N": 128,
173 - "BLOCK_SIZE_K": 128,
174 - "GROUP_SIZE_M": 1,
175 - "num_warps": 8,
176 - "num_stages": 3
177 - },
178 - "25600": {
179 - "BLOCK_SIZE_M": 256,
180 - "BLOCK_SIZE_N": 128,
181 - "BLOCK_SIZE_K": 128,
182 - "GROUP_SIZE_M": 1,
183 - "num_warps": 8,
184 - "num_stages": 3
185 - },
186 - "33792": {
187 - "BLOCK_SIZE_M": 256,
188 - "BLOCK_SIZE_N": 128,
189 - "BLOCK_SIZE_K": 128,
190 - "GROUP_SIZE_M": 1,
191 - "num_warps": 8,
192 - "num_stages": 3
193 - },
194 - "41984": {
195 - "BLOCK_SIZE_M": 256,
196 - "BLOCK_SIZE_N": 128,
197 - "BLOCK_SIZE_K": 128,
198 - "GROUP_SIZE_M": 1,
199 - "num_warps": 8,
200 - "num_stages": 3
201 - },
202 - "50176": {
203 - "BLOCK_SIZE_M": 256,
204 - "BLOCK_SIZE_N": 128,
205 - "BLOCK_SIZE_K": 128,
206 - "GROUP_SIZE_M": 1,
207 - "num_warps": 8,
208 - "num_stages": 3
209 - },
210 - "58368": {
211 - "BLOCK_SIZE_M": 256,
212 - "BLOCK_SIZE_N": 128,
213 - "BLOCK_SIZE_K": 128,
214 - "GROUP_SIZE_M": 1,
215 - "num_warps": 8,
141 + "BLOCK_SIZE_K": 64,
142 + "GROUP_SIZE_M": 16,
143 + "num_warps": 4,
144 "num_stages": 3
145 }
146 }
\ No newline at end of file
vllm/model_executor/layers/fused_moe/configs/E=1,N=3072,device_name=NVIDIA_H100_80GB_HBM3.json
+46 -46
@@ -5,7 +5,7 @@
5 "BLOCK_SIZE_K": 256,
6 "GROUP_SIZE_M": 1,
7 "num_warps": 4,
8 - "num_stages": 4
8 + "num_stages": 5
9 },
10 "2": {
11 "BLOCK_SIZE_M": 16,
@@ -13,7 +13,7 @@
13 "BLOCK_SIZE_K": 256,
14 "GROUP_SIZE_M": 1,
15 "num_warps": 4,
16 - "num_stages": 3
16 + "num_stages": 5
17 },
18 "4": {
19 "BLOCK_SIZE_M": 16,
@@ -21,7 +21,7 @@
21 "BLOCK_SIZE_K": 256,
22 "GROUP_SIZE_M": 1,
23 "num_warps": 4,
24 - "num_stages": 3
24 + "num_stages": 5
25 },
26 "8": {
27 "BLOCK_SIZE_M": 16,
@@ -29,7 +29,7 @@
29 "BLOCK_SIZE_K": 256,
30 "GROUP_SIZE_M": 1,
31 "num_warps": 4,
32 - "num_stages": 3
32 + "num_stages": 5
33 },
34 "16": {
35 "BLOCK_SIZE_M": 16,
@@ -37,52 +37,52 @@
37 "BLOCK_SIZE_K": 256,
38 "GROUP_SIZE_M": 1,
39 "num_warps": 4,
40 - "num_stages": 5
40 + "num_stages": 3
41 },
42 "24": {
43 - "BLOCK_SIZE_M": 32,
43 + "BLOCK_SIZE_M": 64,
44 "BLOCK_SIZE_N": 64,
45 "BLOCK_SIZE_K": 256,
46 - "GROUP_SIZE_M": 1,
47 - "num_warps": 8,
48 - "num_stages": 4
46 + "GROUP_SIZE_M": 16,
47 + "num_warps": 4,
48 + "num_stages": 3
49 },
50 "32": {
51 "BLOCK_SIZE_M": 64,
52 "BLOCK_SIZE_N": 64,
53 - "BLOCK_SIZE_K": 128,
53 + "BLOCK_SIZE_K": 256,
54 "GROUP_SIZE_M": 1,
55 - "num_warps": 4,
56 - "num_stages": 5
55 + "num_warps": 8,
56 + "num_stages": 3
57 },
58 "48": {
59 - "BLOCK_SIZE_M": 64,
59 + "BLOCK_SIZE_M": 128,
60 "BLOCK_SIZE_N": 64,
61 "BLOCK_SIZE_K": 128,
62 "GROUP_SIZE_M": 1,
63 "num_warps": 4,
64 - "num_stages": 5
64 + "num_stages": 4
65 },
66 "64": {
67 - "BLOCK_SIZE_M": 64,
67 + "BLOCK_SIZE_M": 128,
68 "BLOCK_SIZE_N": 64,
69 "BLOCK_SIZE_K": 128,
70 "GROUP_SIZE_M": 1,
71 "num_warps": 4,
72 - "num_stages": 5
72 + "num_stages": 4
73 },
74 "96": {
75 "BLOCK_SIZE_M": 64,
76 - "BLOCK_SIZE_N": 128,
77 - "BLOCK_SIZE_K": 128,
78 - "GROUP_SIZE_M": 16,
76 + "BLOCK_SIZE_N": 64,
77 + "BLOCK_SIZE_K": 64,
78 + "GROUP_SIZE_M": 1,
79 "num_warps": 4,
80 - "num_stages": 4
80 + "num_stages": 5
81 },
82 "128": {
83 - "BLOCK_SIZE_M": 64,
84 - "BLOCK_SIZE_N": 128,
85 - "BLOCK_SIZE_K": 128,
83 + "BLOCK_SIZE_M": 128,
84 + "BLOCK_SIZE_N": 64,
85 + "BLOCK_SIZE_K": 64,
86 "GROUP_SIZE_M": 16,
87 "num_warps": 4,
88 "num_stages": 4
@@ -91,57 +91,57 @@
91 "BLOCK_SIZE_M": 128,
92 "BLOCK_SIZE_N": 128,
93 "BLOCK_SIZE_K": 64,
94 - "GROUP_SIZE_M": 64,
95 - "num_warps": 8,
96 - "num_stages": 5
94 + "GROUP_SIZE_M": 1,
95 + "num_warps": 4,
96 + "num_stages": 3
97 },
98 "512": {
99 "BLOCK_SIZE_M": 128,
100 - "BLOCK_SIZE_N": 256,
100 + "BLOCK_SIZE_N": 128,
101 "BLOCK_SIZE_K": 64,
102 - "GROUP_SIZE_M": 16,
103 - "num_warps": 8,
102 + "GROUP_SIZE_M": 1,
103 + "num_warps": 4,
104 "num_stages": 4
105 },
106 "1024": {
107 "BLOCK_SIZE_M": 128,
108 - "BLOCK_SIZE_N": 256,
108 + "BLOCK_SIZE_N": 128,
109 "BLOCK_SIZE_K": 64,
110 - "GROUP_SIZE_M": 32,
111 - "num_warps": 8,
112 - "num_stages": 4
110 + "GROUP_SIZE_M": 64,
111 + "num_warps": 4,
112 + "num_stages": 3
113 },
114 "1536": {
115 "BLOCK_SIZE_M": 128,
116 - "BLOCK_SIZE_N": 256,
116 + "BLOCK_SIZE_N": 128,
117 "BLOCK_SIZE_K": 64,
118 "GROUP_SIZE_M": 32,
119 - "num_warps": 8,
120 - "num_stages": 4
119 + "num_warps": 4,
120 + "num_stages": 3
121 },
122 "2048": {
123 "BLOCK_SIZE_M": 128,
124 - "BLOCK_SIZE_N": 256,
124 + "BLOCK_SIZE_N": 128,
125 "BLOCK_SIZE_K": 64,
126 "GROUP_SIZE_M": 16,
127 - "num_warps": 8,
127 + "num_warps": 4,
128 "num_stages": 3
129 },
130 "3072": {
131 "BLOCK_SIZE_M": 128,
132 - "BLOCK_SIZE_N": 256,
132 + "BLOCK_SIZE_N": 128,
133 "BLOCK_SIZE_K": 64,
134 - "GROUP_SIZE_M": 64,
135 - "num_warps": 8,
136 - "num_stages": 4
134 + "GROUP_SIZE_M": 16,
135 + "num_warps": 4,
136 + "num_stages": 3
137 },
138 "4096": {
139 "BLOCK_SIZE_M": 128,
140 - "BLOCK_SIZE_N": 256,
140 + "BLOCK_SIZE_N": 128,
141 "BLOCK_SIZE_K": 64,
142 - "GROUP_SIZE_M": 32,
143 - "num_warps": 8,
144 - "num_stages": 4
142 + "GROUP_SIZE_M": 16,
143 + "num_warps": 4,
144 + "num_stages": 3
145 },
146 "5120": {
147 "BLOCK_SIZE_M": 128,
vllm/model_executor/layers/fused_moe/configs/E=1,N=3072,device_name=NVIDIA_H200,dtype=int8_w8a16.json new
+146
@@ -0,0 +1,146 @@
1 +{
2 + "1": {
3 + "BLOCK_SIZE_M": 16,
4 + "BLOCK_SIZE_N": 64,
5 + "BLOCK_SIZE_K": 128,
6 + "GROUP_SIZE_M": 1,
7 + "num_warps": 4,
8 + "num_stages": 5
9 + },
10 + "2": {
11 + "BLOCK_SIZE_M": 16,
12 + "BLOCK_SIZE_N": 64,
13 + "BLOCK_SIZE_K": 128,
14 + "GROUP_SIZE_M": 1,
15 + "num_warps": 4,
16 + "num_stages": 5
17 + },
18 + "4": {
19 + "BLOCK_SIZE_M": 16,
20 + "BLOCK_SIZE_N": 64,
21 + "BLOCK_SIZE_K": 128,
22 + "GROUP_SIZE_M": 1,
23 + "num_warps": 4,
24 + "num_stages": 5
25 + },
26 + "8": {
27 + "BLOCK_SIZE_M": 16,
28 + "BLOCK_SIZE_N": 64,
29 + "BLOCK_SIZE_K": 128,
30 + "GROUP_SIZE_M": 1,
31 + "num_warps": 4,
32 + "num_stages": 5
33 + },
34 + "16": {
35 + "BLOCK_SIZE_M": 16,
36 + "BLOCK_SIZE_N": 128,
37 + "BLOCK_SIZE_K": 128,
38 + "GROUP_SIZE_M": 1,
39 + "num_warps": 4,
40 + "num_stages": 4
41 + },
42 + "24": {
43 + "BLOCK_SIZE_M": 32,
44 + "BLOCK_SIZE_N": 128,
45 + "BLOCK_SIZE_K": 128,
46 + "GROUP_SIZE_M": 1,
47 + "num_warps": 4,
48 + "num_stages": 4
49 + },
50 + "32": {
51 + "BLOCK_SIZE_M": 32,
52 + "BLOCK_SIZE_N": 128,
53 + "BLOCK_SIZE_K": 128,
54 + "GROUP_SIZE_M": 1,
55 + "num_warps": 4,
56 + "num_stages": 4
57 + },
58 + "48": {
59 + "BLOCK_SIZE_M": 32,
60 + "BLOCK_SIZE_N": 128,
61 + "BLOCK_SIZE_K": 64,
62 + "GROUP_SIZE_M": 1,
63 + "num_warps": 4,
64 + "num_stages": 3
65 + },
66 + "64": {
67 + "BLOCK_SIZE_M": 32,
68 + "BLOCK_SIZE_N": 128,
69 + "BLOCK_SIZE_K": 64,
70 + "GROUP_SIZE_M": 1,
71 + "num_warps": 4,
72 + "num_stages": 4
73 + },
74 + "96": {
75 + "BLOCK_SIZE_M": 64,
76 + "BLOCK_SIZE_N": 64,
77 + "BLOCK_SIZE_K": 128,
78 + "GROUP_SIZE_M": 1,
79 + "num_warps": 4,
80 + "num_stages": 3
81 + },
82 + "128": {
83 + "BLOCK_SIZE_M": 128,
84 + "BLOCK_SIZE_N": 64,
85 + "BLOCK_SIZE_K": 128,
86 + "GROUP_SIZE_M": 1,
87 + "num_warps": 4,
88 + "num_stages": 3
89 + },
90 + "256": {
91 + "BLOCK_SIZE_M": 128,
92 + "BLOCK_SIZE_N": 128,
93 + "BLOCK_SIZE_K": 64,
94 + "GROUP_SIZE_M": 1,
95 + "num_warps": 4,
96 + "num_stages": 3
97 + },
98 + "512": {
99 + "BLOCK_SIZE_M": 128,
100 + "BLOCK_SIZE_N": 64,
101 + "BLOCK_SIZE_K": 128,
102 + "GROUP_SIZE_M": 1,
103 + "num_warps": 4,
104 + "num_stages": 3
105 + },
106 + "1024": {
107 + "BLOCK_SIZE_M": 128,
108 + "BLOCK_SIZE_N": 128,
109 + "BLOCK_SIZE_K": 64,
110 + "GROUP_SIZE_M": 1,
111 + "num_warps": 4,
112 + "num_stages": 4
113 + },
114 + "1536": {
115 + "BLOCK_SIZE_M": 128,
116 + "BLOCK_SIZE_N": 128,
117 + "BLOCK_SIZE_K": 64,
118 + "GROUP_SIZE_M": 32,
119 + "num_warps": 4,
120 + "num_stages": 3
121 + },
122 + "2048": {
123 + "BLOCK_SIZE_M": 128,
124 + "BLOCK_SIZE_N": 128,
125 + "BLOCK_SIZE_K": 64,
126 + "GROUP_SIZE_M": 64,
127 + "num_warps": 4,
128 + "num_stages": 3
129 + },
130 + "3072": {
131 + "BLOCK_SIZE_M": 128,
132 + "BLOCK_SIZE_N": 128,
133 + "BLOCK_SIZE_K": 64,
134 + "GROUP_SIZE_M": 16,
135 + "num_warps": 4,
136 + "num_stages": 3
137 + },
138 + "4096": {
139 + "BLOCK_SIZE_M": 128,
140 + "BLOCK_SIZE_N": 128,
141 + "BLOCK_SIZE_K": 64,
142 + "GROUP_SIZE_M": 16,
143 + "num_warps": 4,
144 + "num_stages": 3
145 + }
146 +}
\ No newline at end of file
vllm/model_executor/layers/fused_moe/configs/E=1,N=3584,device_name=NVIDIA_H100_80GB_HBM3,dtype=int8_w8a16.json new
+146
@@ -0,0 +1,146 @@
1 +{
2 + "1": {
3 + "BLOCK_SIZE_M": 16,
4 + "BLOCK_SIZE_N": 64,
5 + "BLOCK_SIZE_K": 256,
6 + "GROUP_SIZE_M": 1,
7 + "num_warps": 4,
8 + "num_stages": 5
9 + },
10 + "2": {
11 + "BLOCK_SIZE_M": 16,
12 + "BLOCK_SIZE_N": 64,
13 + "BLOCK_SIZE_K": 256,
14 + "GROUP_SIZE_M": 1,
15 + "num_warps": 4,
16 + "num_stages": 5
17 + },
18 + "4": {
19 + "BLOCK_SIZE_M": 16,
20 + "BLOCK_SIZE_N": 64,
21 + "BLOCK_SIZE_K": 256,
22 + "GROUP_SIZE_M": 1,
23 + "num_warps": 4,
24 + "num_stages": 5
25 + },
26 + "8": {
27 + "BLOCK_SIZE_M": 16,
28 + "BLOCK_SIZE_N": 64,
29 + "BLOCK_SIZE_K": 256,
30 + "GROUP_SIZE_M": 1,
31 + "num_warps": 4,
32 + "num_stages": 5
33 + },
34 + "16": {
35 + "BLOCK_SIZE_M": 16,
36 + "BLOCK_SIZE_N": 64,
37 + "BLOCK_SIZE_K": 256,
38 + "GROUP_SIZE_M": 1,
39 + "num_warps": 4,
40 + "num_stages": 5
41 + },
42 + "24": {
43 + "BLOCK_SIZE_M": 64,
44 + "BLOCK_SIZE_N": 32,
45 + "BLOCK_SIZE_K": 128,
46 + "GROUP_SIZE_M": 1,
47 + "num_warps": 4,
48 + "num_stages": 4
49 + },
50 + "32": {
51 + "BLOCK_SIZE_M": 64,
52 + "BLOCK_SIZE_N": 64,
53 + "BLOCK_SIZE_K": 256,
54 + "GROUP_SIZE_M": 1,
55 + "num_warps": 8,
56 + "num_stages": 3
57 + },
58 + "48": {
59 + "BLOCK_SIZE_M": 64,
60 + "BLOCK_SIZE_N": 64,
61 + "BLOCK_SIZE_K": 128,
62 + "GROUP_SIZE_M": 1,
63 + "num_warps": 4,
64 + "num_stages": 4
65 + },
66 + "64": {
67 + "BLOCK_SIZE_M": 128,
68 + "BLOCK_SIZE_N": 64,
69 + "BLOCK_SIZE_K": 128,
70 + "GROUP_SIZE_M": 1,
71 + "num_warps": 4,
72 + "num_stages": 4
73 + },
74 + "96": {
75 + "BLOCK_SIZE_M": 64,
76 + "BLOCK_SIZE_N": 64,
77 + "BLOCK_SIZE_K": 64,
78 + "GROUP_SIZE_M": 1,
79 + "num_warps": 4,
80 + "num_stages": 4
81 + },
82 + "128": {
83 + "BLOCK_SIZE_M": 128,
84 + "BLOCK_SIZE_N": 64,
85 + "BLOCK_SIZE_K": 64,
86 + "GROUP_SIZE_M": 1,
87 + "num_warps": 4,
88 + "num_stages": 4
89 + },
90 + "256": {
91 + "BLOCK_SIZE_M": 128,
92 + "BLOCK_SIZE_N": 128,
93 + "BLOCK_SIZE_K": 64,
94 + "GROUP_SIZE_M": 1,
95 + "num_warps": 4,
96 + "num_stages": 3
97 + },
98 + "512": {
99 + "BLOCK_SIZE_M": 128,
100 + "BLOCK_SIZE_N": 128,
101 + "BLOCK_SIZE_K": 64,
102 + "GROUP_SIZE_M": 1,
103 + "num_warps": 4,
104 + "num_stages": 3
105 + },
106 + "1024": {
107 + "BLOCK_SIZE_M": 128,
108 + "BLOCK_SIZE_N": 128,
109 + "BLOCK_SIZE_K": 64,
110 + "GROUP_SIZE_M": 1,
111 + "num_warps": 4,
112 + "num_stages": 3
113 + },
114 + "1536": {
115 + "BLOCK_SIZE_M": 128,
116 + "BLOCK_SIZE_N": 128,
117 + "BLOCK_SIZE_K": 64,
118 + "GROUP_SIZE_M": 32,
119 + "num_warps": 4,
120 + "num_stages": 3
121 + },
122 + "2048": {
123 + "BLOCK_SIZE_M": 128,
124 + "BLOCK_SIZE_N": 128,
125 + "BLOCK_SIZE_K": 64,
126 + "GROUP_SIZE_M": 64,
127 + "num_warps": 4,
128 + "num_stages": 3
129 + },
130 + "3072": {
131 + "BLOCK_SIZE_M": 128,
132 + "BLOCK_SIZE_N": 128,
133 + "BLOCK_SIZE_K": 64,
134 + "GROUP_SIZE_M": 16,
135 + "num_warps": 4,
136 + "num_stages": 3
137 + },
138 + "4096": {
139 + "BLOCK_SIZE_M": 128,
140 + "BLOCK_SIZE_N": 128,
141 + "BLOCK_SIZE_K": 64,
142 + "GROUP_SIZE_M": 1,
143 + "num_warps": 4,
144 + "num_stages": 3
145 + }
146 +}
\ No newline at end of file
vllm/model_executor/layers/fused_moe/configs/E=1,N=7168,device_name=NVIDIA_H100_80GB_HBM3,dtype=int8_w8a16.json new
+146
@@ -0,0 +1,146 @@
1 +{
2 + "1": {
3 + "BLOCK_SIZE_M": 16,
4 + "BLOCK_SIZE_N": 32,
5 + "BLOCK_SIZE_K": 256,
6 + "GROUP_SIZE_M": 1,
7 + "num_warps": 4,
8 + "num_stages": 4
9 + },
10 + "2": {
11 + "BLOCK_SIZE_M": 16,
12 + "BLOCK_SIZE_N": 32,
13 + "BLOCK_SIZE_K": 256,
14 + "GROUP_SIZE_M": 1,
15 + "num_warps": 4,
16 + "num_stages": 4
17 + },
18 + "4": {
19 + "BLOCK_SIZE_M": 16,
20 + "BLOCK_SIZE_N": 32,
21 + "BLOCK_SIZE_K": 256,
22 + "GROUP_SIZE_M": 1,
23 + "num_warps": 4,
24 + "num_stages": 4
25 + },
26 + "8": {
27 + "BLOCK_SIZE_M": 16,
28 + "BLOCK_SIZE_N": 32,
29 + "BLOCK_SIZE_K": 256,
30 + "GROUP_SIZE_M": 1,
31 + "num_warps": 4,
32 + "num_stages": 4
33 + },
34 + "16": {
35 + "BLOCK_SIZE_M": 16,
36 + "BLOCK_SIZE_N": 64,
37 + "BLOCK_SIZE_K": 256,
38 + "GROUP_SIZE_M": 1,
39 + "num_warps": 4,
40 + "num_stages": 3
41 + },
42 + "24": {
43 + "BLOCK_SIZE_M": 16,
44 + "BLOCK_SIZE_N": 128,
45 + "BLOCK_SIZE_K": 128,
46 + "GROUP_SIZE_M": 32,
47 + "num_warps": 4,
48 + "num_stages": 4
49 + },
50 + "32": {
51 + "BLOCK_SIZE_M": 64,
52 + "BLOCK_SIZE_N": 64,
53 + "BLOCK_SIZE_K": 128,
54 + "GROUP_SIZE_M": 1,
55 + "num_warps": 4,
56 + "num_stages": 4
57 + },
58 + "48": {
59 + "BLOCK_SIZE_M": 32,
60 + "BLOCK_SIZE_N": 128,
61 + "BLOCK_SIZE_K": 128,
62 + "GROUP_SIZE_M": 32,
63 + "num_warps": 4,
64 + "num_stages": 4
65 + },
66 + "64": {
67 + "BLOCK_SIZE_M": 128,
68 + "BLOCK_SIZE_N": 64,
69 + "BLOCK_SIZE_K": 128,
70 + "GROUP_SIZE_M": 1,
71 + "num_warps": 4,
72 + "num_stages": 4
73 + },
74 + "96": {
75 + "BLOCK_SIZE_M": 64,
76 + "BLOCK_SIZE_N": 128,
77 + "BLOCK_SIZE_K": 64,
78 + "GROUP_SIZE_M": 32,
79 + "num_warps": 4,
80 + "num_stages": 4
81 + },
82 + "128": {
83 + "BLOCK_SIZE_M": 128,
84 + "BLOCK_SIZE_N": 128,
85 + "BLOCK_SIZE_K": 64,
86 + "GROUP_SIZE_M": 1,
87 + "num_warps": 4,
88 + "num_stages": 4
89 + },
90 + "256": {
91 + "BLOCK_SIZE_M": 128,
92 + "BLOCK_SIZE_N": 128,
93 + "BLOCK_SIZE_K": 64,
94 + "GROUP_SIZE_M": 1,
95 + "num_warps": 4,
96 + "num_stages": 4
97 + },
98 + "512": {
99 + "BLOCK_SIZE_M": 128,
100 + "BLOCK_SIZE_N": 128,
101 + "BLOCK_SIZE_K": 64,
102 + "GROUP_SIZE_M": 16,
103 + "num_warps": 4,
104 + "num_stages": 3
105 + },
106 + "1024": {
107 + "BLOCK_SIZE_M": 128,
108 + "BLOCK_SIZE_N": 128,
109 + "BLOCK_SIZE_K": 64,
110 + "GROUP_SIZE_M": 32,
111 + "num_warps": 4,
112 + "num_stages": 3
113 + },
114 + "1536": {
115 + "BLOCK_SIZE_M": 128,
116 + "BLOCK_SIZE_N": 128,
117 + "BLOCK_SIZE_K": 64,
118 + "GROUP_SIZE_M": 32,
119 + "num_warps": 4,
120 + "num_stages": 3
121 + },
122 + "2048": {
123 + "BLOCK_SIZE_M": 128,
124 + "BLOCK_SIZE_N": 128,
125 + "BLOCK_SIZE_K": 64,
126 + "GROUP_SIZE_M": 16,
127 + "num_warps": 4,
128 + "num_stages": 3
129 + },
130 + "3072": {
131 + "BLOCK_SIZE_M": 128,
132 + "BLOCK_SIZE_N": 128,
133 + "BLOCK_SIZE_K": 64,
134 + "GROUP_SIZE_M": 16,
135 + "num_warps": 4,
136 + "num_stages": 3
137 + },
138 + "4096": {
139 + "BLOCK_SIZE_M": 128,
140 + "BLOCK_SIZE_N": 128,
141 + "BLOCK_SIZE_K": 64,
142 + "GROUP_SIZE_M": 16,
143 + "num_warps": 4,
144 + "num_stages": 3
145 + }
146 +}
\ No newline at end of file
vllm/model_executor/layers/fused_moe/configs/E=16,N=14336,device_name=NVIDIA_H100_80GB_HBM3,dtype=int8_w8a16.json new
+146
@@ -0,0 +1,146 @@
1 +{
2 + "1": {
3 + "BLOCK_SIZE_M": 16,
4 + "BLOCK_SIZE_N": 32,
5 + "BLOCK_SIZE_K": 256,
6 + "GROUP_SIZE_M": 1,
7 + "num_warps": 4,
8 + "num_stages": 5
9 + },
10 + "2": {
11 + "BLOCK_SIZE_M": 16,
12 + "BLOCK_SIZE_N": 64,
13 + "BLOCK_SIZE_K": 256,
14 + "GROUP_SIZE_M": 1,
15 + "num_warps": 8,
16 + "num_stages": 5
17 + },
18 + "4": {
19 + "BLOCK_SIZE_M": 16,
20 + "BLOCK_SIZE_N": 32,
21 + "BLOCK_SIZE_K": 256,
22 + "GROUP_SIZE_M": 1,
23 + "num_warps": 4,
24 + "num_stages": 2
25 + },
26 + "8": {
27 + "BLOCK_SIZE_M": 16,
28 + "BLOCK_SIZE_N": 128,
29 + "BLOCK_SIZE_K": 256,
30 + "GROUP_SIZE_M": 32,
31 + "num_warps": 4,
32 + "num_stages": 2
33 + },
34 + "16": {
35 + "BLOCK_SIZE_M": 16,
36 + "BLOCK_SIZE_N": 128,
37 + "BLOCK_SIZE_K": 256,
38 + "GROUP_SIZE_M": 64,
39 + "num_warps": 4,
40 + "num_stages": 3
41 + },
42 + "24": {
43 + "BLOCK_SIZE_M": 16,
44 + "BLOCK_SIZE_N": 64,
45 + "BLOCK_SIZE_K": 256,
46 + "GROUP_SIZE_M": 1,
47 + "num_warps": 8,
48 + "num_stages": 5
49 + },
50 + "32": {
51 + "BLOCK_SIZE_M": 16,
52 + "BLOCK_SIZE_N": 128,
53 + "BLOCK_SIZE_K": 256,
54 + "GROUP_SIZE_M": 1,
55 + "num_warps": 8,
56 + "num_stages": 4
57 + },
58 + "48": {
59 + "BLOCK_SIZE_M": 16,
60 + "BLOCK_SIZE_N": 256,
61 + "BLOCK_SIZE_K": 256,
62 + "GROUP_SIZE_M": 1,
63 + "num_warps": 8,
64 + "num_stages": 3
65 + },
66 + "64": {
67 + "BLOCK_SIZE_M": 16,
68 + "BLOCK_SIZE_N": 128,
69 + "BLOCK_SIZE_K": 256,
70 + "GROUP_SIZE_M": 1,
71 + "num_warps": 8,
72 + "num_stages": 3
73 + },
74 + "96": {
75 + "BLOCK_SIZE_M": 16,
76 + "BLOCK_SIZE_N": 64,
77 + "BLOCK_SIZE_K": 256,
78 + "GROUP_SIZE_M": 32,
79 + "num_warps": 4,
80 + "num_stages": 5
81 + },
82 + "128": {
83 + "BLOCK_SIZE_M": 32,
84 + "BLOCK_SIZE_N": 256,
85 + "BLOCK_SIZE_K": 128,
86 + "GROUP_SIZE_M": 1,
87 + "num_warps": 4,
88 + "num_stages": 3
89 + },
90 + "256": {
91 + "BLOCK_SIZE_M": 64,
92 + "BLOCK_SIZE_N": 128,
93 + "BLOCK_SIZE_K": 128,
94 + "GROUP_SIZE_M": 1,
95 + "num_warps": 4,
96 + "num_stages": 3
97 + },
98 + "512": {
99 + "BLOCK_SIZE_M": 128,
100 + "BLOCK_SIZE_N": 128,
101 + "BLOCK_SIZE_K": 64,
102 + "GROUP_SIZE_M": 1,
103 + "num_warps": 4,
104 + "num_stages": 4
105 + },
106 + "1024": {
107 + "BLOCK_SIZE_M": 128,
108 + "BLOCK_SIZE_N": 128,
109 + "BLOCK_SIZE_K": 64,
110 + "GROUP_SIZE_M": 64,
111 + "num_warps": 4,
112 + "num_stages": 4
113 + },
114 + "1536": {
115 + "BLOCK_SIZE_M": 256,
116 + "BLOCK_SIZE_N": 128,
117 + "BLOCK_SIZE_K": 64,
118 + "GROUP_SIZE_M": 1,
119 + "num_warps": 8,
120 + "num_stages": 4
121 + },
122 + "2048": {
123 + "BLOCK_SIZE_M": 128,
124 + "BLOCK_SIZE_N": 128,
125 + "BLOCK_SIZE_K": 64,
126 + "GROUP_SIZE_M": 16,
127 + "num_warps": 4,
128 + "num_stages": 3
129 + },
130 + "3072": {
131 + "BLOCK_SIZE_M": 128,
132 + "BLOCK_SIZE_N": 128,
133 + "BLOCK_SIZE_K": 64,
134 + "GROUP_SIZE_M": 16,
135 + "num_warps": 4,
136 + "num_stages": 3
137 + },
138 + "4096": {
139 + "BLOCK_SIZE_M": 128,
140 + "BLOCK_SIZE_N": 128,
141 + "BLOCK_SIZE_K": 64,
142 + "GROUP_SIZE_M": 16,
143 + "num_warps": 4,
144 + "num_stages": 3
145 + }
146 +}
vllm/model_executor/layers/fused_moe/configs/E=16,N=1792,device_name=NVIDIA_H100_80GB_HBM3,dtype=int8_w8a16.json new
+146
@@ -0,0 +1,146 @@
1 +{
2 + "1": {
3 + "BLOCK_SIZE_M": 16,
4 + "BLOCK_SIZE_N": 32,
5 + "BLOCK_SIZE_K": 128,
6 + "GROUP_SIZE_M": 1,
7 + "num_warps": 4,
8 + "num_stages": 5
9 + },
10 + "2": {
11 + "BLOCK_SIZE_M": 16,
12 + "BLOCK_SIZE_N": 32,
13 + "BLOCK_SIZE_K": 128,
14 + "GROUP_SIZE_M": 1,
15 + "num_warps": 4,
16 + "num_stages": 5
17 + },
18 + "4": {
19 + "BLOCK_SIZE_M": 16,
20 + "BLOCK_SIZE_N": 64,
21 + "BLOCK_SIZE_K": 256,
22 + "GROUP_SIZE_M": 1,
23 + "num_warps": 4,
24 + "num_stages": 2
25 + },
26 + "8": {
27 + "BLOCK_SIZE_M": 16,
28 + "BLOCK_SIZE_N": 128,
29 + "BLOCK_SIZE_K": 128,
30 + "GROUP_SIZE_M": 64,
31 + "num_warps": 8,
32 + "num_stages": 3
33 + },
34 + "16": {
35 + "BLOCK_SIZE_M": 16,
36 + "BLOCK_SIZE_N": 128,
37 + "BLOCK_SIZE_K": 128,
38 + "GROUP_SIZE_M": 1,
39 + "num_warps": 4,
40 + "num_stages": 2
41 + },
42 + "24": {
43 + "BLOCK_SIZE_M": 16,
44 + "BLOCK_SIZE_N": 128,
45 + "BLOCK_SIZE_K": 128,
46 + "GROUP_SIZE_M": 16,
47 + "num_warps": 4,
48 + "num_stages": 2
49 + },
50 + "32": {
51 + "BLOCK_SIZE_M": 16,
52 + "BLOCK_SIZE_N": 128,
53 + "BLOCK_SIZE_K": 128,
54 + "GROUP_SIZE_M": 16,
55 + "num_warps": 4,
56 + "num_stages": 2
57 + },
58 + "48": {
59 + "BLOCK_SIZE_M": 16,
60 + "BLOCK_SIZE_N": 128,
61 + "BLOCK_SIZE_K": 128,
62 + "GROUP_SIZE_M": 1,
63 + "num_warps": 4,
64 + "num_stages": 2
65 + },
66 + "64": {
67 + "BLOCK_SIZE_M": 16,
68 + "BLOCK_SIZE_N": 128,
69 + "BLOCK_SIZE_K": 128,
70 + "GROUP_SIZE_M": 1,
71 + "num_warps": 4,
72 + "num_stages": 2
73 + },
74 + "96": {
75 + "BLOCK_SIZE_M": 16,
76 + "BLOCK_SIZE_N": 32,
77 + "BLOCK_SIZE_K": 256,
78 + "GROUP_SIZE_M": 1,
79 + "num_warps": 4,
80 + "num_stages": 3
81 + },
82 + "128": {
83 + "BLOCK_SIZE_M": 32,
84 + "BLOCK_SIZE_N": 256,
85 + "BLOCK_SIZE_K": 128,
86 + "GROUP_SIZE_M": 1,
87 + "num_warps": 4,
88 + "num_stages": 3
89 + },
90 + "256": {
91 + "BLOCK_SIZE_M": 32,
92 + "BLOCK_SIZE_N": 128,
93 + "BLOCK_SIZE_K": 128,
94 + "GROUP_SIZE_M": 64,
95 + "num_warps": 4,
96 + "num_stages": 3
97 + },
98 + "512": {
99 + "BLOCK_SIZE_M": 128,
100 + "BLOCK_SIZE_N": 128,
101 + "BLOCK_SIZE_K": 64,
102 + "GROUP_SIZE_M": 1,
103 + "num_warps": 4,
104 + "num_stages": 4
105 + },
106 + "1024": {
107 + "BLOCK_SIZE_M": 128,
108 + "BLOCK_SIZE_N": 128,
109 + "BLOCK_SIZE_K": 64,
110 + "GROUP_SIZE_M": 1,
111 + "num_warps": 4,
112 + "num_stages": 4
113 + },
114 + "1536": {
115 + "BLOCK_SIZE_M": 128,
116 + "BLOCK_SIZE_N": 128,
117 + "BLOCK_SIZE_K": 64,
118 + "GROUP_SIZE_M": 1,
119 + "num_warps": 4,
120 + "num_stages": 3
121 + },
122 + "2048": {
123 + "BLOCK_SIZE_M": 128,
124 + "BLOCK_SIZE_N": 128,
125 + "BLOCK_SIZE_K": 64,
126 + "GROUP_SIZE_M": 1,
127 + "num_warps": 4,
128 + "num_stages": 3
129 + },
130 + "3072": {
131 + "BLOCK_SIZE_M": 128,
132 + "BLOCK_SIZE_N": 128,
133 + "BLOCK_SIZE_K": 64,
134 + "GROUP_SIZE_M": 1,
135 + "num_warps": 4,
136 + "num_stages": 4
137 + },
138 + "4096": {
139 + "BLOCK_SIZE_M": 128,
140 + "BLOCK_SIZE_N": 128,
141 + "BLOCK_SIZE_K": 64,
142 + "GROUP_SIZE_M": 1,
143 + "num_warps": 4,
144 + "num_stages": 3
145 + }
146 + }
\ No newline at end of file
vllm/model_executor/layers/fused_moe/configs/E=16,N=1792,device_name=NVIDIA_H100_80GB_HBM3.json new
+146
@@ -0,0 +1,146 @@
1 +{
2 + "1": {
3 + "BLOCK_SIZE_M": 16,
4 + "BLOCK_SIZE_N": 64,
5 + "BLOCK_SIZE_K": 128,
6 + "GROUP_SIZE_M": 32,
7 + "num_warps": 4,
8 + "num_stages": 5
9 + },
10 + "2": {
11 + "BLOCK_SIZE_M": 16,
12 + "BLOCK_SIZE_N": 128,
13 + "BLOCK_SIZE_K": 128,
14 + "GROUP_SIZE_M": 64,
15 + "num_warps": 4,
16 + "num_stages": 5
17 + },
18 + "4": {
19 + "BLOCK_SIZE_M": 16,
20 + "BLOCK_SIZE_N": 256,
21 + "BLOCK_SIZE_K": 128,
22 + "GROUP_SIZE_M": 64,
23 + "num_warps": 8,
24 + "num_stages": 3
25 + },
26 + "8": {
27 + "BLOCK_SIZE_M": 16,
28 + "BLOCK_SIZE_N": 32,
29 + "BLOCK_SIZE_K": 256,
30 + "GROUP_SIZE_M": 1,
31 + "num_warps": 4,
32 + "num_stages": 5
33 + },
34 + "16": {
35 + "BLOCK_SIZE_M": 16,
36 + "BLOCK_SIZE_N": 128,
37 + "BLOCK_SIZE_K": 128,
38 + "GROUP_SIZE_M": 1,
39 + "num_warps": 4,
40 + "num_stages": 2
41 + },
42 + "24": {
43 + "BLOCK_SIZE_M": 16,
44 + "BLOCK_SIZE_N": 64,
45 + "BLOCK_SIZE_K": 256,
46 + "GROUP_SIZE_M": 16,
47 + "num_warps": 4,
48 + "num_stages": 2
49 + },
50 + "32": {
51 + "BLOCK_SIZE_M": 16,
52 + "BLOCK_SIZE_N": 256,
53 + "BLOCK_SIZE_K": 128,
54 + "GROUP_SIZE_M": 32,
55 + "num_warps": 8,
56 + "num_stages": 2
57 + },
58 + "48": {
59 + "BLOCK_SIZE_M": 16,
60 + "BLOCK_SIZE_N": 128,
61 + "BLOCK_SIZE_K": 128,
62 + "GROUP_SIZE_M": 1,
63 + "num_warps": 4,
64 + "num_stages": 4
65 + },
66 + "64": {
67 + "BLOCK_SIZE_M": 16,
68 + "BLOCK_SIZE_N": 256,
69 + "BLOCK_SIZE_K": 128,
70 + "GROUP_SIZE_M": 1,
71 + "num_warps": 4,
72 + "num_stages": 2
73 + },
74 + "96": {
75 + "BLOCK_SIZE_M": 32,
76 + "BLOCK_SIZE_N": 128,
77 + "BLOCK_SIZE_K": 128,
78 + "GROUP_SIZE_M": 1,
79 + "num_warps": 4,
80 + "num_stages": 3
81 + },
82 + "128": {
83 + "BLOCK_SIZE_M": 32,
84 + "BLOCK_SIZE_N": 128,
85 + "BLOCK_SIZE_K": 128,
86 + "GROUP_SIZE_M": 1,
87 + "num_warps": 4,
88 + "num_stages": 4
89 + },
90 + "256": {
91 + "BLOCK_SIZE_M": 64,
92 + "BLOCK_SIZE_N": 64,
93 + "BLOCK_SIZE_K": 64,
94 + "GROUP_SIZE_M": 1,
95 + "num_warps": 4,
96 + "num_stages": 3
97 + },
98 + "512": {
99 + "BLOCK_SIZE_M": 128,
100 + "BLOCK_SIZE_N": 128,
101 + "BLOCK_SIZE_K": 64,
102 + "GROUP_SIZE_M": 1,
103 + "num_warps": 8,
104 + "num_stages": 3
105 + },
106 + "1024": {
107 + "BLOCK_SIZE_M": 128,
108 + "BLOCK_SIZE_N": 256,
109 + "BLOCK_SIZE_K": 64,
110 + "GROUP_SIZE_M": 1,
111 + "num_warps": 8,
112 + "num_stages": 4
113 + },
114 + "1536": {
115 + "BLOCK_SIZE_M": 128,
116 + "BLOCK_SIZE_N": 256,
117 + "BLOCK_SIZE_K": 64,
118 + "GROUP_SIZE_M": 16,
119 + "num_warps": 8,
120 + "num_stages": 4
121 + },
122 + "2048": {
123 + "BLOCK_SIZE_M": 128,
124 + "BLOCK_SIZE_N": 256,
125 + "BLOCK_SIZE_K": 64,
126 + "GROUP_SIZE_M": 1,
127 + "num_warps": 8,
128 + "num_stages": 4
129 + },
130 + "3072": {
131 + "BLOCK_SIZE_M": 128,
132 + "BLOCK_SIZE_N": 256,
133 + "BLOCK_SIZE_K": 64,
134 + "GROUP_SIZE_M": 16,
135 + "num_warps": 8,
136 + "num_stages": 4
137 + },
138 + "4096": {
139 + "BLOCK_SIZE_M": 128,
140 + "BLOCK_SIZE_N": 256,
141 + "BLOCK_SIZE_K": 64,
142 + "GROUP_SIZE_M": 1,
143 + "num_warps": 8,
144 + "num_stages": 4
145 + }
146 + }
\ No newline at end of file
vllm/model_executor/layers/fused_moe/configs/E=16,N=3072,device_name=NVIDIA_H100_80GB_HBM3,dtype=float8.json new
+146
@@ -0,0 +1,146 @@
1 +{
2 + "1": {
3 + "BLOCK_SIZE_M": 16,
4 + "BLOCK_SIZE_N": 128,
5 + "BLOCK_SIZE_K": 256,
6 + "GROUP_SIZE_M": 32,
7 + "num_warps": 4,
8 + "num_stages": 5
9 + },
10 + "2": {
11 + "BLOCK_SIZE_M": 16,
12 + "BLOCK_SIZE_N": 128,
13 + "BLOCK_SIZE_K": 256,
14 + "GROUP_SIZE_M": 64,
15 + "num_warps": 4,
16 + "num_stages": 5
17 + },
18 + "4": {
19 + "BLOCK_SIZE_M": 16,
20 + "BLOCK_SIZE_N": 128,
21 + "BLOCK_SIZE_K": 256,
22 + "GROUP_SIZE_M": 64,
23 + "num_warps": 4,
24 + "num_stages": 3
25 + },
26 + "8": {
27 + "BLOCK_SIZE_M": 16,
28 + "BLOCK_SIZE_N": 128,
29 + "BLOCK_SIZE_K": 256,
30 + "GROUP_SIZE_M": 1,
31 + "num_warps": 4,
32 + "num_stages": 3
33 + },
34 + "16": {
35 + "BLOCK_SIZE_M": 16,
36 + "BLOCK_SIZE_N": 256,
37 + "BLOCK_SIZE_K": 128,
38 + "GROUP_SIZE_M": 16,
39 + "num_warps": 4,
40 + "num_stages": 5
41 + },
42 + "24": {
43 + "BLOCK_SIZE_M": 16,
44 + "BLOCK_SIZE_N": 128,
45 + "BLOCK_SIZE_K": 256,
46 + "GROUP_SIZE_M": 64,
47 + "num_warps": 4,
48 + "num_stages": 2
49 + },
50 + "32": {
51 + "BLOCK_SIZE_M": 16,
52 + "BLOCK_SIZE_N": 256,
53 + "BLOCK_SIZE_K": 128,
54 + "GROUP_SIZE_M": 32,
55 + "num_warps": 4,
56 + "num_stages": 5
57 + },
58 + "48": {
59 + "BLOCK_SIZE_M": 16,
60 + "BLOCK_SIZE_N": 128,
61 + "BLOCK_SIZE_K": 256,
62 + "GROUP_SIZE_M": 1,
63 + "num_warps": 4,
64 + "num_stages": 2
65 + },
66 + "64": {
67 + "BLOCK_SIZE_M": 16,
68 + "BLOCK_SIZE_N": 128,
69 + "BLOCK_SIZE_K": 256,
70 + "GROUP_SIZE_M": 1,
71 + "num_warps": 4,
72 + "num_stages": 2
73 + },
74 + "96": {
75 + "BLOCK_SIZE_M": 16,
76 + "BLOCK_SIZE_N": 128,
77 + "BLOCK_SIZE_K": 256,
78 + "GROUP_SIZE_M": 16,
79 + "num_warps": 4,
80 + "num_stages": 2
81 + },
82 + "128": {
83 + "BLOCK_SIZE_M": 32,
84 + "BLOCK_SIZE_N": 256,
85 + "BLOCK_SIZE_K": 128,
86 + "GROUP_SIZE_M": 1,
87 + "num_warps": 4,
88 + "num_stages": 3
89 + },
90 + "256": {
91 + "BLOCK_SIZE_M": 32,
92 + "BLOCK_SIZE_N": 256,
93 + "BLOCK_SIZE_K": 128,
94 + "GROUP_SIZE_M": 16,
95 + "num_warps": 4,
96 + "num_stages": 2
97 + },
98 + "512": {
99 + "BLOCK_SIZE_M": 64,
100 + "BLOCK_SIZE_N": 256,
101 + "BLOCK_SIZE_K": 64,
102 + "GROUP_SIZE_M": 64,
103 + "num_warps": 4,
104 + "num_stages": 5
105 + },
106 + "1024": {
107 + "BLOCK_SIZE_M": 64,
108 + "BLOCK_SIZE_N": 256,
109 + "BLOCK_SIZE_K": 64,
110 + "GROUP_SIZE_M": 32,
111 + "num_warps": 4,
112 + "num_stages": 2
113 + },
114 + "1536": {
115 + "BLOCK_SIZE_M": 64,
116 + "BLOCK_SIZE_N": 256,
117 + "BLOCK_SIZE_K": 64,
118 + "GROUP_SIZE_M": 16,
119 + "num_warps": 4,
120 + "num_stages": 2
121 + },
122 + "2048": {
123 + "BLOCK_SIZE_M": 64,
124 + "BLOCK_SIZE_N": 256,
125 + "BLOCK_SIZE_K": 64,
126 + "GROUP_SIZE_M": 32,
127 + "num_warps": 4,
128 + "num_stages": 2
129 + },
130 + "3072": {
131 + "BLOCK_SIZE_M": 64,
132 + "BLOCK_SIZE_N": 256,
133 + "BLOCK_SIZE_K": 64,
134 + "GROUP_SIZE_M": 16,
135 + "num_warps": 4,
136 + "num_stages": 2
137 + },
138 + "4096": {
139 + "BLOCK_SIZE_M": 64,
140 + "BLOCK_SIZE_N": 256,
141 + "BLOCK_SIZE_K": 64,
142 + "GROUP_SIZE_M": 16,
143 + "num_warps": 4,
144 + "num_stages": 2
145 + }
146 +}
\ No newline at end of file
vllm/model_executor/layers/fused_moe/configs/E=16,N=3072,device_name=NVIDIA_H100_80GB_HBM3,dtype=int8_w8a16.json
+52 -52
@@ -2,73 +2,73 @@
2 "1": {
3 "BLOCK_SIZE_M": 16,
4 "BLOCK_SIZE_N": 32,
5 - "BLOCK_SIZE_K": 256,
5 + "BLOCK_SIZE_K": 128,
6 "GROUP_SIZE_M": 1,
7 "num_warps": 4,
8 "num_stages": 5
9 },
10 "2": {
11 "BLOCK_SIZE_M": 16,
12 - "BLOCK_SIZE_N": 32,
12 + "BLOCK_SIZE_N": 64,
13 "BLOCK_SIZE_K": 256,
14 - "GROUP_SIZE_M": 1,
14 + "GROUP_SIZE_M": 16,
15 "num_warps": 4,
16 - "num_stages": 4
16 + "num_stages": 3
17 },
18 "4": {
19 "BLOCK_SIZE_M": 16,
20 - "BLOCK_SIZE_N": 64,
21 - "BLOCK_SIZE_K": 256,
22 - "GROUP_SIZE_M": 1,
20 + "BLOCK_SIZE_N": 128,
21 + "BLOCK_SIZE_K": 128,
22 + "GROUP_SIZE_M": 64,
23 "num_warps": 8,
24 - "num_stages": 4
24 + "num_stages": 3
25 },
26 "8": {
27 "BLOCK_SIZE_M": 16,
28 "BLOCK_SIZE_N": 32,
29 - "BLOCK_SIZE_K": 128,
30 - "GROUP_SIZE_M": 1,
29 + "BLOCK_SIZE_K": 256,
30 + "GROUP_SIZE_M": 32,
31 "num_warps": 4,
32 "num_stages": 5
33 },
34 "16": {
35 "BLOCK_SIZE_M": 16,
36 - "BLOCK_SIZE_N": 64,
36 + "BLOCK_SIZE_N": 32,
37 "BLOCK_SIZE_K": 256,
38 - "GROUP_SIZE_M": 64,
38 + "GROUP_SIZE_M": 32,
39 "num_warps": 4,
40 - "num_stages": 4
40 + "num_stages": 3
41 },
42 "24": {
43 "BLOCK_SIZE_M": 16,
44 - "BLOCK_SIZE_N": 64,
44 + "BLOCK_SIZE_N": 128,
45 "BLOCK_SIZE_K": 256,
46 - "GROUP_SIZE_M": 32,
47 - "num_warps": 4,
46 + "GROUP_SIZE_M": 1,
47 + "num_warps": 8,
48 "num_stages": 3
49 },
50 "32": {
51 "BLOCK_SIZE_M": 16,
52 - "BLOCK_SIZE_N": 64,
52 + "BLOCK_SIZE_N": 128,
53 "BLOCK_SIZE_K": 256,
54 - "GROUP_SIZE_M": 32,
54 + "GROUP_SIZE_M": 16,
55 "num_warps": 4,
56 - "num_stages": 4
56 + "num_stages": 3
57 },
58 "48": {
59 "BLOCK_SIZE_M": 16,
60 - "BLOCK_SIZE_N": 64,
60 + "BLOCK_SIZE_N": 128,
61 "BLOCK_SIZE_K": 256,
62 - "GROUP_SIZE_M": 64,
63 - "num_warps": 4,
64 - "num_stages": 4
62 + "GROUP_SIZE_M": 1,
63 + "num_warps": 8,
64 + "num_stages": 3
65 },
66 "64": {
67 "BLOCK_SIZE_M": 16,
68 - "BLOCK_SIZE_N": 64,
68 + "BLOCK_SIZE_N": 128,
69 "BLOCK_SIZE_K": 256,
70 - "GROUP_SIZE_M": 32,
71 - "num_warps": 4,
70 + "GROUP_SIZE_M": 1,
71 + "num_warps": 8,
72 "num_stages": 3
73 },
74 "96": {
@@ -77,22 +77,22 @@
77 "BLOCK_SIZE_K": 256,
78 "GROUP_SIZE_M": 32,
79 "num_warps": 4,
80 - "num_stages": 4
80 + "num_stages": 3
81 },
82 "128": {
83 "BLOCK_SIZE_M": 32,
84 - "BLOCK_SIZE_N": 128,
85 - "BLOCK_SIZE_K": 128,
84 + "BLOCK_SIZE_N": 256,
85 + "BLOCK_SIZE_K": 256,
86 "GROUP_SIZE_M": 1,
87 - "num_warps": 4,
88 - "num_stages": 4
87 + "num_warps": 8,
88 + "num_stages": 3
89 },
90 "256": {
91 - "BLOCK_SIZE_M": 32,
92 - "BLOCK_SIZE_N": 128,
91 + "BLOCK_SIZE_M": 64,
92 + "BLOCK_SIZE_N": 256,
93 "BLOCK_SIZE_K": 128,
94 - "GROUP_SIZE_M": 16,
95 - "num_warps": 4,
94 + "GROUP_SIZE_M": 32,
95 + "num_warps": 8,
96 "num_stages": 4
97 },
98 "512": {
@@ -100,47 +100,47 @@
100 "BLOCK_SIZE_N": 128,
101 "BLOCK_SIZE_K": 64,
102 "GROUP_SIZE_M": 1,
103 - "num_warps": 8,
103 + "num_warps": 4,
104 "num_stages": 4
105 },
106 "1024": {
107 "BLOCK_SIZE_M": 128,
108 "BLOCK_SIZE_N": 128,
109 "BLOCK_SIZE_K": 64,
110 - "GROUP_SIZE_M": 64,
111 - "num_warps": 8,
112 - "num_stages": 5
110 + "GROUP_SIZE_M": 1,
111 + "num_warps": 4,
112 + "num_stages": 3
113 },
114 "1536": {
115 "BLOCK_SIZE_M": 256,
116 "BLOCK_SIZE_N": 128,
117 - "BLOCK_SIZE_K": 128,
118 - "GROUP_SIZE_M": 1,
117 + "BLOCK_SIZE_K": 64,
118 + "GROUP_SIZE_M": 16,
119 "num_warps": 8,
120 - "num_stages": 3
120 + "num_stages": 4
121 },
122 "2048": {
123 "BLOCK_SIZE_M": 128,
124 "BLOCK_SIZE_N": 128,
125 "BLOCK_SIZE_K": 64,
126 - "GROUP_SIZE_M": 64,
127 - "num_warps": 8,
128 - "num_stages": 5
126 + "GROUP_SIZE_M": 16,
127 + "num_warps": 4,
128 + "num_stages": 3
129 },
130 "3072": {
131 "BLOCK_SIZE_M": 128,
132 "BLOCK_SIZE_N": 128,
133 "BLOCK_SIZE_K": 64,
134 - "GROUP_SIZE_M": 64,
135 - "num_warps": 8,
136 - "num_stages": 5
134 + "GROUP_SIZE_M": 16,
135 + "num_warps": 4,
136 + "num_stages": 4
137 },
138 "4096": {
139 - "BLOCK_SIZE_M": 256,
139 + "BLOCK_SIZE_M": 128,
140 "BLOCK_SIZE_N": 128,
141 - "BLOCK_SIZE_K": 128,
142 - "GROUP_SIZE_M": 1,
143 - "num_warps": 8,
141 + "BLOCK_SIZE_K": 64,
142 + "GROUP_SIZE_M": 16,
143 + "num_warps": 4,
144 "num_stages": 3
145 }
146 }
\ No newline at end of file
vllm/model_executor/layers/fused_moe/configs/E=16,N=3072,device_name=NVIDIA_H200,dtype=int8_w8a16.json new
+146
@@ -0,0 +1,146 @@
1 +{
2 + "1": {
3 + "BLOCK_SIZE_M": 16,
4 + "BLOCK_SIZE_N": 128,
5 + "BLOCK_SIZE_K": 128,
6 + "GROUP_SIZE_M": 1,
7 + "num_warps": 4,
8 + "num_stages": 5
9 + },
10 + "2": {
11 + "BLOCK_SIZE_M": 16,
12 + "BLOCK_SIZE_N": 64,
13 + "BLOCK_SIZE_K": 128,
14 + "GROUP_SIZE_M": 1,
15 + "num_warps": 4,
16 + "num_stages": 4
17 + },
18 + "4": {
19 + "BLOCK_SIZE_M": 16,
20 + "BLOCK_SIZE_N": 64,
21 + "BLOCK_SIZE_K": 64,
22 + "GROUP_SIZE_M": 1,
23 + "num_warps": 4,
24 + "num_stages": 4
25 + },
26 + "8": {
27 + "BLOCK_SIZE_M": 16,
28 + "BLOCK_SIZE_N": 64,
29 + "BLOCK_SIZE_K": 256,
30 + "GROUP_SIZE_M": 64,
31 + "num_warps": 4,
32 + "num_stages": 4
33 + },
34 + "16": {
35 + "BLOCK_SIZE_M": 16,
36 + "BLOCK_SIZE_N": 64,
37 + "BLOCK_SIZE_K": 256,
38 + "GROUP_SIZE_M": 16,
39 + "num_warps": 4,
40 + "num_stages": 3
41 + },
42 + "24": {
43 + "BLOCK_SIZE_M": 16,
44 + "BLOCK_SIZE_N": 64,
45 + "BLOCK_SIZE_K": 128,
46 + "GROUP_SIZE_M": 1,
47 + "num_warps": 4,
48 + "num_stages": 5
49 + },
50 + "32": {
51 + "BLOCK_SIZE_M": 16,
52 + "BLOCK_SIZE_N": 64,
53 + "BLOCK_SIZE_K": 256,
54 + "GROUP_SIZE_M": 1,
55 + "num_warps": 4,
56 + "num_stages": 3
57 + },
58 + "48": {
59 + "BLOCK_SIZE_M": 16,
60 + "BLOCK_SIZE_N": 256,
61 + "BLOCK_SIZE_K": 256,
62 + "GROUP_SIZE_M": 1,
63 + "num_warps": 8,
64 + "num_stages": 3
65 + },
66 + "64": {
67 + "BLOCK_SIZE_M": 16,
68 + "BLOCK_SIZE_N": 256,
69 + "BLOCK_SIZE_K": 256,
70 + "GROUP_SIZE_M": 1,
71 + "num_warps": 8,
72 + "num_stages": 3
73 + },
74 + "96": {
75 + "BLOCK_SIZE_M": 16,
76 + "BLOCK_SIZE_N": 64,
77 + "BLOCK_SIZE_K": 128,
78 + "GROUP_SIZE_M": 32,
79 + "num_warps": 4,
80 + "num_stages": 4
81 + },
82 + "128": {
83 + "BLOCK_SIZE_M": 32,
84 + "BLOCK_SIZE_N": 256,
85 + "BLOCK_SIZE_K": 128,
86 + "GROUP_SIZE_M": 1,
87 + "num_warps": 4,
88 + "num_stages": 3
89 + },
90 + "256": {
91 + "BLOCK_SIZE_M": 32,
92 + "BLOCK_SIZE_N": 256,
93 + "BLOCK_SIZE_K": 64,
94 + "GROUP_SIZE_M": 1,
95 + "num_warps": 4,
96 + "num_stages": 4
97 + },
98 + "512": {
99 + "BLOCK_SIZE_M": 64,
100 + "BLOCK_SIZE_N": 128,
101 + "BLOCK_SIZE_K": 64,
102 + "GROUP_SIZE_M": 64,
103 + "num_warps": 4,
104 + "num_stages": 3
105 + },
106 + "1024": {
107 + "BLOCK_SIZE_M": 64,
108 + "BLOCK_SIZE_N": 128,
109 + "BLOCK_SIZE_K": 64,
110 + "GROUP_SIZE_M": 32,
111 + "num_warps": 4,
112 + "num_stages": 3
113 + },
114 + "1536": {
115 + "BLOCK_SIZE_M": 64,
116 + "BLOCK_SIZE_N": 128,
117 + "BLOCK_SIZE_K": 64,
118 + "GROUP_SIZE_M": 64,
119 + "num_warps": 4,
120 + "num_stages": 3
121 + },
122 + "2048": {
123 + "BLOCK_SIZE_M": 128,
124 + "BLOCK_SIZE_N": 128,
125 + "BLOCK_SIZE_K": 64,
126 + "GROUP_SIZE_M": 16,
127 + "num_warps": 4,
128 + "num_stages": 3
129 + },
130 + "3072": {
131 + "BLOCK_SIZE_M": 128,
132 + "BLOCK_SIZE_N": 128,
133 + "BLOCK_SIZE_K": 64,
134 + "GROUP_SIZE_M": 16,
135 + "num_warps": 4,
136 + "num_stages": 3
137 + },
138 + "4096": {
139 + "BLOCK_SIZE_M": 128,
140 + "BLOCK_SIZE_N": 128,
141 + "BLOCK_SIZE_K": 64,
142 + "GROUP_SIZE_M": 16,
143 + "num_warps": 4,
144 + "num_stages": 5
145 + }
146 +}
\ No newline at end of file
vllm/model_executor/layers/fused_moe/configs/E=16,N=3584,device_name=NVIDIA_H100_80GB_HBM3,dtype=int8_w8a16.json new
+146
@@ -0,0 +1,146 @@
1 +{
2 + "1": {
3 + "BLOCK_SIZE_M": 16,
4 + "BLOCK_SIZE_N": 32,
5 + "BLOCK_SIZE_K": 128,
6 + "GROUP_SIZE_M": 32,
7 + "num_warps": 4,
8 + "num_stages": 5
9 + },
10 + "2": {
11 + "BLOCK_SIZE_M": 16,
12 + "BLOCK_SIZE_N": 32,
13 + "BLOCK_SIZE_K": 128,
14 + "GROUP_SIZE_M": 64,
15 + "num_warps": 4,
16 + "num_stages": 4
17 + },
18 + "4": {
19 + "BLOCK_SIZE_M": 16,
20 + "BLOCK_SIZE_N": 128,
21 + "BLOCK_SIZE_K": 128,
22 + "GROUP_SIZE_M": 16,
23 + "num_warps": 4,
24 + "num_stages": 3
25 + },
26 + "8": {
27 + "BLOCK_SIZE_M": 16,
28 + "BLOCK_SIZE_N": 32,
29 + "BLOCK_SIZE_K": 128,
30 + "GROUP_SIZE_M": 16,
31 + "num_warps": 4,
32 + "num_stages": 3
33 + },
34 + "16": {
35 + "BLOCK_SIZE_M": 16,
36 + "BLOCK_SIZE_N": 64,
37 + "BLOCK_SIZE_K": 256,
38 + "GROUP_SIZE_M": 16,
39 + "num_warps": 4,
40 + "num_stages": 2
41 + },
42 + "24": {
43 + "BLOCK_SIZE_M": 16,
44 + "BLOCK_SIZE_N": 64,
45 + "BLOCK_SIZE_K": 256,
46 + "GROUP_SIZE_M": 1,
47 + "num_warps": 8,
48 + "num_stages": 5
49 + },
50 + "32": {
51 + "BLOCK_SIZE_M": 16,
52 + "BLOCK_SIZE_N": 128,
53 + "BLOCK_SIZE_K": 256,
54 + "GROUP_SIZE_M": 1,
55 + "num_warps": 8,
56 + "num_stages": 3
57 + },
58 + "48": {
59 + "BLOCK_SIZE_M": 16,
60 + "BLOCK_SIZE_N": 128,
61 + "BLOCK_SIZE_K": 256,
62 + "GROUP_SIZE_M": 1,
63 + "num_warps": 8,
64 + "num_stages": 3
65 + },
66 + "64": {
67 + "BLOCK_SIZE_M": 16,
68 + "BLOCK_SIZE_N": 256,
69 + "BLOCK_SIZE_K": 256,
70 + "GROUP_SIZE_M": 1,
71 + "num_warps": 8,
72 + "num_stages": 2
73 + },
74 + "96": {
75 + "BLOCK_SIZE_M": 16,
76 + "BLOCK_SIZE_N": 64,
77 + "BLOCK_SIZE_K": 256,
78 + "GROUP_SIZE_M": 32,
79 + "num_warps": 4,
80 + "num_stages": 4
81 + },
82 + "128": {
83 + "BLOCK_SIZE_M": 32,
84 + "BLOCK_SIZE_N": 128,
85 + "BLOCK_SIZE_K": 256,
86 + "GROUP_SIZE_M": 1,
87 + "num_warps": 8,
88 + "num_stages": 3
89 + },
90 + "256": {
91 + "BLOCK_SIZE_M": 32,
92 + "BLOCK_SIZE_N": 128,
93 + "BLOCK_SIZE_K": 128,
94 + "GROUP_SIZE_M": 64,
95 + "num_warps": 4,
96 + "num_stages": 3
97 + },
98 + "512": {
99 + "BLOCK_SIZE_M": 64,
100 + "BLOCK_SIZE_N": 128,
101 + "BLOCK_SIZE_K": 64,
102 + "GROUP_SIZE_M": 64,
103 + "num_warps": 4,
104 + "num_stages": 5
105 + },
106 + "1024": {
107 + "BLOCK_SIZE_M": 128,
108 + "BLOCK_SIZE_N": 128,
109 + "BLOCK_SIZE_K": 64,
110 + "GROUP_SIZE_M": 1,
111 + "num_warps": 4,
112 + "num_stages": 4
113 + },
114 + "1536": {
115 + "BLOCK_SIZE_M": 128,
116 + "BLOCK_SIZE_N": 128,
117 + "BLOCK_SIZE_K": 64,
118 + "GROUP_SIZE_M": 32,
119 + "num_warps": 4,
120 + "num_stages": 3
121 + },
122 + "2048": {
123 + "BLOCK_SIZE_M": 128,
124 + "BLOCK_SIZE_N": 128,
125 + "BLOCK_SIZE_K": 64,
126 + "GROUP_SIZE_M": 1,
127 + "num_warps": 4,
128 + "num_stages": 4
129 + },
130 + "3072": {
131 + "BLOCK_SIZE_M": 128,
132 + "BLOCK_SIZE_N": 128,
133 + "BLOCK_SIZE_K": 64,
134 + "GROUP_SIZE_M": 32,
135 + "num_warps": 4,
136 + "num_stages": 3
137 + },
138 + "4096": {
139 + "BLOCK_SIZE_M": 128,
140 + "BLOCK_SIZE_N": 128,
141 + "BLOCK_SIZE_K": 64,
142 + "GROUP_SIZE_M": 1,
143 + "num_warps": 4,
144 + "num_stages": 3
145 + }
146 +}
\ No newline at end of file
vllm/model_executor/layers/fused_moe/configs/E=16,N=7168,device_name=NVIDIA_H100_80GB_HBM3,dtype=float8.json new
+146
@@ -0,0 +1,146 @@
1 +{
2 + "1": {
3 + "BLOCK_SIZE_M": 16,
4 + "BLOCK_SIZE_N": 128,
5 + "BLOCK_SIZE_K": 256,
6 + "GROUP_SIZE_M": 16,
7 + "num_warps": 4,
8 + "num_stages": 5
9 + },
10 + "2": {
11 + "BLOCK_SIZE_M": 16,
12 + "BLOCK_SIZE_N": 64,
13 + "BLOCK_SIZE_K": 256,
14 + "GROUP_SIZE_M": 16,
15 + "num_warps": 4,
16 + "num_stages": 5
17 + },
18 + "4": {
19 + "BLOCK_SIZE_M": 16,
20 + "BLOCK_SIZE_N": 128,
21 + "BLOCK_SIZE_K": 256,
22 + "GROUP_SIZE_M": 32,
23 + "num_warps": 4,
24 + "num_stages": 4
25 + },
26 + "8": {
27 + "BLOCK_SIZE_M": 16,
28 + "BLOCK_SIZE_N": 128,
29 + "BLOCK_SIZE_K": 256,
30 + "GROUP_SIZE_M": 1,
31 + "num_warps": 4,
32 + "num_stages": 3
33 + },
34 + "16": {
35 + "BLOCK_SIZE_M": 16,
36 + "BLOCK_SIZE_N": 128,
37 + "BLOCK_SIZE_K": 256,
38 + "GROUP_SIZE_M": 1,
39 + "num_warps": 4,
40 + "num_stages": 3
41 + },
42 + "24": {
43 + "BLOCK_SIZE_M": 16,
44 + "BLOCK_SIZE_N": 128,
45 + "BLOCK_SIZE_K": 256,
46 + "GROUP_SIZE_M": 16,
47 + "num_warps": 4,
48 + "num_stages": 3
49 + },
50 + "32": {
51 + "BLOCK_SIZE_M": 16,
52 + "BLOCK_SIZE_N": 256,
53 + "BLOCK_SIZE_K": 128,
54 + "GROUP_SIZE_M": 32,
55 + "num_warps": 4,
56 + "num_stages": 3
57 + },
58 + "48": {
59 + "BLOCK_SIZE_M": 16,
60 + "BLOCK_SIZE_N": 256,
61 + "BLOCK_SIZE_K": 128,
62 + "GROUP_SIZE_M": 16,
63 + "num_warps": 4,
64 + "num_stages": 3
65 + },
66 + "64": {
67 + "BLOCK_SIZE_M": 16,
68 + "BLOCK_SIZE_N": 128,
69 + "BLOCK_SIZE_K": 256,
70 + "GROUP_SIZE_M": 32,
71 + "num_warps": 4,
72 + "num_stages": 2
73 + },
74 + "96": {
75 + "BLOCK_SIZE_M": 16,
76 + "BLOCK_SIZE_N": 128,
77 + "BLOCK_SIZE_K": 256,
78 + "GROUP_SIZE_M": 1,
79 + "num_warps": 4,
80 + "num_stages": 2
81 + },
82 + "128": {
83 + "BLOCK_SIZE_M": 32,
84 + "BLOCK_SIZE_N": 256,
85 + "BLOCK_SIZE_K": 128,
86 + "GROUP_SIZE_M": 64,
87 + "num_warps": 4,
88 + "num_stages": 2
89 + },
90 + "256": {
91 + "BLOCK_SIZE_M": 64,
92 + "BLOCK_SIZE_N": 256,
93 + "BLOCK_SIZE_K": 64,
94 + "GROUP_SIZE_M": 64,
95 + "num_warps": 4,
96 + "num_stages": 2
97 + },
98 + "512": {
99 + "BLOCK_SIZE_M": 64,
100 + "BLOCK_SIZE_N": 256,
101 + "BLOCK_SIZE_K": 64,
102 + "GROUP_SIZE_M": 16,
103 + "num_warps": 4,
104 + "num_stages": 3
105 + },
106 + "1024": {
107 + "BLOCK_SIZE_M": 64,
108 + "BLOCK_SIZE_N": 256,
109 + "BLOCK_SIZE_K": 64,
110 + "GROUP_SIZE_M": 64,
111 + "num_warps": 4,
112 + "num_stages": 2
113 + },
114 + "1536": {
115 + "BLOCK_SIZE_M": 64,
116 + "BLOCK_SIZE_N": 256,
117 + "BLOCK_SIZE_K": 64,
118 + "GROUP_SIZE_M": 64,
119 + "num_warps": 4,
120 + "num_stages": 2
121 + },
122 + "2048": {
123 + "BLOCK_SIZE_M": 64,
124 + "BLOCK_SIZE_N": 256,
125 + "BLOCK_SIZE_K": 64,
126 + "GROUP_SIZE_M": 32,
127 + "num_warps": 4,
128 + "num_stages": 2
129 + },
130 + "3072": {
131 + "BLOCK_SIZE_M": 64,
132 + "BLOCK_SIZE_N": 256,
133 + "BLOCK_SIZE_K": 64,
134 + "GROUP_SIZE_M": 64,
135 + "num_warps": 4,
136 + "num_stages": 2
137 + },
138 + "4096": {
139 + "BLOCK_SIZE_M": 64,
140 + "BLOCK_SIZE_N": 256,
141 + "BLOCK_SIZE_K": 64,
142 + "GROUP_SIZE_M": 32,
143 + "num_warps": 4,
144 + "num_stages": 2
145 + }
146 +}
\ No newline at end of file
vllm/model_executor/layers/fused_moe/configs/E=16,N=7168,device_name=NVIDIA_H100_80GB_HBM3,dtype=int8_w8a16.json
+41 -41
@@ -2,7 +2,7 @@
2 "1": {
3 "BLOCK_SIZE_M": 16,
4 "BLOCK_SIZE_N": 32,
5 - "BLOCK_SIZE_K": 256,
5 + "BLOCK_SIZE_K": 128,
6 "GROUP_SIZE_M": 1,
7 "num_warps": 4,
8 "num_stages": 4
@@ -20,78 +20,78 @@
20 "BLOCK_SIZE_N": 64,
21 "BLOCK_SIZE_K": 256,
22 "GROUP_SIZE_M": 1,
23 - "num_warps": 4,
24 - "num_stages": 4
23 + "num_warps": 8,
24 + "num_stages": 3
25 },
26 "8": {
27 "BLOCK_SIZE_M": 16,
28 - "BLOCK_SIZE_N": 32,
28 + "BLOCK_SIZE_N": 64,
29 "BLOCK_SIZE_K": 256,
30 - "GROUP_SIZE_M": 1,
30 + "GROUP_SIZE_M": 16,
31 "num_warps": 4,
32 - "num_stages": 3
32 + "num_stages": 5
33 },
34 "16": {
35 "BLOCK_SIZE_M": 16,
36 "BLOCK_SIZE_N": 64,
37 "BLOCK_SIZE_K": 256,
38 - "GROUP_SIZE_M": 32,
38 + "GROUP_SIZE_M": 64,
39 "num_warps": 4,
40 - "num_stages": 3
40 + "num_stages": 5
41 },
42 "24": {
43 "BLOCK_SIZE_M": 16,
44 - "BLOCK_SIZE_N": 32,
44 + "BLOCK_SIZE_N": 256,
45 "BLOCK_SIZE_K": 256,
46 - "GROUP_SIZE_M": 64,
47 - "num_warps": 4,
46 + "GROUP_SIZE_M": 1,
47 + "num_warps": 8,
48 "num_stages": 3
49 },
50 "32": {
51 "BLOCK_SIZE_M": 16,
52 - "BLOCK_SIZE_N": 64,
52 + "BLOCK_SIZE_N": 256,
53 "BLOCK_SIZE_K": 256,
54 - "GROUP_SIZE_M": 64,
55 - "num_warps": 4,
54 + "GROUP_SIZE_M": 1,
55 + "num_warps": 8,
56 "num_stages": 3
57 },
58 "48": {
59 "BLOCK_SIZE_M": 16,
60 - "BLOCK_SIZE_N": 64,
60 + "BLOCK_SIZE_N": 128,
61 "BLOCK_SIZE_K": 256,
62 "GROUP_SIZE_M": 1,
63 - "num_warps": 4,
63 + "num_warps": 8,
64 "num_stages": 3
65 },
66 "64": {
67 "BLOCK_SIZE_M": 16,
68 - "BLOCK_SIZE_N": 64,
68 + "BLOCK_SIZE_N": 128,
69 "BLOCK_SIZE_K": 256,
70 - "GROUP_SIZE_M": 16,
71 - "num_warps": 4,
70 + "GROUP_SIZE_M": 1,
71 + "num_warps": 8,
72 "num_stages": 3
73 },
74 "96": {
75 "BLOCK_SIZE_M": 16,
76 "BLOCK_SIZE_N": 64,
77 "BLOCK_SIZE_K": 256,
78 - "GROUP_SIZE_M": 32,
78 + "GROUP_SIZE_M": 64,
79 "num_warps": 4,
80 "num_stages": 4
81 },
82 "128": {
83 "BLOCK_SIZE_M": 32,
84 "BLOCK_SIZE_N": 128,
85 - "BLOCK_SIZE_K": 128,
85 + "BLOCK_SIZE_K": 256,
86 "GROUP_SIZE_M": 1,
87 - "num_warps": 4,
87 + "num_warps": 8,
88 "num_stages": 3
89 },
90 "256": {
91 - "BLOCK_SIZE_M": 32,
91 + "BLOCK_SIZE_M": 64,
92 "BLOCK_SIZE_N": 128,
93 "BLOCK_SIZE_K": 128,
94 - "GROUP_SIZE_M": 64,
94 + "GROUP_SIZE_M": 1,
95 "num_warps": 4,
96 "num_stages": 3
97 },
@@ -100,47 +100,47 @@
100 "BLOCK_SIZE_N": 128,
101 "BLOCK_SIZE_K": 64,
102 "GROUP_SIZE_M": 1,
103 - "num_warps": 8,
104 - "num_stages": 3
103 + "num_warps": 4,
104 + "num_stages": 4
105 },
106 "1024": {
107 "BLOCK_SIZE_M": 128,
108 "BLOCK_SIZE_N": 128,
109 "BLOCK_SIZE_K": 64,
110 - "GROUP_SIZE_M": 1,
111 - "num_warps": 8,
112 - "num_stages": 5
110 + "GROUP_SIZE_M": 64,
111 + "num_warps": 4,
112 + "num_stages": 3
113 },
114 "1536": {
115 "BLOCK_SIZE_M": 256,
116 "BLOCK_SIZE_N": 128,
117 - "BLOCK_SIZE_K": 128,
117 + "BLOCK_SIZE_K": 64,
118 "GROUP_SIZE_M": 1,
119 "num_warps": 8,
120 - "num_stages": 3
120 + "num_stages": 4
121 },
122 "2048": {
123 "BLOCK_SIZE_M": 128,
124 "BLOCK_SIZE_N": 128,
125 "BLOCK_SIZE_K": 64,
126 - "GROUP_SIZE_M": 64,
127 - "num_warps": 8,
128 - "num_stages": 3
126 + "GROUP_SIZE_M": 16,
127 + "num_warps": 4,
128 + "num_stages": 4
129 },
130 "3072": {
131 "BLOCK_SIZE_M": 128,
132 "BLOCK_SIZE_N": 128,
133 "BLOCK_SIZE_K": 64,
134 - "GROUP_SIZE_M": 32,
135 - "num_warps": 8,
136 - "num_stages": 4
134 + "GROUP_SIZE_M": 16,
135 + "num_warps": 4,
136 + "num_stages": 3
137 },
138 "4096": {
139 - "BLOCK_SIZE_M": 256,
139 + "BLOCK_SIZE_M": 128,
140 "BLOCK_SIZE_N": 128,
141 - "BLOCK_SIZE_K": 128,
142 - "GROUP_SIZE_M": 1,
143 - "num_warps": 8,
141 + "BLOCK_SIZE_K": 64,
142 + "GROUP_SIZE_M": 16,
143 + "num_warps": 4,
144 "num_stages": 3
145 }
146 }
\ No newline at end of file