Commit e920c52
authored
vulkan: Use native e2m1 and e4m3 conversions for mxfp4/nvfp4 (ggml-org#25338)
This uses the new VK_EXT_shader_ocp_microscaling_types extension to do fp4 type
promotions, and also uses the float8 extension to do ue4m3 promotions for
nvfp4. It's reasonable to assume that an implementation that supports fp4 will
also support fp8, so we don't need to handle all possible combinations of
support.1 parent 259ae1d commit e920c52
10 files changed
Lines changed: 345 additions & 64 deletions
File tree
- ggml/src/ggml-vulkan
- vulkan-shaders
- feature-tests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
97 | 97 | | |
98 | 98 | | |
99 | 99 | | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
100 | 112 | | |
101 | 113 | | |
102 | 114 | | |
| |||
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
26 | 34 | | |
27 | 35 | | |
28 | 36 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
480 | 480 | | |
481 | 481 | | |
482 | 482 | | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
483 | 486 | | |
| 487 | + | |
484 | 488 | | |
485 | 489 | | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
486 | 495 | | |
487 | 496 | | |
488 | 497 | | |
| 498 | + | |
489 | 499 | | |
490 | 500 | | |
491 | 501 | | |
| |||
495 | 505 | | |
496 | 506 | | |
497 | 507 | | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
498 | 512 | | |
499 | 513 | | |
500 | 514 | | |
501 | 515 | | |
502 | 516 | | |
| 517 | + | |
503 | 518 | | |
504 | 519 | | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
505 | 528 | | |
506 | 529 | | |
507 | 530 | | |
| 531 | + | |
508 | 532 | | |
509 | 533 | | |
510 | 534 | | |
| |||
Lines changed: 27 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1232 | 1232 | | |
1233 | 1233 | | |
1234 | 1234 | | |
| 1235 | + | |
| 1236 | + | |
| 1237 | + | |
1235 | 1238 | | |
1236 | 1239 | | |
1237 | 1240 | | |
1238 | 1241 | | |
1239 | 1242 | | |
| 1243 | + | |
1240 | 1244 | | |
1241 | 1245 | | |
1242 | 1246 | | |
| |||
1245 | 1249 | | |
1246 | 1250 | | |
1247 | 1251 | | |
| 1252 | + | |
| 1253 | + | |
| 1254 | + | |
| 1255 | + | |
| 1256 | + | |
| 1257 | + | |
| 1258 | + | |
| 1259 | + | |
| 1260 | + | |
| 1261 | + | |
1248 | 1262 | | |
1249 | 1263 | | |
1250 | 1264 | | |
| |||
1257 | 1271 | | |
1258 | 1272 | | |
1259 | 1273 | | |
| 1274 | + | |
1260 | 1275 | | |
1261 | 1276 | | |
1262 | 1277 | | |
| |||
1275 | 1290 | | |
1276 | 1291 | | |
1277 | 1292 | | |
| 1293 | + | |
| 1294 | + | |
| 1295 | + | |
| 1296 | + | |
1278 | 1297 | | |
1279 | 1298 | | |
1280 | 1299 | | |
1281 | 1300 | | |
| 1301 | + | |
1282 | 1302 | | |
1283 | 1303 | | |
1284 | 1304 | | |
| |||
1288 | 1308 | | |
1289 | 1309 | | |
1290 | 1310 | | |
1291 | | - | |
1292 | 1311 | | |
1293 | 1312 | | |
| 1313 | + | |
| 1314 | + | |
| 1315 | + | |
| 1316 | + | |
| 1317 | + | |
| 1318 | + | |
1294 | 1319 | | |
1295 | 1320 | | |
1296 | 1321 | | |
1297 | 1322 | | |
1298 | 1323 | | |
1299 | 1324 | | |
1300 | 1325 | | |
| 1326 | + | |
1301 | 1327 | | |
1302 | 1328 | | |
1303 | 1329 | | |
| |||
Lines changed: 7 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
Lines changed: 7 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
502 | 502 | | |
503 | 503 | | |
504 | 504 | | |
505 | | - | |
506 | 505 | | |
507 | 506 | | |
508 | 507 | | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
509 | 515 | | |
510 | 516 | | |
511 | 517 | | |
512 | 518 | | |
| 519 | + | |
513 | 520 | | |
514 | 521 | | |
515 | 522 | | |
| |||
519 | 526 | | |
520 | 527 | | |
521 | 528 | | |
522 | | - | |
523 | 529 | | |
524 | 530 | | |
525 | 531 | | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
526 | 539 | | |
527 | 540 | | |
528 | 541 | | |
529 | 542 | | |
530 | 543 | | |
| 544 | + | |
531 | 545 | | |
532 | 546 | | |
533 | 547 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
10 | 15 | | |
11 | 16 | | |
12 | 17 | | |
| |||
1730 | 1735 | | |
1731 | 1736 | | |
1732 | 1737 | | |
| 1738 | + | |
| 1739 | + | |
| 1740 | + | |
| 1741 | + | |
| 1742 | + | |
| 1743 | + | |
1733 | 1744 | | |
1734 | 1745 | | |
1735 | 1746 | | |
| |||
1741 | 1752 | | |
1742 | 1753 | | |
1743 | 1754 | | |
| 1755 | + | |
1744 | 1756 | | |
1745 | 1757 | | |
1746 | 1758 | | |
| |||
1764 | 1776 | | |
1765 | 1777 | | |
1766 | 1778 | | |
| 1779 | + | |
1767 | 1780 | | |
1768 | 1781 | | |
1769 | 1782 | | |
1770 | 1783 | | |
1771 | 1784 | | |
1772 | 1785 | | |
| 1786 | + | |
1773 | 1787 | | |
1774 | | - | |
| 1788 | + | |
1775 | 1789 | | |
1776 | 1790 | | |
1777 | 1791 | | |
| |||
1789 | 1803 | | |
1790 | 1804 | | |
1791 | 1805 | | |
| 1806 | + | |
1792 | 1807 | | |
1793 | 1808 | | |
1794 | 1809 | | |
| |||
1804 | 1819 | | |
1805 | 1820 | | |
1806 | 1821 | | |
| 1822 | + | |
1807 | 1823 | | |
1808 | 1824 | | |
1809 | 1825 | | |
| |||
1838 | 1854 | | |
1839 | 1855 | | |
1840 | 1856 | | |
| 1857 | + | |
| 1858 | + | |
| 1859 | + | |
| 1860 | + | |
| 1861 | + | |
| 1862 | + | |
| 1863 | + | |
| 1864 | + | |
| 1865 | + | |
1841 | 1866 | | |
| 1867 | + | |
| 1868 | + | |
| 1869 | + | |
1842 | 1870 | | |
| 1871 | + | |
1843 | 1872 | | |
1844 | 1873 | | |
1845 | 1874 | | |
| |||
Lines changed: 44 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
610 | 610 | | |
611 | 611 | | |
612 | 612 | | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
613 | 622 | | |
614 | 623 | | |
615 | 624 | | |
| |||
732 | 741 | | |
733 | 742 | | |
734 | 743 | | |
| 744 | + | |
| 745 | + | |
| 746 | + | |
| 747 | + | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
735 | 758 | | |
736 | 759 | | |
737 | 760 | | |
| |||
1233 | 1256 | | |
1234 | 1257 | | |
1235 | 1258 | | |
| 1259 | + | |
| 1260 | + | |
| 1261 | + | |
| 1262 | + | |
| 1263 | + | |
| 1264 | + | |
| 1265 | + | |
| 1266 | + | |
| 1267 | + | |
| 1268 | + | |
| 1269 | + | |
| 1270 | + | |
| 1271 | + | |
| 1272 | + | |
| 1273 | + | |
| 1274 | + | |
| 1275 | + | |
| 1276 | + | |
| 1277 | + | |
| 1278 | + | |
| 1279 | + | |
1236 | 1280 | | |
1237 | 1281 | | |
1238 | 1282 | | |
| |||
0 commit comments