Commit 1bd70cf
[RFC] Implement caching for user defined triton kernels (pytorch#140326)
This PR adds caching for user defined triton kernels by putting the transitive closure of source code in node.meta along with constant arguments.
One HUGE hack we do here is a node looks like
```
triton_kernel_wrapper_functional_proxy = torch.ops.higher_order.triton_kernel_wrapper_functional(kernel_idx = 0, constant_args_idx = 1, grid = [(1, 1, 1)], tma_descriptor_
metadata = {}, kwargs = {'in_ptr0': arg0_1, 'in_ptr1': arg1_1, 'out_ptr': arg0_1}, tensors_to_clone = ['out_ptr']);
```
so we use regex to remove `kernel_idx = 0, constant_args_idx = 1` parts as they are not relevant to cache hash. This is horrible and I'd like to eventually not use pickle as a hashing alternative but this is a longer project.
Differential Revision: [D65895744](https://our.internmc.facebook.com/intern/diff/D65895744)
Pull Request resolved: pytorch#140326
Approved by: https://github.com/zou35191 parent 204fbb3 commit 1bd70cf
File tree
6 files changed
+196
-26
lines changed- test/inductor
- torch
- _functorch/_aot_autograd
- _higher_order_ops
- _inductor
- codegen
- testing/_internal
6 files changed
+196
-26
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
52 | | - | |
| 52 | + | |
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
| |||
494 | 494 | | |
495 | 495 | | |
496 | 496 | | |
497 | | - | |
498 | | - | |
| 497 | + | |
499 | 498 | | |
500 | | - | |
| 499 | + | |
501 | 500 | | |
502 | 501 | | |
503 | 502 | | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
504 | 532 | | |
505 | 533 | | |
506 | 534 | | |
| |||
509 | 537 | | |
510 | 538 | | |
511 | 539 | | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
512 | 548 | | |
513 | 549 | | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
514 | 554 | | |
515 | | - | |
516 | | - | |
517 | 555 | | |
518 | | - | |
519 | | - | |
520 | 556 | | |
521 | | - | |
| 557 | + | |
522 | 558 | | |
523 | | - | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
524 | 588 | | |
525 | 589 | | |
526 | 590 | | |
| |||
808 | 872 | | |
809 | 873 | | |
810 | 874 | | |
811 | | - | |
| 875 | + | |
| 876 | + | |
812 | 877 | | |
813 | 878 | | |
814 | 879 | | |
815 | 880 | | |
816 | 881 | | |
817 | 882 | | |
818 | 883 | | |
819 | | - | |
| 884 | + | |
820 | 885 | | |
821 | 886 | | |
822 | 887 | | |
| |||
827 | 892 | | |
828 | 893 | | |
829 | 894 | | |
830 | | - | |
| 895 | + | |
| 896 | + | |
831 | 897 | | |
832 | 898 | | |
833 | 899 | | |
| |||
933 | 999 | | |
934 | 1000 | | |
935 | 1001 | | |
936 | | - | |
| 1002 | + | |
| 1003 | + | |
937 | 1004 | | |
938 | 1005 | | |
939 | 1006 | | |
| |||
981 | 1048 | | |
982 | 1049 | | |
983 | 1050 | | |
984 | | - | |
| 1051 | + | |
| 1052 | + | |
985 | 1053 | | |
986 | 1054 | | |
987 | 1055 | | |
| |||
1016 | 1084 | | |
1017 | 1085 | | |
1018 | 1086 | | |
1019 | | - | |
| 1087 | + | |
| 1088 | + | |
1020 | 1089 | | |
1021 | 1090 | | |
1022 | 1091 | | |
| |||
1031 | 1100 | | |
1032 | 1101 | | |
1033 | 1102 | | |
| 1103 | + | |
1034 | 1104 | | |
1035 | | - | |
| 1105 | + | |
1036 | 1106 | | |
1037 | 1107 | | |
1038 | 1108 | | |
| |||
1047 | 1117 | | |
1048 | 1118 | | |
1049 | 1119 | | |
1050 | | - | |
| 1120 | + | |
| 1121 | + | |
1051 | 1122 | | |
1052 | 1123 | | |
1053 | 1124 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
227 | 227 | | |
228 | 228 | | |
229 | 229 | | |
230 | | - | |
231 | | - | |
| 230 | + | |
| 231 | + | |
232 | 232 | | |
233 | 233 | | |
234 | 234 | | |
| |||
275 | 275 | | |
276 | 276 | | |
277 | 277 | | |
278 | | - | |
| 278 | + | |
279 | 279 | | |
280 | 280 | | |
281 | 281 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
613 | 613 | | |
614 | 614 | | |
615 | 615 | | |
616 | | - | |
| 616 | + | |
617 | 617 | | |
618 | 618 | | |
619 | 619 | | |
| |||
638 | 638 | | |
639 | 639 | | |
640 | 640 | | |
641 | | - | |
| 641 | + | |
642 | 642 | | |
643 | 643 | | |
644 | 644 | | |
| |||
774 | 774 | | |
775 | 775 | | |
776 | 776 | | |
| 777 | + | |
| 778 | + | |
| 779 | + | |
| 780 | + | |
| 781 | + | |
| 782 | + | |
| 783 | + | |
| 784 | + | |
| 785 | + | |
| 786 | + | |
| 787 | + | |
| 788 | + | |
| 789 | + | |
| 790 | + | |
| 791 | + | |
| 792 | + | |
| 793 | + | |
| 794 | + | |
| 795 | + | |
| 796 | + | |
777 | 797 | | |
778 | 798 | | |
779 | 799 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
| |||
525 | 526 | | |
526 | 527 | | |
527 | 528 | | |
528 | | - | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
529 | 535 | | |
530 | 536 | | |
531 | 537 | | |
| |||
548 | 554 | | |
549 | 555 | | |
550 | 556 | | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
551 | 562 | | |
552 | 563 | | |
553 | 564 | | |
| |||
614 | 625 | | |
615 | 626 | | |
616 | 627 | | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
617 | 647 | | |
618 | 648 | | |
619 | 649 | | |
| |||
775 | 805 | | |
776 | 806 | | |
777 | 807 | | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
| 811 | + | |
| 812 | + | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
| 817 | + | |
| 818 | + | |
| 819 | + | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
| 829 | + | |
| 830 | + | |
| 831 | + | |
| 832 | + | |
| 833 | + | |
| 834 | + | |
| 835 | + | |
| 836 | + | |
778 | 837 | | |
779 | 838 | | |
780 | 839 | | |
| |||
833 | 892 | | |
834 | 893 | | |
835 | 894 | | |
836 | | - | |
| 895 | + | |
| 896 | + | |
| 897 | + | |
| 898 | + | |
837 | 899 | | |
838 | 900 | | |
839 | 901 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
241 | 241 | | |
242 | 242 | | |
243 | 243 | | |
244 | | - | |
| 244 | + | |
245 | 245 | | |
246 | 246 | | |
247 | 247 | | |
| |||
0 commit comments