[Kernel][Perf] Add TP=2/4/8 per-rank shapes to the sm_120 batch-invariant matmul table (#58495)
Signed-off-by: LioEinaudi <zhao3024667639@gmail.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Lio Einaudi committed
Sep 30, 2026 at 07:51 UTC
4e0a414c440e489d472a797ff1028cfc41565693
1 file changed
+615
vllm/model_executor/determinism/batch_invariant_configs.py
+615
@@ -480,6 +480,621 @@ _BATCH_INVARIANT_MATMUL_TUNED_CONFIGS: dict[
480
(2048, _MatmulMConfig(64, 128, 4, 3)),
481
),
482
),
483
+ (6144, 2048): _MatmulShapeConfig( # Qwen3-1.7B tp2_gate_up_proj
484
+ block_k=64,
485
+ m_buckets=(
486
+ (1, _MatmulMConfig(16, 32, 8, 3)),
487
+ (4, _MatmulMConfig(16, 128, 8, 5)),
488
+ (8, _MatmulMConfig(16, 128, 4, 5)),
489
+ (16, _MatmulMConfig(16, 32, 4, 5)),
490
+ (32, _MatmulMConfig(32, 128, 8, 5)),
491
+ (64, _MatmulMConfig(32, 128, 4, 4)),
492
+ (256, _MatmulMConfig(128, 128, 4, 3)),
493
+ (512, _MatmulMConfig(64, 64, 4, 5)),
494
+ (1024, _MatmulMConfig(128, 64, 4, 3)),
495
+ (2048, _MatmulMConfig(128, 128, 4, 3)),
496
+ ),
497
+ ),
498
+ (2048, 3072): _MatmulShapeConfig( # Qwen3-1.7B tp2_down_proj
499
+ block_k=128,
500
+ m_buckets=(
501
+ (1, _MatmulMConfig(16, 32, 8, 5)),
502
+ (4, _MatmulMConfig(16, 64, 4, 3)),
503
+ (8, _MatmulMConfig(16, 64, 8, 4)),
504
+ (16, _MatmulMConfig(16, 64, 8, 3)),
505
+ (32, _MatmulMConfig(16, 64, 8, 3)),
506
+ (64, _MatmulMConfig(16, 64, 4, 5)),
507
+ (256, _MatmulMConfig(64, 64, 8, 3)),
508
+ (512, _MatmulMConfig(64, 128, 4, 3)),
509
+ (1024, _MatmulMConfig(64, 64, 4, 3)),
510
+ (2048, _MatmulMConfig(64, 128, 4, 3)),
511
+ ),
512
+ ),
513
+ (2048, 1024): _MatmulShapeConfig( # Qwen3-1.7B tp2_o_proj
514
+ block_k=64,
515
+ m_buckets=(
516
+ (1, _MatmulMConfig(16, 256, 8, 2)),
517
+ (4, _MatmulMConfig(16, 32, 8, 4)),
518
+ (8, _MatmulMConfig(32, 128, 8, 5)),
519
+ (16, _MatmulMConfig(32, 128, 4, 4)),
520
+ (32, _MatmulMConfig(64, 128, 4, 3)),
521
+ (64, _MatmulMConfig(16, 256, 4, 3)),
522
+ (256, _MatmulMConfig(32, 128, 4, 3)),
523
+ (512, _MatmulMConfig(64, 128, 4, 4)),
524
+ (1024, _MatmulMConfig(128, 128, 8, 3)),
525
+ (2048, _MatmulMConfig(64, 128, 4, 5)),
526
+ ),
527
+ ),
528
+ (75968, 2048): _MatmulShapeConfig( # Qwen3-1.7B tp2_lm_head
529
+ block_k=64,
530
+ m_buckets=(
531
+ (1, _MatmulMConfig(16, 256, 8, 3)),
532
+ (4, _MatmulMConfig(16, 256, 8, 3)),
533
+ (8, _MatmulMConfig(16, 256, 8, 3)),
534
+ (16, _MatmulMConfig(16, 256, 4, 3)),
535
+ (32, _MatmulMConfig(32, 256, 8, 3)),
536
+ (64, _MatmulMConfig(64, 256, 8, 3)),
537
+ (256, _MatmulMConfig(64, 128, 4, 5)),
538
+ (512, _MatmulMConfig(128, 128, 4, 3)),
539
+ (1024, _MatmulMConfig(128, 128, 4, 3)),
540
+ (2048, _MatmulMConfig(128, 128, 4, 3)),
541
+ ),
542
+ ),
543
+ (3072, 2048): _MatmulShapeConfig( # Qwen3-1.7B tp4_gate_up_proj
544
+ block_k=64,
545
+ m_buckets=(
546
+ (1, _MatmulMConfig(16, 256, 4, 3)),
547
+ (4, _MatmulMConfig(32, 128, 4, 5)),
548
+ (8, _MatmulMConfig(16, 128, 8, 3)),
549
+ (16, _MatmulMConfig(32, 128, 8, 4)),
550
+ (32, _MatmulMConfig(32, 128, 8, 5)),
551
+ (64, _MatmulMConfig(64, 32, 8, 3)),
552
+ (256, _MatmulMConfig(128, 64, 8, 3)),
553
+ (512, _MatmulMConfig(128, 128, 4, 3)),
554
+ (1024, _MatmulMConfig(64, 64, 4, 5)),
555
+ (2048, _MatmulMConfig(64, 128, 8, 4)),
556
+ ),
557
+ ),
558
+ (2048, 1536): _MatmulShapeConfig( # Qwen3-1.7B tp4_down_proj
559
+ block_k=64,
560
+ m_buckets=(
561
+ (1, _MatmulMConfig(16, 128, 8, 2)),
562
+ (4, _MatmulMConfig(16, 256, 4, 3)),
563
+ (8, _MatmulMConfig(32, 128, 4, 2)),
564
+ (16, _MatmulMConfig(32, 32, 8, 5)),
565
+ (32, _MatmulMConfig(32, 32, 8, 4)),
566
+ (64, _MatmulMConfig(32, 128, 4, 4)),
567
+ (256, _MatmulMConfig(64, 64, 4, 3)),
568
+ (512, _MatmulMConfig(128, 64, 8, 4)),
569
+ (1024, _MatmulMConfig(128, 128, 4, 3)),
570
+ (2048, _MatmulMConfig(128, 64, 8, 4)),
571
+ ),
572
+ ),
573
+ (1024, 2048): _MatmulShapeConfig( # Qwen3-1.7B tp4_qkv_proj
574
+ block_k=64,
575
+ m_buckets=(
576
+ (1, _MatmulMConfig(32, 128, 8, 4)),
577
+ (4, _MatmulMConfig(16, 32, 8, 4)),
578
+ (8, _MatmulMConfig(16, 32, 4, 4)),
579
+ (16, _MatmulMConfig(32, 128, 8, 3)),
580
+ (32, _MatmulMConfig(32, 128, 8, 4)),
581
+ (64, _MatmulMConfig(32, 64, 4, 5)),
582
+ (256, _MatmulMConfig(64, 32, 4, 3)),
583
+ (512, _MatmulMConfig(64, 64, 4, 3)),
584
+ (1024, _MatmulMConfig(64, 128, 4, 5)),
585
+ (2048, _MatmulMConfig(128, 128, 8, 3)),
586
+ ),
587
+ ),
588
+ (2048, 512): _MatmulShapeConfig( # Qwen3-1.7B tp4_o_proj
589
+ block_k=64,
590
+ m_buckets=(
591
+ (1, _MatmulMConfig(32, 32, 4, 5)),
592
+ (4, _MatmulMConfig(64, 128, 4, 2)),
593
+ (8, _MatmulMConfig(16, 128, 4, 2)),
594
+ (16, _MatmulMConfig(16, 256, 8, 3)),
595
+ (32, _MatmulMConfig(64, 32, 8, 4)),
596
+ (64, _MatmulMConfig(16, 128, 8, 4)),
597
+ (256, _MatmulMConfig(64, 64, 8, 5)),
598
+ (512, _MatmulMConfig(32, 128, 8, 4)),
599
+ (1024, _MatmulMConfig(64, 64, 8, 3)),
600
+ (2048, _MatmulMConfig(64, 128, 8, 3)),
601
+ ),
602
+ ),
603
+ (37984, 2048): _MatmulShapeConfig( # Qwen3-1.7B tp4_lm_head
604
+ block_k=64,
605
+ m_buckets=(
606
+ (1, _MatmulMConfig(16, 128, 8, 4)),
607
+ (4, _MatmulMConfig(16, 128, 8, 5)),
608
+ (8, _MatmulMConfig(16, 128, 4, 5)),
609
+ (16, _MatmulMConfig(16, 128, 8, 4)),
610
+ (32, _MatmulMConfig(32, 128, 4, 5)),
611
+ (64, _MatmulMConfig(64, 128, 4, 5)),
612
+ (256, _MatmulMConfig(64, 128, 4, 5)),
613
+ (512, _MatmulMConfig(128, 128, 4, 3)),
614
+ (1024, _MatmulMConfig(128, 128, 4, 3)),
615
+ (2048, _MatmulMConfig(128, 128, 4, 3)),
616
+ ),
617
+ ),
618
+ (1536, 2048): _MatmulShapeConfig( # Qwen3-1.7B tp8_gate_up_proj
619
+ block_k=64,
620
+ m_buckets=(
621
+ (1, _MatmulMConfig(32, 128, 8, 3)),
622
+ (4, _MatmulMConfig(16, 256, 4, 3)),
623
+ (8, _MatmulMConfig(16, 32, 8, 5)),
624
+ (16, _MatmulMConfig(32, 32, 8, 3)),
625
+ (32, _MatmulMConfig(32, 128, 8, 4)),
626
+ (64, _MatmulMConfig(16, 128, 8, 4)),
627
+ (256, _MatmulMConfig(32, 128, 8, 3)),
628
+ (512, _MatmulMConfig(64, 128, 8, 4)),
629
+ (1024, _MatmulMConfig(128, 128, 4, 3)),
630
+ (2048, _MatmulMConfig(64, 64, 4, 4)),
631
+ ),
632
+ ),
633
+ (2048, 768): _MatmulShapeConfig( # Qwen3-1.7B tp8_down_proj
634
+ block_k=128,
635
+ m_buckets=(
636
+ (1, _MatmulMConfig(32, 64, 4, 3)),
637
+ (4, _MatmulMConfig(32, 64, 8, 3)),
638
+ (8, _MatmulMConfig(16, 32, 4, 5)),
639
+ (16, _MatmulMConfig(32, 64, 4, 2)),
640
+ (32, _MatmulMConfig(16, 64, 8, 3)),
641
+ (64, _MatmulMConfig(16, 32, 8, 2)),
642
+ (256, _MatmulMConfig(32, 32, 4, 4)),
643
+ (512, _MatmulMConfig(32, 64, 4, 5)),
644
+ (1024, _MatmulMConfig(64, 128, 4, 3)),
645
+ (2048, _MatmulMConfig(64, 128, 4, 3)),
646
+ ),
647
+ ),
648
+ (512, 2048): _MatmulShapeConfig( # Qwen3-1.7B tp8_qkv_proj
649
+ block_k=64,
650
+ m_buckets=(
651
+ (1, _MatmulMConfig(64, 64, 8, 5)),
652
+ (4, _MatmulMConfig(16, 32, 4, 4)),
653
+ (8, _MatmulMConfig(16, 32, 4, 5)),
654
+ (16, _MatmulMConfig(32, 128, 8, 3)),
655
+ (32, _MatmulMConfig(64, 64, 8, 5)),
656
+ (64, _MatmulMConfig(32, 128, 8, 4)),
657
+ (256, _MatmulMConfig(16, 128, 4, 4)),
658
+ (512, _MatmulMConfig(32, 64, 8, 3)),
659
+ (1024, _MatmulMConfig(64, 64, 4, 4)),
660
+ (2048, _MatmulMConfig(64, 128, 4, 4)),
661
+ ),
662
+ ),
663
+ (2048, 256): _MatmulShapeConfig( # Qwen3-1.7B tp8_o_proj
664
+ block_k=64,
665
+ m_buckets=(
666
+ (1, _MatmulMConfig(32, 128, 8, 2)),
667
+ (4, _MatmulMConfig(16, 128, 4, 2)),
668
+ (8, _MatmulMConfig(32, 256, 4, 2)),
669
+ (16, _MatmulMConfig(32, 32, 8, 4)),
670
+ (32, _MatmulMConfig(16, 256, 4, 3)),
671
+ (64, _MatmulMConfig(128, 32, 8, 3)),
672
+ (256, _MatmulMConfig(16, 32, 8, 2)),
673
+ (512, _MatmulMConfig(16, 32, 4, 3)),
674
+ (1024, _MatmulMConfig(64, 256, 4, 3)),
675
+ (2048, _MatmulMConfig(64, 128, 8, 4)),
676
+ ),
677
+ ),
678
+ (18992, 2048): _MatmulShapeConfig( # Qwen3-1.7B tp8_lm_head
679
+ block_k=64,
680
+ m_buckets=(
681
+ (1, _MatmulMConfig(16, 64, 8, 5)),
682
+ (4, _MatmulMConfig(16, 128, 8, 5)),
683
+ (8, _MatmulMConfig(16, 128, 8, 3)),
684
+ (16, _MatmulMConfig(16, 128, 4, 5)),
685
+ (32, _MatmulMConfig(32, 128, 8, 5)),
686
+ (64, _MatmulMConfig(64, 128, 8, 4)),
687
+ (256, _MatmulMConfig(128, 128, 4, 3)),
688
+ (512, _MatmulMConfig(128, 128, 4, 3)),
689
+ (1024, _MatmulMConfig(128, 128, 8, 3)),
690
+ (2048, _MatmulMConfig(128, 128, 4, 3)),
691
+ ),
692
+ ),
693
+ (9728, 2560): _MatmulShapeConfig( # Qwen3-4B tp2_gate_up_proj
694
+ block_k=64,
695
+ m_buckets=(
696
+ (1, _MatmulMConfig(16, 32, 8, 4)),
697
+ (4, _MatmulMConfig(16, 64, 8, 3)),
698
+ (8, _MatmulMConfig(16, 128, 4, 5)),
699
+ (16, _MatmulMConfig(16, 32, 4, 5)),
700
+ (32, _MatmulMConfig(32, 64, 8, 4)),
701
+ (64, _MatmulMConfig(32, 128, 4, 3)),
702
+ (256, _MatmulMConfig(128, 128, 4, 3)),
703
+ (512, _MatmulMConfig(128, 128, 4, 3)),
704
+ (1024, _MatmulMConfig(64, 128, 4, 5)),
705
+ (2048, _MatmulMConfig(128, 128, 4, 3)),
706
+ ),
707
+ ),
708
+ (2560, 4864): _MatmulShapeConfig( # Qwen3-4B tp2_down_proj
709
+ block_k=128,
710
+ m_buckets=(
711
+ (1, _MatmulMConfig(16, 32, 4, 3)),
712
+ (4, _MatmulMConfig(16, 128, 8, 3)),
713
+ (8, _MatmulMConfig(16, 64, 8, 4)),
714
+ (16, _MatmulMConfig(32, 64, 8, 4)),
715
+ (32, _MatmulMConfig(16, 64, 4, 3)),
716
+ (64, _MatmulMConfig(32, 32, 8, 4)),
717
+ (256, _MatmulMConfig(64, 64, 4, 3)),
718
+ (512, _MatmulMConfig(64, 128, 4, 3)),
719
+ (1024, _MatmulMConfig(64, 128, 4, 3)),
720
+ (2048, _MatmulMConfig(64, 128, 4, 3)),
721
+ ),
722
+ ),
723
+ (3072, 2560): _MatmulShapeConfig( # Qwen3-4B tp2_qkv_proj
724
+ block_k=128,
725
+ m_buckets=(
726
+ (1, _MatmulMConfig(16, 128, 8, 3)),
727
+ (4, _MatmulMConfig(16, 32, 8, 2)),
728
+ (8, _MatmulMConfig(16, 32, 8, 4)),
729
+ (16, _MatmulMConfig(16, 64, 4, 3)),
730
+ (32, _MatmulMConfig(32, 64, 4, 4)),
731
+ (64, _MatmulMConfig(16, 128, 4, 3)),
732
+ (256, _MatmulMConfig(64, 128, 4, 3)),
733
+ (512, _MatmulMConfig(64, 64, 4, 3)),
734
+ (1024, _MatmulMConfig(64, 128, 4, 3)),
735
+ (2048, _MatmulMConfig(64, 128, 4, 3)),
736
+ ),
737
+ ),
738
+ (2560, 2048): _MatmulShapeConfig( # Qwen3-4B tp2_o_proj
739
+ block_k=64,
740
+ m_buckets=(
741
+ (1, _MatmulMConfig(32, 128, 8, 4)),
742
+ (4, _MatmulMConfig(32, 128, 4, 4)),
743
+ (8, _MatmulMConfig(16, 128, 4, 3)),
744
+ (16, _MatmulMConfig(32, 128, 4, 5)),
745
+ (32, _MatmulMConfig(16, 128, 8, 4)),
746
+ (64, _MatmulMConfig(16, 128, 8, 4)),
747
+ (256, _MatmulMConfig(128, 32, 8, 5)),
748
+ (512, _MatmulMConfig(128, 64, 8, 3)),
749
+ (1024, _MatmulMConfig(128, 128, 4, 3)),
750
+ (2048, _MatmulMConfig(128, 128, 8, 3)),
751
+ ),
752
+ ),
753
+ (75968, 2560): _MatmulShapeConfig( # Qwen3-4B tp2_lm_head
754
+ block_k=64,
755
+ m_buckets=(
756
+ (1, _MatmulMConfig(16, 64, 8, 5)),
757
+ (4, _MatmulMConfig(16, 64, 8, 5)),
758
+ (8, _MatmulMConfig(16, 64, 4, 5)),
759
+ (16, _MatmulMConfig(16, 64, 4, 5)),
760
+ (32, _MatmulMConfig(32, 64, 4, 5)),
761
+ (64, _MatmulMConfig(64, 256, 4, 3)),
762
+ (256, _MatmulMConfig(64, 128, 4, 5)),
763
+ (512, _MatmulMConfig(128, 128, 4, 3)),
764
+ (1024, _MatmulMConfig(128, 128, 4, 3)),
765
+ (2048, _MatmulMConfig(128, 128, 8, 3)),
766
+ ),
767
+ ),
768
+ (4864, 2560): _MatmulShapeConfig( # Qwen3-4B tp4_gate_up_proj
769
+ block_k=64,
770
+ m_buckets=(
771
+ (1, _MatmulMConfig(16, 32, 8, 5)),
772
+ (4, _MatmulMConfig(16, 128, 4, 4)),
773
+ (8, _MatmulMConfig(16, 32, 8, 4)),
774
+ (16, _MatmulMConfig(16, 128, 8, 4)),
775
+ (32, _MatmulMConfig(16, 128, 4, 5)),
776
+ (64, _MatmulMConfig(16, 128, 4, 3)),
777
+ (256, _MatmulMConfig(64, 128, 4, 5)),
778
+ (512, _MatmulMConfig(128, 128, 4, 3)),
779
+ (1024, _MatmulMConfig(128, 128, 4, 3)),
780
+ (2048, _MatmulMConfig(128, 128, 4, 3)),
781
+ ),
782
+ ),
783
+ (2560, 2432): _MatmulShapeConfig( # Qwen3-4B tp4_down_proj
784
+ block_k=64,
785
+ m_buckets=(
786
+ (1, _MatmulMConfig(16, 32, 8, 4)),
787
+ (4, _MatmulMConfig(16, 32, 4, 5)),
788
+ (8, _MatmulMConfig(32, 64, 8, 4)),
789
+ (16, _MatmulMConfig(32, 128, 8, 5)),
790
+ (32, _MatmulMConfig(16, 128, 4, 4)),
791
+ (64, _MatmulMConfig(64, 32, 4, 3)),
792
+ (256, _MatmulMConfig(32, 128, 8, 4)),
793
+ (512, _MatmulMConfig(64, 128, 4, 5)),
794
+ (1024, _MatmulMConfig(128, 128, 4, 3)),
795
+ (2048, _MatmulMConfig(128, 128, 4, 3)),
796
+ ),
797
+ ),
798
+ (1536, 2560): _MatmulShapeConfig( # Qwen3-4B tp4_qkv_proj
799
+ block_k=64,
800
+ m_buckets=(
801
+ (1, _MatmulMConfig(16, 32, 8, 4)),
802
+ (4, _MatmulMConfig(16, 32, 8, 3)),
803
+ (8, _MatmulMConfig(16, 32, 4, 4)),
804
+ (16, _MatmulMConfig(32, 128, 8, 3)),
805
+ (32, _MatmulMConfig(16, 128, 4, 3)),
806
+ (64, _MatmulMConfig(16, 64, 8, 4)),
807
+ (256, _MatmulMConfig(128, 32, 4, 5)),
808
+ (512, _MatmulMConfig(64, 128, 4, 5)),
809
+ (1024, _MatmulMConfig(64, 256, 4, 3)),
810
+ (2048, _MatmulMConfig(64, 128, 4, 4)),
811
+ ),
812
+ ),
813
+ (2560, 1024): _MatmulShapeConfig( # Qwen3-4B tp4_o_proj
814
+ block_k=64,
815
+ m_buckets=(
816
+ (1, _MatmulMConfig(32, 128, 8, 5)),
817
+ (4, _MatmulMConfig(16, 32, 8, 3)),
818
+ (8, _MatmulMConfig(16, 128, 4, 3)),
819
+ (16, _MatmulMConfig(32, 256, 4, 3)),
820
+ (32, _MatmulMConfig(16, 128, 4, 2)),
821
+ (64, _MatmulMConfig(32, 256, 8, 3)),
822
+ (256, _MatmulMConfig(32, 128, 4, 5)),
823
+ (512, _MatmulMConfig(64, 128, 8, 3)),
824
+ (1024, _MatmulMConfig(128, 128, 4, 3)),
825
+ (2048, _MatmulMConfig(128, 128, 4, 3)),
826
+ ),
827
+ ),
828
+ (37984, 2560): _MatmulShapeConfig( # Qwen3-4B tp4_lm_head
829
+ block_k=128,
830
+ m_buckets=(
831
+ (1, _MatmulMConfig(16, 128, 8, 3)),
832
+ (4, _MatmulMConfig(16, 128, 8, 3)),
833
+ (8, _MatmulMConfig(16, 128, 4, 3)),
834
+ (16, _MatmulMConfig(16, 32, 4, 5)),
835
+ (32, _MatmulMConfig(16, 32, 4, 5)),
836
+ (64, _MatmulMConfig(32, 32, 4, 5)),
837
+ (256, _MatmulMConfig(64, 128, 4, 3)),
838
+ (512, _MatmulMConfig(64, 128, 4, 3)),
839
+ (1024, _MatmulMConfig(64, 128, 4, 3)),
840
+ (2048, _MatmulMConfig(64, 128, 4, 3)),
841
+ ),
842
+ ),
843
+ (2432, 2560): _MatmulShapeConfig( # Qwen3-4B tp8_gate_up_proj
844
+ block_k=64,
845
+ m_buckets=(
846
+ (1, _MatmulMConfig(16, 32, 4, 5)),
847
+ (4, _MatmulMConfig(32, 128, 4, 3)),
848
+ (8, _MatmulMConfig(16, 128, 8, 3)),
849
+ (16, _MatmulMConfig(16, 128, 4, 4)),
850
+ (32, _MatmulMConfig(16, 128, 8, 4)),
851
+ (64, _MatmulMConfig(16, 128, 4, 3)),
852
+ (256, _MatmulMConfig(64, 64, 4, 5)),
853
+ (512, _MatmulMConfig(64, 128, 4, 4)),
854
+ (1024, _MatmulMConfig(128, 128, 8, 3)),
855
+ (2048, _MatmulMConfig(128, 128, 4, 3)),
856
+ ),
857
+ ),
858
+ (2560, 1216): _MatmulShapeConfig( # Qwen3-4B tp8_down_proj
859
+ block_k=64,
860
+ m_buckets=(
861
+ (1, _MatmulMConfig(16, 256, 8, 2)),
862
+ (4, _MatmulMConfig(16, 128, 8, 4)),
863
+ (8, _MatmulMConfig(16, 32, 4, 3)),
864
+ (16, _MatmulMConfig(32, 32, 4, 3)),
865
+ (32, _MatmulMConfig(16, 128, 8, 4)),
866
+ (64, _MatmulMConfig(32, 128, 8, 4)),
867
+ (256, _MatmulMConfig(32, 128, 4, 5)),
868
+ (512, _MatmulMConfig(64, 128, 8, 4)),
869
+ (1024, _MatmulMConfig(64, 256, 4, 3)),
870
+ (2048, _MatmulMConfig(128, 128, 4, 3)),
871
+ ),
872
+ ),
873
+ (768, 2560): _MatmulShapeConfig( # Qwen3-4B tp8_qkv_proj
874
+ block_k=128,
875
+ m_buckets=(
876
+ (1, _MatmulMConfig(32, 32, 4, 2)),
877
+ (4, _MatmulMConfig(16, 64, 8, 3)),
878
+ (8, _MatmulMConfig(16, 64, 8, 4)),
879
+ (16, _MatmulMConfig(16, 64, 4, 5)),
880
+ (32, _MatmulMConfig(32, 64, 8, 4)),
881
+ (64, _MatmulMConfig(16, 64, 8, 4)),
882
+ (256, _MatmulMConfig(64, 32, 4, 5)),
883
+ (512, _MatmulMConfig(64, 64, 8, 3)),
884
+ (1024, _MatmulMConfig(64, 128, 4, 3)),
885
+ (2048, _MatmulMConfig(64, 64, 4, 3)),
886
+ ),
887
+ ),
888
+ (2560, 512): _MatmulShapeConfig( # Qwen3-4B tp8_o_proj
889
+ block_k=64,
890
+ m_buckets=(
891
+ (1, _MatmulMConfig(16, 128, 8, 4)),
892
+ (4, _MatmulMConfig(16, 32, 4, 2)),
893
+ (8, _MatmulMConfig(16, 128, 4, 5)),
894
+ (16, _MatmulMConfig(32, 32, 4, 5)),
895
+ (32, _MatmulMConfig(32, 256, 4, 3)),
896
+ (64, _MatmulMConfig(32, 128, 8, 5)),
897
+ (256, _MatmulMConfig(16, 256, 4, 2)),
898
+ (512, _MatmulMConfig(32, 128, 8, 4)),
899
+ (1024, _MatmulMConfig(128, 128, 8, 3)),
900
+ (2048, _MatmulMConfig(128, 128, 4, 3)),
901
+ ),
902
+ ),
903
+ (18992, 2560): _MatmulShapeConfig( # Qwen3-4B tp8_lm_head
904
+ block_k=64,
905
+ m_buckets=(
906
+ (1, _MatmulMConfig(16, 64, 8, 4)),
907
+ (4, _MatmulMConfig(16, 64, 8, 5)),
908
+ (8, _MatmulMConfig(16, 128, 8, 3)),
909
+ (16, _MatmulMConfig(16, 128, 8, 5)),
910
+ (32, _MatmulMConfig(32, 128, 8, 5)),
911
+ (64, _MatmulMConfig(64, 128, 8, 4)),
912
+ (256, _MatmulMConfig(128, 128, 4, 3)),
913
+ (512, _MatmulMConfig(128, 128, 4, 3)),
914
+ (1024, _MatmulMConfig(128, 128, 4, 3)),
915
+ (2048, _MatmulMConfig(128, 128, 4, 3)),
916
+ ),
917
+ ),
918
+ (12288, 4096): _MatmulShapeConfig( # Qwen3-8B tp2_gate_up_proj
919
+ block_k=64,
920
+ m_buckets=(
921
+ (1, _MatmulMConfig(16, 128, 8, 3)),
922
+ (4, _MatmulMConfig(16, 128, 8, 5)),
923
+ (8, _MatmulMConfig(16, 128, 8, 4)),
924
+ (16, _MatmulMConfig(16, 128, 4, 4)),
925
+ (32, _MatmulMConfig(32, 128, 4, 4)),
926
+ (64, _MatmulMConfig(64, 128, 4, 5)),
927
+ (256, _MatmulMConfig(64, 64, 4, 5)),
928
+ (512, _MatmulMConfig(128, 64, 4, 3)),
929
+ (1024, _MatmulMConfig(128, 128, 4, 3)),
930
+ (2048, _MatmulMConfig(128, 128, 4, 3)),
931
+ ),
932
+ ),
933
+ (4096, 6144): _MatmulShapeConfig( # Qwen3-8B tp2_down_proj
934
+ block_k=64,
935
+ m_buckets=(
936
+ (1, _MatmulMConfig(16, 32, 8, 5)),
937
+ (4, _MatmulMConfig(16, 32, 8, 5)),
938
+ (8, _MatmulMConfig(16, 32, 8, 3)),
939
+ (16, _MatmulMConfig(16, 32, 4, 5)),
940
+ (32, _MatmulMConfig(16, 64, 8, 4)),
941
+ (64, _MatmulMConfig(32, 64, 4, 5)),
942
+ (256, _MatmulMConfig(64, 128, 4, 5)),
943
+ (512, _MatmulMConfig(128, 128, 4, 3)),
944
+ (1024, _MatmulMConfig(128, 64, 8, 4)),
945
+ (2048, _MatmulMConfig(128, 128, 4, 3)),
946
+ ),
947
+ ),
948
+ (3072, 4096): _MatmulShapeConfig( # Qwen3-8B tp2_qkv_proj
949
+ block_k=64,
950
+ m_buckets=(
951
+ (1, _MatmulMConfig(16, 32, 8, 4)),
952
+ (4, _MatmulMConfig(16, 32, 8, 3)),
953
+ (8, _MatmulMConfig(16, 128, 4, 3)),
954
+ (16, _MatmulMConfig(16, 32, 4, 4)),
955
+ (32, _MatmulMConfig(32, 32, 8, 5)),
956
+ (64, _MatmulMConfig(16, 128, 8, 4)),
957
+ (256, _MatmulMConfig(64, 128, 4, 5)),
958
+ (512, _MatmulMConfig(128, 128, 8, 3)),
959
+ (1024, _MatmulMConfig(64, 64, 4, 5)),
960
+ (2048, _MatmulMConfig(128, 64, 4, 3)),
961
+ ),
962
+ ),
963
+ (75968, 4096): _MatmulShapeConfig( # Qwen3-8B tp2_lm_head
964
+ block_k=64,
965
+ m_buckets=(
966
+ (1, _MatmulMConfig(16, 256, 8, 3)),
967
+ (4, _MatmulMConfig(16, 256, 8, 3)),
968
+ (8, _MatmulMConfig(16, 256, 8, 3)),
969
+ (16, _MatmulMConfig(16, 256, 8, 3)),
970
+ (32, _MatmulMConfig(32, 256, 8, 3)),
971
+ (64, _MatmulMConfig(64, 256, 8, 3)),
972
+ (256, _MatmulMConfig(128, 128, 4, 3)),
973
+ (512, _MatmulMConfig(128, 128, 8, 3)),
974
+ (1024, _MatmulMConfig(128, 128, 4, 3)),
975
+ (2048, _MatmulMConfig(128, 128, 4, 3)),
976
+ ),
977
+ ),
978
+ (4096, 3072): _MatmulShapeConfig( # Qwen3-8B tp4_down_proj
979
+ block_k=64,
980
+ m_buckets=(
981
+ (1, _MatmulMConfig(16, 256, 8, 3)),
982
+ (4, _MatmulMConfig(16, 128, 4, 5)),
983
+ (8, _MatmulMConfig(16, 128, 4, 4)),
984
+ (16, _MatmulMConfig(16, 64, 4, 5)),
985
+ (32, _MatmulMConfig(32, 128, 4, 3)),
986
+ (64, _MatmulMConfig(16, 128, 4, 4)),
987
+ (256, _MatmulMConfig(64, 128, 4, 5)),
988
+ (512, _MatmulMConfig(128, 128, 4, 3)),
989
+ (1024, _MatmulMConfig(128, 64, 8, 4)),
990
+ (2048, _MatmulMConfig(128, 128, 4, 3)),
991
+ ),
992
+ ),
993
+ (1536, 4096): _MatmulShapeConfig( # Qwen3-8B tp4_qkv_proj
994
+ block_k=128,
995
+ m_buckets=(
996
+ (1, _MatmulMConfig(16, 64, 4, 5)),
997
+ (4, _MatmulMConfig(16, 64, 8, 3)),
998
+ (8, _MatmulMConfig(32, 64, 4, 5)),
999
+ (16, _MatmulMConfig(16, 64, 8, 4)),
1000
+ (32, _MatmulMConfig(16, 32, 8, 3)),
1001
+ (64, _MatmulMConfig(16, 64, 8, 5)),
1002
+ (256, _MatmulMConfig(64, 64, 4, 3)),
1003
+ (512, _MatmulMConfig(64, 128, 4, 3)),
1004
+ (1024, _MatmulMConfig(64, 64, 4, 3)),
1005
+ (2048, _MatmulMConfig(64, 128, 4, 3)),
1006
+ ),
1007
+ ),
1008
+ (4096, 1024): _MatmulShapeConfig( # Qwen3-8B tp4_o_proj
1009
+ block_k=64,
1010
+ m_buckets=(
1011
+ (1, _MatmulMConfig(16, 128, 8, 4)),
1012
+ (4, _MatmulMConfig(32, 128, 8, 4)),
1013
+ (8, _MatmulMConfig(16, 256, 8, 3)),
1014
+ (16, _MatmulMConfig(16, 128, 8, 3)),
1015
+ (32, _MatmulMConfig(16, 128, 4, 4)),
1016
+ (64, _MatmulMConfig(64, 64, 4, 3)),
1017
+ (256, _MatmulMConfig(128, 64, 4, 3)),
1018
+ (512, _MatmulMConfig(64, 64, 4, 5)),
1019
+ (1024, _MatmulMConfig(128, 64, 4, 4)),
1020
+ (2048, _MatmulMConfig(128, 128, 4, 3)),
1021
+ ),
1022
+ ),
1023
+ (37984, 4096): _MatmulShapeConfig( # Qwen3-8B tp4_lm_head
1024
+ block_k=64,
1025
+ m_buckets=(
1026
+ (1, _MatmulMConfig(16, 128, 8, 3)),
1027
+ (4, _MatmulMConfig(16, 128, 4, 5)),
1028
+ (8, _MatmulMConfig(16, 128, 4, 5)),
1029
+ (16, _MatmulMConfig(16, 128, 8, 3)),
1030
+ (32, _MatmulMConfig(32, 128, 8, 3)),
1031
+ (64, _MatmulMConfig(64, 128, 8, 3)),
1032
+ (256, _MatmulMConfig(64, 128, 4, 5)),
1033
+ (512, _MatmulMConfig(128, 128, 4, 3)),
1034
+ (1024, _MatmulMConfig(128, 128, 4, 3)),
1035
+ (2048, _MatmulMConfig(128, 128, 4, 3)),
1036
+ ),
1037
+ ),
1038
+ (4096, 1536): _MatmulShapeConfig( # Qwen3-8B tp8_down_proj
1039
+ block_k=32,
1040
+ m_buckets=(
1041
+ (1, _MatmulMConfig(32, 128, 8, 5)),
1042
+ (4, _MatmulMConfig(16, 256, 4, 5)),
1043
+ (8, _MatmulMConfig(16, 64, 4, 4)),
1044
+ (16, _MatmulMConfig(16, 128, 8, 3)),
1045
+ (32, _MatmulMConfig(16, 64, 4, 3)),
1046
+ (64, _MatmulMConfig(16, 128, 4, 4)),
1047
+ (256, _MatmulMConfig(64, 128, 4, 4)),
1048
+ (512, _MatmulMConfig(128, 128, 8, 5)),
1049
+ (1024, _MatmulMConfig(128, 256, 8, 4)),
1050
+ (2048, _MatmulMConfig(128, 128, 8, 4)),
1051
+ ),
1052
+ ),
1053
+ (768, 4096): _MatmulShapeConfig( # Qwen3-8B tp8_qkv_proj
1054
+ block_k=128,
1055
+ m_buckets=(
1056
+ (1, _MatmulMConfig(16, 32, 8, 5)),
1057
+ (4, _MatmulMConfig(16, 32, 8, 3)),
1058
+ (8, _MatmulMConfig(32, 64, 4, 5)),
1059
+ (16, _MatmulMConfig(32, 64, 8, 3)),
1060
+ (32, _MatmulMConfig(32, 32, 8, 5)),
1061
+ (64, _MatmulMConfig(64, 32, 8, 3)),
1062
+ (256, _MatmulMConfig(32, 64, 4, 4)),
1063
+ (512, _MatmulMConfig(64, 64, 8, 3)),
1064
+ (1024, _MatmulMConfig(64, 128, 4, 3)),
1065
+ (2048, _MatmulMConfig(64, 64, 4, 3)),
1066
+ ),
1067
+ ),
1068
+ (4096, 512): _MatmulShapeConfig( # Qwen3-8B tp8_o_proj
1069
+ block_k=64,
1070
+ m_buckets=(
1071
+ (1, _MatmulMConfig(16, 128, 8, 2)),
1072
+ (4, _MatmulMConfig(32, 128, 4, 2)),
1073
+ (8, _MatmulMConfig(16, 256, 4, 2)),
1074
+ (16, _MatmulMConfig(32, 256, 4, 3)),
1075
+ (32, _MatmulMConfig(32, 256, 8, 3)),
1076
+ (64, _MatmulMConfig(32, 128, 4, 5)),
1077
+ (256, _MatmulMConfig(64, 32, 8, 4)),
1078
+ (512, _MatmulMConfig(128, 128, 8, 3)),
1079
+ (1024, _MatmulMConfig(128, 64, 4, 4)),
1080
+ (2048, _MatmulMConfig(128, 128, 8, 3)),
1081
+ ),
1082
+ ),
1083
+ (18992, 4096): _MatmulShapeConfig( # Qwen3-8B tp8_lm_head
1084
+ block_k=64,
1085
+ m_buckets=(
1086
+ (1, _MatmulMConfig(16, 64, 8, 5)),
1087
+ (4, _MatmulMConfig(16, 64, 8, 4)),
1088
+ (8, _MatmulMConfig(16, 64, 8, 5)),
1089
+ (16, _MatmulMConfig(16, 128, 4, 3)),
1090
+ (32, _MatmulMConfig(32, 64, 8, 5)),
1091
+ (64, _MatmulMConfig(64, 128, 8, 3)),
1092
+ (256, _MatmulMConfig(128, 128, 4, 3)),
1093
+ (512, _MatmulMConfig(128, 128, 4, 3)),
1094
+ (1024, _MatmulMConfig(128, 128, 4, 3)),
1095
+ (2048, _MatmulMConfig(128, 128, 4, 3)),
1096
+ ),
1097
+ ),
1098
},
1099
}
1100