Commit 239a497
authored
ggml-webgpu: address precision issues for multimodal (#22808)
* fix(mixed-types): use f32 for precision and update the shared memory calculation logic for f32
* fix(unary): correct the gelu, gelu quick and gelu erf functions
* fix(flash-attn-tile): fix the hardcode v type
* fix(flash_attn): fix tile path
* fix: pass editorconfig and address the type conflicts
* fix: remove reduant pipeline keys
* fix: remove inline min/max group size functions and revert the flash attn path order
* fix: use clamp to avoid NaN for GELU
* fix: use the right range for exp, 80 is safer for f32 exp1 parent 89730c8 commit 239a497
6 files changed
Lines changed: 295 additions & 186 deletions
File tree
- ggml/src/ggml-webgpu
- wgsl-shaders
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
187 | 187 | | |
188 | 188 | | |
189 | 189 | | |
| 190 | + | |
190 | 191 | | |
191 | 192 | | |
192 | 193 | | |
| |||
1442 | 1443 | | |
1443 | 1444 | | |
1444 | 1445 | | |
| 1446 | + | |
1445 | 1447 | | |
1446 | 1448 | | |
1447 | 1449 | | |
| |||
1750 | 1752 | | |
1751 | 1753 | | |
1752 | 1754 | | |
| 1755 | + | |
1753 | 1756 | | |
1754 | 1757 | | |
1755 | 1758 | | |
| |||
3469 | 3472 | | |
3470 | 3473 | | |
3471 | 3474 | | |
| 3475 | + | |
3472 | 3476 | | |
3473 | 3477 | | |
3474 | 3478 | | |
| |||
3667 | 3671 | | |
3668 | 3672 | | |
3669 | 3673 | | |
3670 | | - | |
3671 | | - | |
| 3674 | + | |
| 3675 | + | |
| 3676 | + | |
3672 | 3677 | | |
3673 | 3678 | | |
3674 | 3679 | | |
| |||
4024 | 4029 | | |
4025 | 4030 | | |
4026 | 4031 | | |
| 4032 | + | |
| 4033 | + | |
4027 | 4034 | | |
4028 | 4035 | | |
4029 | 4036 | | |
4030 | 4037 | | |
4031 | 4038 | | |
| 4039 | + | |
4032 | 4040 | | |
4033 | 4041 | | |
4034 | 4042 | | |
| |||
4040 | 4048 | | |
4041 | 4049 | | |
4042 | 4050 | | |
4043 | | - | |
4044 | | - | |
4045 | | - | |
| 4051 | + | |
| 4052 | + | |
| 4053 | + | |
4046 | 4054 | | |
4047 | 4055 | | |
4048 | 4056 | | |
4049 | 4057 | | |
4050 | 4058 | | |
4051 | 4059 | | |
4052 | 4060 | | |
4053 | | - | |
4054 | | - | |
4055 | | - | |
| 4061 | + | |
| 4062 | + | |
| 4063 | + | |
4056 | 4064 | | |
4057 | 4065 | | |
4058 | 4066 | | |
| |||
4063 | 4071 | | |
4064 | 4072 | | |
4065 | 4073 | | |
4066 | | - | |
4067 | | - | |
4068 | | - | |
| 4074 | + | |
| 4075 | + | |
| 4076 | + | |
4069 | 4077 | | |
4070 | 4078 | | |
4071 | 4079 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
4 | 22 | | |
5 | 23 | | |
6 | 24 | | |
7 | 25 | | |
8 | 26 | | |
9 | 27 | | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
10 | 31 | | |
11 | 32 | | |
12 | 33 | | |
| |||
41 | 62 | | |
42 | 63 | | |
43 | 64 | | |
44 | | - | |
| 65 | + | |
45 | 66 | | |
46 | | - | |
| 67 | + | |
47 | 68 | | |
48 | 69 | | |
49 | | - | |
50 | | - | |
| 70 | + | |
| 71 | + | |
51 | 72 | | |
52 | 73 | | |
53 | 74 | | |
| |||
92 | 113 | | |
93 | 114 | | |
94 | 115 | | |
95 | | - | |
| 116 | + | |
96 | 117 | | |
97 | 118 | | |
98 | 119 | | |
99 | 120 | | |
100 | 121 | | |
101 | | - | |
102 | | - | |
| 122 | + | |
| 123 | + | |
103 | 124 | | |
104 | | - | |
105 | | - | |
| 125 | + | |
| 126 | + | |
106 | 127 | | |
107 | 128 | | |
108 | 129 | | |
| |||
158 | 179 | | |
159 | 180 | | |
160 | 181 | | |
161 | | - | |
| 182 | + | |
162 | 183 | | |
163 | | - | |
164 | | - | |
| 184 | + | |
| 185 | + | |
165 | 186 | | |
166 | 187 | | |
167 | 188 | | |
| |||
192 | 213 | | |
193 | 214 | | |
194 | 215 | | |
195 | | - | |
196 | | - | |
197 | | - | |
198 | | - | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
199 | 220 | | |
200 | 221 | | |
201 | 222 | | |
| |||
213 | 234 | | |
214 | 235 | | |
215 | 236 | | |
216 | | - | |
217 | | - | |
218 | | - | |
219 | | - | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
220 | 241 | | |
221 | 242 | | |
222 | | - | |
223 | | - | |
224 | | - | |
225 | | - | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
226 | 247 | | |
227 | 248 | | |
228 | 249 | | |
| |||
264 | 285 | | |
265 | 286 | | |
266 | 287 | | |
267 | | - | |
268 | | - | |
269 | | - | |
270 | | - | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
271 | 292 | | |
272 | 293 | | |
273 | 294 | | |
| |||
288 | 309 | | |
289 | 310 | | |
290 | 311 | | |
291 | | - | |
292 | | - | |
293 | | - | |
294 | | - | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
295 | 316 | | |
296 | 317 | | |
297 | 318 | | |
| |||
324 | 345 | | |
325 | 346 | | |
326 | 347 | | |
327 | | - | |
| 348 | + | |
328 | 349 | | |
329 | 350 | | |
330 | 351 | | |
Lines changed: 8 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
5 | 11 | | |
6 | 12 | | |
7 | 13 | | |
| |||
17 | 23 | | |
18 | 24 | | |
19 | 25 | | |
20 | | - | |
| 26 | + | |
21 | 27 | | |
22 | 28 | | |
23 | 29 | | |
| |||
72 | 78 | | |
73 | 79 | | |
74 | 80 | | |
75 | | - | |
| 81 | + | |
76 | 82 | | |
77 | 83 | | |
78 | 84 | | |
0 commit comments