torch-rb 0.14.1 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -185,7 +185,7 @@
185
185
  dispatch:
186
186
  CompositeExplicitAutograd: sym_constrain_range
187
187
 
188
- - func: sym_constrain_range_for_size(Scalar size, *, int? min, int? max) -> ()
188
+ - func: sym_constrain_range_for_size(Scalar size, *, int? min=None, int? max=None) -> ()
189
189
  dispatch:
190
190
  CompositeExplicitAutograd: sym_constrain_range_for_size
191
191
 
@@ -431,6 +431,7 @@
431
431
  structured_inherits: TensorIteratorBase
432
432
  dispatch:
433
433
  CPU, CUDA: sgn_out
434
+ MPS: sgn_out_mps
434
435
  SparseCPU, SparseCUDA: sgn_sparse_out
435
436
  SparseCsrCPU, SparseCsrCUDA: sgn_sparse_csr_out
436
437
  tags: pointwise
@@ -681,15 +682,29 @@
681
682
  structured_delegate: all.out
682
683
  variants: function, method
683
684
 
685
+ - func: all.dims(Tensor self, int[]? dim=None, bool keepdim=False) -> Tensor
686
+ device_check: NoCheck # TensorIterator
687
+ structured_delegate: all.dims_out
688
+ variants: function, method
689
+ cpp_no_default_args: ['dim']
690
+ dispatch:
691
+ CompositeExplicitAutograd: all_dims_default
692
+
684
693
  - func: all.out(Tensor self, int dim, bool keepdim=False, *, Tensor(a!) out) -> Tensor(a!)
685
694
  device_check: NoCheck # TensorIterator
686
695
  structured: True
687
- precomputed:
688
- - dim -> int dim
689
696
  dispatch:
690
697
  CPU, CUDA: all_out
691
698
  MPS: all_out_mps
692
699
 
700
+ - func: all.dims_out(Tensor self, int[]? dim=None, bool keepdim=False, *, Tensor(a!) out) -> Tensor(a!)
701
+ device_check: NoCheck # TensorIterator
702
+ structured: True
703
+ dispatch:
704
+ CPU, CUDA: all_dims_out
705
+ CompositeExplicitAutograd: all_dims_out_default
706
+ cpp_no_default_args: ['dim']
707
+
693
708
  - func: all.dimname(Tensor self, Dimname dim, bool keepdim=False) -> Tensor
694
709
  device_check: NoCheck # TensorIterator
695
710
  variants: function, method
@@ -709,15 +724,30 @@
709
724
  variants: function, method
710
725
  tags: core
711
726
 
727
+ - func: any.dims(Tensor self, int[]? dim=None, bool keepdim=False) -> Tensor
728
+ device_check: NoCheck # TensorIterator
729
+ structured_delegate: any.dims_out
730
+ variants: function, method
731
+ cpp_no_default_args: ['dim']
732
+ tags: core
733
+ dispatch:
734
+ CompositeExplicitAutograd: any_dims_default
735
+
712
736
  - func: any.out(Tensor self, int dim, bool keepdim=False, *, Tensor(a!) out) -> Tensor(a!)
713
737
  device_check: NoCheck # TensorIterator
714
738
  structured: True
715
- precomputed:
716
- - dim -> int dim
717
739
  dispatch:
718
740
  CPU, CUDA: any_out
719
741
  MPS: any_out_mps
720
742
 
743
+ - func: any.dims_out(Tensor self, int[]? dim=None, bool keepdim=False, *, Tensor(a!) out) -> Tensor(a!)
744
+ device_check: NoCheck # TensorIterator
745
+ structured: True
746
+ dispatch:
747
+ CPU, CUDA: any_dims_out
748
+ CompositeExplicitAutograd: any_dims_out_default
749
+ cpp_no_default_args: ['dim']
750
+
721
751
  - func: any.dimname(Tensor self, Dimname dim, bool keepdim=False) -> Tensor
722
752
  device_check: NoCheck # TensorIterator
723
753
  variants: function, method
@@ -1326,6 +1356,7 @@
1326
1356
  dispatch:
1327
1357
  SparseCPU, SparseCUDA: cat_sparse
1328
1358
  QuantizedCPU: cat_quantized_cpu
1359
+ NestedTensorCPU, NestedTensorCUDA: cat_nested
1329
1360
  tags: core
1330
1361
 
1331
1362
  - func: cat.out(Tensor[] tensors, int dim=0, *, Tensor(a!) out) -> Tensor(a!)
@@ -1613,59 +1644,67 @@
1613
1644
  variants: method
1614
1645
  manual_cpp_binding: True
1615
1646
 
1616
- - func: convolution(Tensor input, Tensor weight, Tensor? bias, int[] stride, SymInt[] padding, int[] dilation, bool transposed, SymInt[] output_padding, int groups) -> Tensor
1647
+ - func: convolution(Tensor input, Tensor weight, Tensor? bias, SymInt[] stride, SymInt[] padding, SymInt[] dilation, bool transposed, SymInt[] output_padding, SymInt groups) -> Tensor
1617
1648
  dispatch:
1618
1649
  CompositeExplicitAutograd: convolution
1619
1650
  autogen: convolution.out
1620
1651
  tags: core
1621
1652
 
1622
- - func: convolution_backward(Tensor grad_output, Tensor input, Tensor weight, SymInt[]? bias_sizes, int[] stride, SymInt[] padding, int[] dilation, bool transposed, SymInt[] output_padding, int groups, bool[3] output_mask) -> (Tensor, Tensor, Tensor)
1653
+ - func: convolution_backward(Tensor grad_output, Tensor input, Tensor weight, SymInt[]? bias_sizes, SymInt[] stride, SymInt[] padding, SymInt[] dilation, bool transposed, SymInt[] output_padding, SymInt groups, bool[3] output_mask) -> (Tensor, Tensor, Tensor)
1623
1654
  dispatch:
1624
1655
  CompositeExplicitAutograd, CUDA: convolution_backward
1625
1656
  autogen: convolution_backward.out
1626
1657
  tags: core
1627
1658
 
1628
- - func: convolution_overrideable(Tensor input, Tensor weight, Tensor? bias, int[] stride, int[] padding, int[] dilation, bool transposed, int[] output_padding, int groups) -> Tensor
1659
+ - func: convolution_overrideable(Tensor input, Tensor weight, Tensor? bias, SymInt[] stride, SymInt[] padding, SymInt[] dilation, bool transposed, SymInt[] output_padding, SymInt groups) -> Tensor
1629
1660
  dispatch:
1630
1661
  CompositeExplicitAutograd: convolution_overrideable
1631
1662
  autogen: convolution_overrideable.out
1632
1663
 
1633
- - func: convolution_backward_overrideable(Tensor grad_output, Tensor input, Tensor weight, int[] stride, int[] padding, int[] dilation, bool transposed, int[] output_padding, int groups, bool[3] output_mask) -> (Tensor grad_input, Tensor grad_weight, Tensor grad_bias)
1664
+ - func: convolution_backward_overrideable(Tensor grad_output, Tensor input, Tensor weight, SymInt[] stride, SymInt[] padding, SymInt[] dilation, bool transposed, SymInt[] output_padding, SymInt groups, bool[3] output_mask) -> (Tensor grad_input, Tensor grad_weight, Tensor grad_bias)
1634
1665
  dispatch:
1635
1666
  CompositeExplicitAutograd: convolution_backward_overrideable
1636
1667
  autogen: convolution_backward_overrideable.out
1637
1668
 
1638
- - func: _convolution(Tensor input, Tensor weight, Tensor? bias, int[] stride, SymInt[] padding, int[] dilation, bool transposed, SymInt[] output_padding, int groups, bool benchmark, bool deterministic, bool cudnn_enabled, bool allow_tf32) -> Tensor
1669
+ - func: _convolution(Tensor input, Tensor weight, Tensor? bias, SymInt[] stride, SymInt[] padding, SymInt[] dilation, bool transposed, SymInt[] output_padding, SymInt groups, bool benchmark, bool deterministic, bool cudnn_enabled, bool allow_tf32) -> Tensor
1639
1670
  dispatch:
1640
1671
  CompositeExplicitAutograd: _convolution
1641
1672
  autogen: _convolution.out
1642
1673
 
1643
- - func: _convolution.deprecated(Tensor input, Tensor weight, Tensor? bias, int[] stride, int[] padding, int[] dilation, bool transposed, int[] output_padding, int groups, bool benchmark, bool deterministic, bool cudnn_enabled) -> Tensor
1674
+ - func: _convolution.deprecated(Tensor input, Tensor weight, Tensor? bias, SymInt[] stride, SymInt[] padding, SymInt[] dilation, bool transposed, int[] output_padding, SymInt groups, bool benchmark, bool deterministic, bool cudnn_enabled) -> Tensor
1644
1675
 
1645
- - func: _convolution_mode(Tensor input, Tensor weight, Tensor? bias, int[] stride, str padding, int[] dilation, int groups) -> Tensor
1676
+ - func: _convolution_mode(Tensor input, Tensor weight, Tensor? bias, SymInt[] stride, str padding, SymInt[] dilation, SymInt groups) -> Tensor
1677
+ dispatch:
1678
+ CompositeImplicitAutograd: _convolution_mode_symint
1646
1679
 
1647
- - func: _convolution_double_backward(Tensor? ggI, Tensor? ggW, Tensor? ggb, Tensor gO, Tensor weight, Tensor self, int[] stride, SymInt[] padding, int[] dilation, bool transposed, SymInt[] output_padding, int groups, bool[3] output_mask) -> (Tensor, Tensor, Tensor)
1680
+ - func: _convolution_double_backward(Tensor? ggI, Tensor? ggW, Tensor? ggb, Tensor gO, Tensor weight, Tensor self, SymInt[] stride, SymInt[] padding, SymInt[] dilation, bool transposed, SymInt[] output_padding, SymInt groups, bool[3] output_mask) -> (Tensor, Tensor, Tensor)
1648
1681
 
1649
- - func: conv1d(Tensor input, Tensor weight, Tensor? bias=None, int[1] stride=1, SymInt[1] padding=0, int[1] dilation=1, int groups=1) -> Tensor
1682
+ - func: conv1d(Tensor input, Tensor weight, Tensor? bias=None, SymInt[1] stride=1, SymInt[1] padding=0, SymInt[1] dilation=1, SymInt groups=1) -> Tensor
1650
1683
  dispatch:
1651
1684
  CompositeImplicitAutograd: conv1d_symint
1652
1685
 
1653
- - func: conv2d(Tensor input, Tensor weight, Tensor? bias=None, int[2] stride=1, SymInt[2] padding=0, int[2] dilation=1, int groups=1) -> Tensor
1686
+ - func: conv2d(Tensor input, Tensor weight, Tensor? bias=None, SymInt[2] stride=1, SymInt[2] padding=0, SymInt[2] dilation=1, SymInt groups=1) -> Tensor
1654
1687
  dispatch:
1655
1688
  CompositeImplicitAutograd: conv2d_symint
1656
1689
 
1657
- - func: conv3d(Tensor input, Tensor weight, Tensor? bias=None, int[3] stride=1, SymInt[3] padding=0, int[3] dilation=1, int groups=1) -> Tensor
1690
+ - func: conv3d(Tensor input, Tensor weight, Tensor? bias=None, SymInt[3] stride=1, SymInt[3] padding=0, SymInt[3] dilation=1, SymInt groups=1) -> Tensor
1658
1691
  dispatch:
1659
1692
  CompositeImplicitAutograd: conv3d_symint
1660
1693
 
1661
- - func: conv1d.padding(Tensor input, Tensor weight, Tensor? bias=None, int[1] stride=1, str padding="valid", int[1] dilation=1, int groups=1) -> Tensor
1694
+ - func: conv1d.padding(Tensor input, Tensor weight, Tensor? bias=None, SymInt[1] stride=1, str padding="valid", SymInt[1] dilation=1, SymInt groups=1) -> Tensor
1662
1695
  cpp_no_default_args: ['bias', 'stride', 'padding']
1696
+ dispatch:
1697
+ CompositeImplicitAutograd: conv1d_padding_symint
1663
1698
 
1664
- - func: conv2d.padding(Tensor input, Tensor weight, Tensor? bias=None, int[2] stride=1, str padding="valid", int[2] dilation=1, int groups=1) -> Tensor
1699
+ - func: conv2d.padding(Tensor input, Tensor weight, Tensor? bias=None, SymInt[2] stride=1, str padding="valid", SymInt[2] dilation=1, SymInt groups=1) -> Tensor
1665
1700
  cpp_no_default_args: ['bias', 'stride', 'padding']
1701
+ dispatch:
1702
+ CompositeImplicitAutograd: conv2d_padding_symint
1666
1703
 
1667
- - func: conv3d.padding(Tensor input, Tensor weight, Tensor? bias=None, int[3] stride=1, str padding="valid", int[3] dilation=1, int groups=1) -> Tensor
1704
+ - func: conv3d.padding(Tensor input, Tensor weight, Tensor? bias=None, SymInt[3] stride=1, str padding="valid", SymInt[3] dilation=1, SymInt groups=1) -> Tensor
1668
1705
  cpp_no_default_args: ['bias', 'stride', 'padding']
1706
+ dispatch:
1707
+ CompositeImplicitAutograd: conv3d_padding_symint
1669
1708
 
1670
1709
  - func: conv_tbc(Tensor self, Tensor weight, Tensor bias, int pad=0) -> Tensor
1671
1710
  dispatch:
@@ -1675,15 +1714,15 @@
1675
1714
  - func: conv_tbc_backward(Tensor self, Tensor input, Tensor weight, Tensor bias, int pad) -> (Tensor, Tensor, Tensor)
1676
1715
 
1677
1716
  # NB: we inherit the goofy argument order from PyTorch torch.nn.functional
1678
- - func: conv_transpose1d(Tensor input, Tensor weight, Tensor? bias=None, int[1] stride=1, SymInt[1] padding=0, SymInt[1] output_padding=0, int groups=1, int[1] dilation=1) -> Tensor
1717
+ - func: conv_transpose1d(Tensor input, Tensor weight, Tensor? bias=None, SymInt[1] stride=1, SymInt[1] padding=0, SymInt[1] output_padding=0, SymInt groups=1, SymInt[1] dilation=1) -> Tensor
1679
1718
  dispatch:
1680
1719
  CompositeImplicitAutograd: conv_transpose1d_symint
1681
1720
 
1682
- - func: conv_transpose2d.input(Tensor input, Tensor weight, Tensor? bias=None, int[2] stride=1, SymInt[2] padding=0, SymInt[2] output_padding=0, int groups=1, int[2] dilation=1) -> Tensor
1721
+ - func: conv_transpose2d.input(Tensor input, Tensor weight, Tensor? bias=None, SymInt[2] stride=1, SymInt[2] padding=0, SymInt[2] output_padding=0, SymInt groups=1, SymInt[2] dilation=1) -> Tensor
1683
1722
  dispatch:
1684
1723
  CompositeImplicitAutograd: conv_transpose2d_symint
1685
1724
 
1686
- - func: conv_transpose3d.input(Tensor input, Tensor weight, Tensor? bias=None, int[3] stride=1, SymInt[3] padding=0, SymInt[3] output_padding=0, int groups=1, int[3] dilation=1) -> Tensor
1725
+ - func: conv_transpose3d.input(Tensor input, Tensor weight, Tensor? bias=None, SymInt[3] stride=1, SymInt[3] padding=0, SymInt[3] output_padding=0, SymInt groups=1, SymInt[3] dilation=1) -> Tensor
1687
1726
  dispatch:
1688
1727
  CompositeImplicitAutograd: conv_transpose3d_symint
1689
1728
 
@@ -1691,6 +1730,7 @@
1691
1730
  variants: function
1692
1731
  dispatch:
1693
1732
  CompositeExplicitAutogradNonFunctional: copy
1733
+ tags: core
1694
1734
 
1695
1735
  - func: copy_(Tensor(a!) self, Tensor src, bool non_blocking=False) -> Tensor(a!)
1696
1736
  variants: method
@@ -1720,6 +1760,8 @@
1720
1760
  device_check: NoCheck # TensorIterator
1721
1761
  variants: function, method
1722
1762
  structured_delegate: cos.out
1763
+ dispatch:
1764
+ NestedTensorCPU, NestedTensorCUDA: cos_nested
1723
1765
  tags: [core, pointwise]
1724
1766
 
1725
1767
  - func: cos_(Tensor(a!) self) -> Tensor(a!)
@@ -1802,32 +1844,32 @@
1802
1844
  CUDA: cudnn_batch_norm_backward
1803
1845
  autogen: cudnn_batch_norm_backward.out
1804
1846
 
1805
- - func: cudnn_convolution(Tensor self, Tensor weight, int[] padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic, bool allow_tf32) -> Tensor
1847
+ - func: cudnn_convolution(Tensor self, Tensor weight, SymInt[] padding, SymInt[] stride, SymInt[] dilation, SymInt groups, bool benchmark, bool deterministic, bool allow_tf32) -> Tensor
1806
1848
  dispatch:
1807
1849
  CUDA: cudnn_convolution
1808
1850
  autogen: cudnn_convolution.out
1809
1851
 
1810
- - func: cudnn_convolution_transpose(Tensor self, Tensor weight, int[] padding, int[] output_padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic, bool allow_tf32) -> Tensor
1852
+ - func: cudnn_convolution_transpose(Tensor self, Tensor weight, SymInt[] padding, SymInt[] output_padding, SymInt[] stride, SymInt[] dilation, SymInt groups, bool benchmark, bool deterministic, bool allow_tf32) -> Tensor
1811
1853
  dispatch:
1812
1854
  CUDA: cudnn_convolution_transpose
1813
1855
  autogen: cudnn_convolution_transpose.out
1814
1856
 
1815
- - func: _mps_convolution_transpose(Tensor self, Tensor weight, int[] padding, int[] output_padding, int[] stride, int[] dilation, int groups) -> Tensor
1857
+ - func: _mps_convolution_transpose(Tensor self, Tensor weight, SymInt[] padding, SymInt[] output_padding, SymInt[] stride, SymInt[] dilation, SymInt groups) -> Tensor
1816
1858
  dispatch:
1817
1859
  MPS: _mps_convolution_transpose
1818
1860
  autogen: _mps_convolution_transpose.out
1819
1861
 
1820
- - func: mps_convolution_transpose_backward(Tensor self, Tensor grad_output, Tensor weight, int[] padding, int[] output_padding, int[] stride, int[] dilation, int groups, bool[2] output_mask) -> (Tensor, Tensor)
1862
+ - func: mps_convolution_transpose_backward(Tensor self, Tensor grad_output, Tensor weight, SymInt[] padding, SymInt[] output_padding, SymInt[] stride, SymInt[] dilation, SymInt groups, bool[2] output_mask) -> (Tensor, Tensor)
1821
1863
  dispatch:
1822
1864
  MPS: mps_convolution_transpose_backward
1823
1865
  autogen: mps_convolution_transpose_backward.out
1824
1866
 
1825
- - func: cudnn_convolution_relu(Tensor self, Tensor weight, Tensor? bias, int[] stride, int[] padding, int[] dilation, int groups) -> Tensor
1867
+ - func: cudnn_convolution_relu(Tensor self, Tensor weight, Tensor? bias, SymInt[] stride, SymInt[] padding, SymInt[] dilation, SymInt groups) -> Tensor
1826
1868
  dispatch:
1827
1869
  CUDA: cudnn_convolution_relu
1828
1870
  autogen: cudnn_convolution_relu.out
1829
1871
 
1830
- - func: cudnn_convolution_add_relu(Tensor self, Tensor weight, Tensor z, Scalar? alpha, Tensor? bias, int[] stride, int[] padding, int[] dilation, int groups) -> Tensor
1872
+ - func: cudnn_convolution_add_relu(Tensor self, Tensor weight, Tensor z, Scalar? alpha, Tensor? bias, SymInt[] stride, SymInt[] padding, SymInt[] dilation, SymInt groups) -> Tensor
1831
1873
  dispatch:
1832
1874
  CUDA: cudnn_convolution_add_relu
1833
1875
  autogen: cudnn_convolution_add_relu.out
@@ -1967,6 +2009,7 @@
1967
2009
  dispatch:
1968
2010
  CPU: ctc_loss_cpu
1969
2011
  CUDA: ctc_loss_gpu
2012
+ Meta: ctc_loss_meta
1970
2013
  autogen: _ctc_loss.out
1971
2014
  tags: dynamic_output_shape # the shape of second output is data dependent
1972
2015
 
@@ -1999,6 +2042,7 @@
1999
2042
  variants: function, method
2000
2043
  dispatch:
2001
2044
  CompositeExplicitAutograd: diagonal
2045
+ tags: core
2002
2046
 
2003
2047
  - func: linalg_diagonal(Tensor(a) A, *, int offset=0, int dim1=-2, int dim2=-1) -> Tensor(a)
2004
2048
  python_module: linalg
@@ -2079,7 +2123,7 @@
2079
2123
  structured_delegate: div.out_mode
2080
2124
  dispatch:
2081
2125
  SparseCPU, SparseCUDA: div_sparse
2082
- tags: pointwise
2126
+ tags: [core, pointwise]
2083
2127
 
2084
2128
  - func: div_.Tensor_mode(Tensor(a!) self, Tensor other, *, str? rounding_mode) -> Tensor(a!)
2085
2129
  device_check: NoCheck # TensorIterator
@@ -2120,7 +2164,7 @@
2120
2164
  variants: function, method
2121
2165
  dispatch:
2122
2166
  CompositeExplicitAutograd: div
2123
- tags: pointwise
2167
+ tags: [core, pointwise]
2124
2168
 
2125
2169
  - func: div_.Scalar_mode(Tensor(a!) self, Scalar other, *, str? rounding_mode) -> Tensor(a!)
2126
2170
  variants: method
@@ -2370,7 +2414,7 @@
2370
2414
  variants: method
2371
2415
  device_check: NoCheck
2372
2416
  device_guard: False
2373
- tags: inplace_view
2417
+ tags: [core, inplace_view]
2374
2418
  dispatch:
2375
2419
  Meta: resize__symint
2376
2420
  CPU: resize_
@@ -2517,7 +2561,7 @@
2517
2561
  dispatch:
2518
2562
  SparseCPU, SparseCUDA: expm1_sparse
2519
2563
  SparseCsrCPU, SparseCsrCUDA: expm1_sparse_csr
2520
- tags: pointwise
2564
+ tags: [core, pointwise]
2521
2565
 
2522
2566
  - func: expm1_(Tensor(a!) self) -> Tensor(a!)
2523
2567
  device_check: NoCheck # TensorIterator
@@ -2684,10 +2728,15 @@
2684
2728
  - func: floor_divide.Scalar(Tensor self, Scalar other) -> Tensor
2685
2729
  device_check: NoCheck # TensorIterator
2686
2730
  variants: function, method
2731
+ dispatch:
2732
+ CompositeExplicitAutograd: floor_divide
2687
2733
 
2688
2734
  - func: floor_divide_.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
2689
2735
  device_check: NoCheck # TensorIterator
2690
2736
  variants: method
2737
+ dispatch:
2738
+ CompositeExplicitAutograd: floor_divide_
2739
+ autogen: floor_divide.Scalar_out
2691
2740
 
2692
2741
  - func: frac(Tensor self) -> Tensor
2693
2742
  device_check: NoCheck # TensorIterator
@@ -2979,7 +3028,7 @@
2979
3028
  - func: _unsafe_index.Tensor(Tensor self, Tensor?[] indices) -> Tensor
2980
3029
  variants: function
2981
3030
  dispatch:
2982
- CPU, CUDA: _unsafe_index
3031
+ CompositeExplicitAutograd: _unsafe_index
2983
3032
 
2984
3033
  - func: index_copy.out(Tensor self, int dim, Tensor index, Tensor source, *, Tensor(a!) out) -> Tensor(a!)
2985
3034
  structured: True
@@ -3253,7 +3302,7 @@
3253
3302
  dispatch:
3254
3303
  CUDA: _cslt_compress
3255
3304
 
3256
- - func: _cslt_sparse_mm(Tensor compressed_A, Tensor dense_B, Tensor? bias=None, bool transpose_result=False) -> Tensor
3305
+ - func: _cslt_sparse_mm(Tensor compressed_A, Tensor dense_B, Tensor? bias=None, Tensor? alpha=None, ScalarType? out_dtype=None, bool transpose_result=False) -> Tensor
3257
3306
  dispatch:
3258
3307
  CUDA: _cslt_sparse_mm
3259
3308
 
@@ -3261,6 +3310,10 @@
3261
3310
  dispatch:
3262
3311
  CUDA: _sparse_semi_structured_linear
3263
3312
 
3313
+ - func: _mixed_dtypes_linear(Tensor input, Tensor weight, Tensor scale, *, Tensor? bias=None, str? activation=None) -> Tensor
3314
+ dispatch:
3315
+ CUDA: _mixed_dtypes_linear
3316
+
3264
3317
  - func: fbgemm_linear_int8_weight_fp32_activation(Tensor input, Tensor weight, Tensor packed, Tensor col_offsets, Scalar weight_scale, Scalar weight_zero_point, Tensor bias) -> Tensor
3265
3318
 
3266
3319
  - func: fbgemm_linear_int8_weight(Tensor input, Tensor weight, Tensor packed, Tensor col_offsets, Scalar weight_scale, Scalar weight_zero_point, Tensor bias) -> Tensor
@@ -3291,12 +3344,42 @@
3291
3344
  dispatch:
3292
3345
  CompositeExplicitAutograd: linspace
3293
3346
 
3347
+ - func: linspace.Tensor_Tensor(Tensor start, Tensor end, int steps, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
3348
+ category_override: factory
3349
+ dispatch:
3350
+ CompositeExplicitAutograd: linspace
3351
+
3352
+ - func: linspace.Tensor_Scalar(Tensor start, Scalar end, int steps, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
3353
+ category_override: factory
3354
+ dispatch:
3355
+ CompositeExplicitAutograd: linspace
3356
+
3357
+ - func: linspace.Scalar_Tensor(Scalar start, Tensor end, int steps, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
3358
+ category_override: factory
3359
+ dispatch:
3360
+ CompositeExplicitAutograd: linspace
3361
+
3294
3362
  - func: linspace.out(Scalar start, Scalar end, int steps, *, Tensor(a!) out) -> Tensor(a!)
3295
3363
  dispatch:
3296
3364
  CPU, Meta: linspace_out
3297
3365
  CUDA: linspace_cuda_out
3298
3366
  MPS: linspace_out_mps
3299
3367
 
3368
+ - func: linspace.Tensor_Tensor_out(Tensor start, Tensor end, int steps, *, Tensor(a!) out) -> Tensor(a!)
3369
+ category_override: factory
3370
+ dispatch:
3371
+ CompositeExplicitAutograd: linspace_out
3372
+
3373
+ - func: linspace.Tensor_Scalar_out(Tensor start, Scalar end, int steps, *, Tensor(a!) out) -> Tensor(a!)
3374
+ category_override: factory
3375
+ dispatch:
3376
+ CompositeExplicitAutograd: linspace_out
3377
+
3378
+ - func: linspace.Scalar_Tensor_out(Scalar start, Tensor end, int steps, *, Tensor(a!) out) -> Tensor(a!)
3379
+ category_override: factory
3380
+ dispatch:
3381
+ CompositeExplicitAutograd: linspace_out
3382
+
3300
3383
  - func: log(Tensor self) -> Tensor
3301
3384
  device_check: NoCheck # TensorIterator
3302
3385
  structured_delegate: log.out
@@ -3322,7 +3405,7 @@
3322
3405
  device_check: NoCheck # TensorIterator
3323
3406
  structured_delegate: log10.out
3324
3407
  variants: function, method
3325
- tags: pointwise
3408
+ tags: [core, pointwise]
3326
3409
 
3327
3410
  - func: log10_(Tensor(a!) self) -> Tensor(a!)
3328
3411
  device_check: NoCheck # TensorIterator
@@ -3346,7 +3429,7 @@
3346
3429
  dispatch:
3347
3430
  SparseCPU, SparseCUDA: log1p_sparse
3348
3431
  SparseCsrCPU, SparseCsrCUDA: log1p_sparse_csr
3349
- tags: pointwise
3432
+ tags: [core, pointwise]
3350
3433
 
3351
3434
  - func: log1p_(Tensor(a!) self) -> Tensor(a!)
3352
3435
  device_check: NoCheck # TensorIterator
@@ -3372,7 +3455,7 @@
3372
3455
  device_check: NoCheck # TensorIterator
3373
3456
  structured_delegate: log2.out
3374
3457
  variants: function, method
3375
- tags: pointwise
3458
+ tags: [core, pointwise]
3376
3459
 
3377
3460
  - func: log2_(Tensor(a!) self) -> Tensor(a!)
3378
3461
  device_check: NoCheck # TensorIterator
@@ -3477,11 +3560,41 @@
3477
3560
  dispatch:
3478
3561
  CompositeExplicitAutograd: logspace
3479
3562
 
3563
+ - func: logspace.Tensor_Tensor(Tensor start, Tensor end, int steps, float base=10.0, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
3564
+ category_override: factory
3565
+ dispatch:
3566
+ CompositeExplicitAutograd: logspace
3567
+
3568
+ - func: logspace.Tensor_Scalar(Tensor start, Scalar end, int steps, float base=10.0, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
3569
+ category_override: factory
3570
+ dispatch:
3571
+ CompositeExplicitAutograd: logspace
3572
+
3573
+ - func: logspace.Scalar_Tensor(Scalar start, Tensor end, int steps, float base=10.0, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
3574
+ category_override: factory
3575
+ dispatch:
3576
+ CompositeExplicitAutograd: logspace
3577
+
3480
3578
  - func: logspace.out(Scalar start, Scalar end, int steps, float base=10.0, *, Tensor(a!) out) -> Tensor(a!)
3481
3579
  dispatch:
3482
3580
  CPU, Meta: logspace_out
3483
3581
  CUDA: logspace_cuda_out
3484
3582
 
3583
+ - func: logspace.Tensor_Tensor_out(Tensor start, Tensor end, int steps, float base=10.0, *, Tensor(a!) out) -> Tensor(a!)
3584
+ category_override: factory
3585
+ dispatch:
3586
+ CompositeExplicitAutograd: logspace_out
3587
+
3588
+ - func: logspace.Tensor_Scalar_out(Tensor start, Scalar end, int steps, float base=10.0, *, Tensor(a!) out) -> Tensor(a!)
3589
+ category_override: factory
3590
+ dispatch:
3591
+ CompositeExplicitAutograd: logspace_out
3592
+
3593
+ - func: logspace.Scalar_Tensor_out(Scalar start, Tensor end, int steps, float base=10.0, *, Tensor(a!) out) -> Tensor(a!)
3594
+ category_override: factory
3595
+ dispatch:
3596
+ CompositeExplicitAutograd: logspace_out
3597
+
3485
3598
  # log_softmax allows positional dtype, unlike most operators, because kwonly is BC-breaking when loading jit models.
3486
3599
  - func: log_softmax.int(Tensor self, int dim, ScalarType? dtype=None) -> Tensor
3487
3600
  variants: function, method
@@ -3847,17 +3960,17 @@
3847
3960
  # TODO: Add this function to MPS dispatch key so that we avoid declaring it in
3848
3961
  # native_functions.yaml
3849
3962
  # https://github.com/pytorch/pytorch/issues/77394
3850
- - func: _mps_convolution(Tensor self, Tensor weight, Tensor? bias, int[] padding, int[] stride, int[] dilation, int groups) -> Tensor
3963
+ - func: _mps_convolution(Tensor self, Tensor weight, Tensor? bias, SymInt[] padding, SymInt[] stride, SymInt[] dilation, SymInt groups) -> Tensor
3851
3964
  dispatch:
3852
3965
  MPS: _mps_convolution
3853
3966
  autogen: _mps_convolution.out
3854
3967
 
3855
- - func: mps_convolution_backward(Tensor self, Tensor grad_output, Tensor weight, int[] padding, int[] stride, int[] dilation, int groups, bool[3] output_mask) -> (Tensor, Tensor, Tensor)
3968
+ - func: mps_convolution_backward(Tensor self, Tensor grad_output, Tensor weight, SymInt[] padding, SymInt[] stride, SymInt[] dilation, SymInt groups, bool[3] output_mask) -> (Tensor, Tensor, Tensor)
3856
3969
  dispatch:
3857
3970
  MPS: mps_convolution_backward
3858
3971
  autogen: mps_convolution_backward.out
3859
3972
 
3860
- - func: mkldnn_convolution(Tensor self, Tensor weight, Tensor? bias, SymInt[] padding, int[] stride, int[] dilation, int groups) -> Tensor
3973
+ - func: mkldnn_convolution(Tensor self, Tensor weight, Tensor? bias, SymInt[] padding, SymInt[] stride, SymInt[] dilation, SymInt groups) -> Tensor
3861
3974
  dispatch:
3862
3975
  CompositeExplicitAutograd: mkldnn_convolution
3863
3976
  autogen: mkldnn_convolution.out
@@ -3883,26 +3996,26 @@
3883
3996
  CUDA: miopen_batch_norm_backward
3884
3997
  autogen: miopen_batch_norm_backward.out
3885
3998
 
3886
- - func: miopen_convolution(Tensor self, Tensor weight, Tensor? bias, SymInt[] padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic) -> Tensor
3999
+ - func: miopen_convolution(Tensor self, Tensor weight, Tensor? bias, SymInt[] padding, SymInt[] stride, SymInt[] dilation, SymInt groups, bool benchmark, bool deterministic) -> Tensor
3887
4000
  dispatch:
3888
4001
  CUDA: miopen_convolution
3889
4002
  autogen: miopen_convolution.out
3890
4003
 
3891
- - func: miopen_convolution_transpose(Tensor self, Tensor weight, Tensor? bias, SymInt[] padding, SymInt[] output_padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic) -> Tensor
4004
+ - func: miopen_convolution_transpose(Tensor self, Tensor weight, Tensor? bias, SymInt[] padding, SymInt[] output_padding, SymInt[] stride, SymInt[] dilation, SymInt groups, bool benchmark, bool deterministic) -> Tensor
3892
4005
  dispatch:
3893
4006
  CUDA: miopen_convolution_transpose
3894
4007
  autogen: miopen_convolution_transpose.out
3895
4008
 
3896
- - func: miopen_depthwise_convolution(Tensor self, Tensor weight, Tensor? bias, SymInt[] padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic) -> Tensor
4009
+ - func: miopen_depthwise_convolution(Tensor self, Tensor weight, Tensor? bias, SymInt[] padding, SymInt[] stride, SymInt[] dilation, SymInt groups, bool benchmark, bool deterministic) -> Tensor
3897
4010
  dispatch:
3898
4011
  CUDA: miopen_depthwise_convolution
3899
4012
  autogen: miopen_depthwise_convolution.out
3900
4013
 
3901
- - func: miopen_convolution_relu(Tensor self, Tensor weight, Tensor? bias, int[] stride, int[] padding, int[] dilation, int groups) -> Tensor
4014
+ - func: miopen_convolution_relu(Tensor self, Tensor weight, Tensor? bias, SymInt[] stride, SymInt[] padding, SymInt[] dilation, SymInt groups) -> Tensor
3902
4015
  dispatch:
3903
4016
  CUDA: miopen_convolution_relu
3904
4017
 
3905
- - func: miopen_convolution_add_relu(Tensor self, Tensor weight, Tensor z, Scalar? alpha, Tensor? bias, int[] stride, int[] padding, int[] dilation, int groups) -> Tensor
4018
+ - func: miopen_convolution_add_relu(Tensor self, Tensor weight, Tensor z, Scalar? alpha, Tensor? bias, SymInt[] stride, SymInt[] padding, SymInt[] dilation, SymInt groups) -> Tensor
3906
4019
  dispatch:
3907
4020
  CUDA: miopen_convolution_add_relu
3908
4021
 
@@ -3943,6 +4056,14 @@
3943
4056
  dispatch:
3944
4057
  CUDA: _int_mm_out_cuda
3945
4058
 
4059
+ - func: _convert_weight_to_int4pack(Tensor self, int innerKTiles) -> Tensor
4060
+ dispatch:
4061
+ CUDA: _convert_weight_to_int4pack_cuda
4062
+
4063
+ - func: _weight_int4pack_mm(Tensor self, Tensor mat2, int qGroupSize, Tensor qScaleAndZeros) -> Tensor
4064
+ dispatch:
4065
+ CUDA: _weight_int4pack_mm_cuda
4066
+
3946
4067
  - func: _sparse_mm(Tensor sparse, Tensor dense) -> Tensor
3947
4068
  python_module: sparse
3948
4069
 
@@ -4087,6 +4208,7 @@
4087
4208
  device_guard: False
4088
4209
  dispatch:
4089
4210
  CompositeImplicitAutograd: narrow_symint
4211
+ NestedTensorCPU, NestedTensorCUDA: narrow_nested_symint
4090
4212
 
4091
4213
  - func: narrow.Tensor(Tensor(a) self, int dim, Tensor start, SymInt length) -> Tensor(a)
4092
4214
  variants: function, method
@@ -4199,7 +4321,7 @@
4199
4321
 
4200
4322
  - func: _nnpack_available() -> bool
4201
4323
 
4202
- - func: _nnpack_spatial_convolution(Tensor input, Tensor weight, Tensor? bias, SymInt[2] padding, int[2] stride=1) -> Tensor
4324
+ - func: _nnpack_spatial_convolution(Tensor input, Tensor weight, Tensor? bias, SymInt[2] padding, SymInt[2] stride=1) -> Tensor
4203
4325
  variants: function
4204
4326
  dispatch:
4205
4327
  CompositeExplicitAutograd: _nnpack_spatial_convolution
@@ -4314,6 +4436,7 @@
4314
4436
  - func: pixel_shuffle(Tensor self, int upscale_factor) -> Tensor
4315
4437
  dispatch:
4316
4438
  CPU: pixel_shuffle_cpu
4439
+ MPS: pixel_shuffle_mps
4317
4440
  CompositeExplicitAutogradNonFunctional: math_pixel_shuffle
4318
4441
  autogen: pixel_shuffle.out
4319
4442
  tags: core
@@ -4321,16 +4444,17 @@
4321
4444
  - func: pixel_unshuffle(Tensor self, int downscale_factor) -> Tensor
4322
4445
  dispatch:
4323
4446
  CPU: pixel_unshuffle_cpu
4447
+ MPS: pixel_unshuffle_mps
4324
4448
  CompositeExplicitAutogradNonFunctional: math_pixel_unshuffle
4325
4449
  autogen: pixel_unshuffle.out
4326
4450
 
4327
- - func: channel_shuffle(Tensor self, int groups) -> Tensor
4451
+ - func: channel_shuffle(Tensor self, SymInt groups) -> Tensor
4328
4452
  dispatch:
4329
4453
  CPU, CUDA: channel_shuffle
4330
4454
  QuantizedCPU: channel_shuffle_quantized_cpu
4331
4455
  autogen: channel_shuffle.out
4332
4456
 
4333
- - func: native_channel_shuffle(Tensor self, int groups) -> Tensor
4457
+ - func: native_channel_shuffle(Tensor self, SymInt groups) -> Tensor
4334
4458
  dispatch:
4335
4459
  CPU: channel_shuffle_cpu
4336
4460
  CompositeImplicitAutograd: math_channel_shuffle
@@ -4338,7 +4462,7 @@
4338
4462
  - func: is_pinned(Tensor self, Device? device=None) -> bool
4339
4463
  variants: method
4340
4464
  dispatch:
4341
- CUDA: is_pinned_cuda
4465
+ NestedTensorCUDA, CUDA: is_pinned_cuda
4342
4466
  MPS: is_pinned_mps
4343
4467
  CompositeExplicitAutograd: is_pinned_default
4344
4468
 
@@ -4352,6 +4476,7 @@
4352
4476
  dispatch:
4353
4477
  CUDA: _pin_memory_cuda
4354
4478
  MPS: _pin_memory_mps
4479
+ NestedTensorCUDA, NestedTensorCPU: _pin_memory_nested
4355
4480
  autogen: _pin_memory.out
4356
4481
 
4357
4482
  - func: pinverse(Tensor self, float rcond=1e-15) -> Tensor
@@ -4660,7 +4785,7 @@
4660
4785
  autogen: repeat.out
4661
4786
  tags: core
4662
4787
 
4663
- - func: repeat_interleave.Tensor(Tensor repeats, *, int? output_size=None) -> Tensor
4788
+ - func: repeat_interleave.Tensor(Tensor repeats, *, SymInt? output_size=None) -> Tensor
4664
4789
  variants: function
4665
4790
  dispatch:
4666
4791
  CPU: repeat_interleave_cpu
@@ -4669,10 +4794,12 @@
4669
4794
  tags: dynamic_output_shape
4670
4795
  autogen: repeat_interleave.Tensor_out
4671
4796
 
4672
- - func: repeat_interleave.self_Tensor(Tensor self, Tensor repeats, int? dim=None, *, int? output_size=None) -> Tensor
4797
+ - func: repeat_interleave.self_Tensor(Tensor self, Tensor repeats, int? dim=None, *, SymInt? output_size=None) -> Tensor
4673
4798
  variants: function, method
4799
+ dispatch:
4800
+ CompositeImplicitAutograd: repeat_interleave_symint
4674
4801
 
4675
- - func: repeat_interleave.self_int(Tensor self, SymInt repeats, int? dim=None, *, int? output_size=None) -> Tensor
4802
+ - func: repeat_interleave.self_int(Tensor self, SymInt repeats, int? dim=None, *, SymInt? output_size=None) -> Tensor
4676
4803
  variants: function, method
4677
4804
  dispatch:
4678
4805
  CompositeImplicitAutograd: repeat_interleave_symint
@@ -4973,12 +5100,14 @@
4973
5100
  python_module: nn
4974
5101
  dispatch:
4975
5102
  NestedTensorCPU, NestedTensorCUDA: NestedTensor_silu
5103
+ tags: pointwise
4976
5104
 
4977
5105
  - func: silu_(Tensor(a!) self) -> Tensor(a!)
4978
5106
  structured_delegate: silu.out
4979
5107
  python_module: nn
4980
5108
  dispatch:
4981
5109
  NestedTensorCPU, NestedTensorCUDA: NestedTensor_silu_
5110
+ tags: pointwise
4982
5111
 
4983
5112
  - func: silu.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
4984
5113
  structured: True
@@ -4987,6 +5116,7 @@
4987
5116
  dispatch:
4988
5117
  CPU, CUDA: silu_out
4989
5118
  MPS: silu_out_mps
5119
+ tags: pointwise
4990
5120
 
4991
5121
  - func: silu_backward.grad_input(Tensor grad_output, Tensor self, *, Tensor(a!) grad_input) -> Tensor(a!)
4992
5122
  structured: True
@@ -4995,6 +5125,7 @@
4995
5125
  dispatch:
4996
5126
  CPU, CUDA: silu_backward_out
4997
5127
  MPS: silu_backward_out_mps
5128
+ tags: pointwise
4998
5129
 
4999
5130
  - func: silu_backward(Tensor grad_output, Tensor self) -> Tensor
5000
5131
  structured_delegate: silu_backward.grad_input
@@ -5002,6 +5133,7 @@
5002
5133
  dispatch:
5003
5134
  CompositeImplicitAutograd: math_silu_backward
5004
5135
  NestedTensorCPU, NestedTensorCUDA: silu_backward_nested
5136
+ tags: pointwise
5005
5137
 
5006
5138
  - func: mish(Tensor self) -> Tensor
5007
5139
  structured_delegate: mish.out
@@ -5017,11 +5149,13 @@
5017
5149
  python_module: nn
5018
5150
  dispatch:
5019
5151
  CPU, CUDA: mish_out
5152
+ MPS: mish_out_mps
5020
5153
 
5021
5154
  - func: mish_backward(Tensor grad_output, Tensor self) -> Tensor
5022
5155
  python_module: nn
5023
5156
  dispatch:
5024
5157
  CPU, CUDA: mish_backward
5158
+ MPS: mish_backward_mps
5025
5159
  CompositeImplicitAutograd: math_mish_backward
5026
5160
 
5027
5161
  - func: sigmoid(Tensor self) -> Tensor
@@ -5076,6 +5210,7 @@
5076
5210
  dispatch:
5077
5211
  SparseCsrCPU, SparseCsrCUDA: sin_sparse_csr
5078
5212
  SparseCPU, SparseCUDA: sin_sparse
5213
+ NestedTensorCPU, NestedTensorCUDA: sin_nested
5079
5214
  tags: [core, pointwise]
5080
5215
 
5081
5216
  - func: sin_(Tensor(a!) self) -> Tensor(a!)
@@ -5971,7 +6106,7 @@
5971
6106
  dispatch:
5972
6107
  SparseCPU, SparseCUDA: trunc_sparse
5973
6108
  SparseCsrCPU, SparseCsrCUDA: trunc_sparse_csr
5974
- tags: pointwise
6109
+ tags: [core, pointwise]
5975
6110
 
5976
6111
  - func: trunc_(Tensor(a!) self) -> Tensor(a!)
5977
6112
  structured_delegate: trunc.out
@@ -6196,6 +6331,7 @@
6196
6331
  dispatch:
6197
6332
  CPU: weight_norm_cpu
6198
6333
  CUDA: weight_norm_cuda
6334
+ MPS: weight_norm_mps
6199
6335
  autogen: _weight_norm_interface.out
6200
6336
 
6201
6337
  - func: _weight_norm_interface_backward(Tensor grad_w, Tensor saved_v, Tensor saved_g, Tensor saved_norms, int dim) -> (Tensor, Tensor)
@@ -6203,6 +6339,7 @@
6203
6339
  dispatch:
6204
6340
  CPU: weight_norm_backward_cpu
6205
6341
  CUDA: weight_norm_backward_cuda
6342
+ MPS: weight_norm_backward_mps
6206
6343
  autogen: _weight_norm_interface_backward.out
6207
6344
 
6208
6345
  - func: _weight_norm_differentiable_backward(Tensor grad_w, Tensor saved_v, Tensor saved_g, Tensor saved_norms, int dim) -> (Tensor, Tensor)
@@ -6219,6 +6356,7 @@
6219
6356
  dispatch:
6220
6357
  CPU: _efficientzerotensor
6221
6358
  CUDA: _efficientzerotensor_cuda
6359
+ MPS: _efficientzerotensor_mps
6222
6360
  Meta: _efficientzerotensor_meta
6223
6361
  autogen: _efficientzerotensor.out
6224
6362
 
@@ -6675,12 +6813,12 @@
6675
6813
  structured_delegate: _addmm_activation.out
6676
6814
  variants: function, method
6677
6815
 
6678
- - func: _scaled_mm(Tensor self, Tensor mat2, *, Tensor? bias=None, ScalarType? out_dtype=None, Tensor? scale_a=None, Tensor? scale_b=None, Tensor? scale_result=None) -> (Tensor, Tensor)
6816
+ - func: _scaled_mm(Tensor self, Tensor mat2, *, Tensor? bias=None, ScalarType? out_dtype=None, Tensor? scale_a=None, Tensor? scale_b=None, Tensor? scale_result=None, bool use_fast_accum=False) -> (Tensor, Tensor)
6679
6817
  variants: function
6680
6818
  dispatch:
6681
6819
  CUDA: _scaled_mm_cuda
6682
6820
 
6683
- - func: _scaled_mm.out(Tensor self, Tensor mat2, *, Tensor? bias=None, ScalarType? out_dtype=None, Tensor? scale_a=None, Tensor? scale_b=None, Tensor? scale_result=None, Tensor(a!) out, Tensor(b!) out_amax) -> (Tensor(a!), Tensor(b!))
6821
+ - func: _scaled_mm.out(Tensor self, Tensor mat2, *, Tensor? bias=None, ScalarType? out_dtype=None, Tensor? scale_a=None, Tensor? scale_b=None, Tensor? scale_result=None, bool use_fast_accum=False, Tensor(a!) out, Tensor(b!) out_amax) -> (Tensor(a!), Tensor(b!))
6684
6822
  variants: function
6685
6823
  dispatch:
6686
6824
  CUDA: _scaled_mm_out_cuda
@@ -7055,7 +7193,7 @@
7055
7193
  variants: function, method
7056
7194
  dispatch:
7057
7195
  CompositeExplicitAutograd: unbind
7058
- CompositeImplicitAutogradNestedTensor: NestedTensor_unbind
7196
+ NestedTensorCPU, NestedTensorCUDA: NestedTensor_unbind
7059
7197
 
7060
7198
  - func: unbind.Dimname(Tensor(a -> *) self, Dimname dim) -> Tensor(a)[]
7061
7199
  variants: function, method
@@ -7143,14 +7281,14 @@
7143
7281
  CPU: dense_to_mkldnn
7144
7282
  autogen: to_mkldnn.out
7145
7283
 
7146
- - func: mkldnn_reorder_conv2d_weight(Tensor self, int[2] padding=0, int[2] stride=1, int[2] dilation=1, int groups=1, int[]? input_size=None) -> Tensor
7284
+ - func: mkldnn_reorder_conv2d_weight(Tensor self, SymInt[2] padding=0, SymInt[2] stride=1, SymInt[2] dilation=1, SymInt groups=1, SymInt[]? input_size=None) -> Tensor
7147
7285
  variants: function
7148
7286
  python_module: nn
7149
7287
  dispatch:
7150
7288
  MkldnnCPU: mkldnn_reorder_conv2d_weight
7151
7289
  autogen: mkldnn_reorder_conv2d_weight.out
7152
7290
 
7153
- - func: mkldnn_reorder_conv3d_weight(Tensor self, int[3] padding=0, int[3] stride=1, int[3] dilation=1, int groups=1) -> Tensor
7291
+ - func: mkldnn_reorder_conv3d_weight(Tensor self, SymInt[3] padding=0, SymInt[3] stride=1, SymInt[3] dilation=1, SymInt groups=1) -> Tensor
7154
7292
  variants: function
7155
7293
  python_module: nn
7156
7294
  dispatch:
@@ -7656,6 +7794,10 @@
7656
7794
  dispatch:
7657
7795
  CompositeExplicitAutograd: masked_scatter
7658
7796
 
7797
+ - func: masked_scatter_backward(Tensor grad_output, Tensor mask, SymInt[] sizes) -> Tensor
7798
+ dispatch:
7799
+ CompositeExplicitAutograd: masked_scatter_backward_symint
7800
+
7659
7801
  - func: _masked_softmax(Tensor self, Tensor mask, int? dim=None, int? mask_type=None) -> Tensor
7660
7802
  dispatch:
7661
7803
  CUDA: masked_softmax_cuda
@@ -7938,6 +8080,8 @@
7938
8080
  - func: bitwise_and_.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
7939
8081
  device_check: NoCheck # TensorIterator
7940
8082
  variants: method
8083
+ dispatch:
8084
+ CompositeExplicitAutograd: bitwise_and_
7941
8085
  tags: pointwise
7942
8086
 
7943
8087
  - func: bitwise_and_.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
@@ -7982,6 +8126,8 @@
7982
8126
  - func: bitwise_or.Scalar(Tensor self, Scalar other) -> Tensor
7983
8127
  device_check: NoCheck # TensorIterator
7984
8128
  variants: method, function
8129
+ dispatch:
8130
+ CompositeExplicitAutograd: bitwise_or
7985
8131
  tags: [core, pointwise]
7986
8132
 
7987
8133
  - func: bitwise_or.Scalar_Tensor(Scalar self, Tensor other) -> Tensor
@@ -8001,6 +8147,8 @@
8001
8147
  - func: bitwise_or_.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
8002
8148
  device_check: NoCheck # TensorIterator
8003
8149
  variants: method
8150
+ dispatch:
8151
+ CompositeExplicitAutograd: bitwise_or_
8004
8152
  tags: pointwise
8005
8153
 
8006
8154
  - func: bitwise_or_.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
@@ -8045,6 +8193,8 @@
8045
8193
  - func: bitwise_xor.Scalar(Tensor self, Scalar other) -> Tensor
8046
8194
  device_check: NoCheck # TensorIterator
8047
8195
  variants: method, function
8196
+ dispatch:
8197
+ CompositeExplicitAutograd: bitwise_xor
8048
8198
  tags: [core, pointwise]
8049
8199
 
8050
8200
  - func: bitwise_xor.Scalar_Tensor(Scalar self, Tensor other) -> Tensor
@@ -8064,6 +8214,8 @@
8064
8214
  - func: bitwise_xor_.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
8065
8215
  device_check: NoCheck # TensorIterator
8066
8216
  variants: method
8217
+ dispatch:
8218
+ CompositeExplicitAutograd: bitwise_xor_
8067
8219
  tags: pointwise
8068
8220
 
8069
8221
  - func: bitwise_xor_.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
@@ -8504,6 +8656,7 @@
8504
8656
  variants: method, function
8505
8657
  dispatch:
8506
8658
  QuantizedCPU: eq_quantized_cpu
8659
+ NestedTensorCPU, NestedTensorCUDA: eq_scalar_nested
8507
8660
  tags: [core, pointwise]
8508
8661
 
8509
8662
  - func: eq.Tensor_out(Tensor self, Tensor other, *, Tensor(a!) out) -> Tensor(a!)
@@ -8540,6 +8693,7 @@
8540
8693
  variants: method, function
8541
8694
  dispatch:
8542
8695
  QuantizedCPU: ge_quantized_cpu
8696
+ NestedTensorCPU, NestedTensorCUDA: ge_scalar_nested
8543
8697
  tags: [core, pointwise]
8544
8698
 
8545
8699
  - func: ge.Tensor_out(Tensor self, Tensor other, *, Tensor(a!) out) -> Tensor(a!)
@@ -8666,6 +8820,7 @@
8666
8820
  variants: method, function
8667
8821
  dispatch:
8668
8822
  QuantizedCPU: gt_quantized_cpu
8823
+ NestedTensorCPU, NestedTensorCUDA: gt_scalar_nested
8669
8824
  tags: [core, pointwise]
8670
8825
 
8671
8826
  - func: gt.Tensor_out(Tensor self, Tensor other, *, Tensor(a!) out) -> Tensor(a!)
@@ -9106,6 +9261,7 @@
9106
9261
  structured_inherits: TensorIteratorBase
9107
9262
  dispatch:
9108
9263
  CPU, CUDA: lgamma_out
9264
+ MPS: lgamma_out_mps
9109
9265
  tags: pointwise
9110
9266
 
9111
9267
  - func: lgamma_(Tensor(a!) self) -> Tensor(a!)
@@ -9126,6 +9282,7 @@
9126
9282
  structured_inherits: TensorIteratorBase
9127
9283
  dispatch:
9128
9284
  CPU, CUDA: digamma_out
9285
+ MPS: digamma_out_mps
9129
9286
  tags: pointwise
9130
9287
 
9131
9288
  - func: digamma(Tensor self) -> Tensor
@@ -9140,6 +9297,7 @@
9140
9297
  structured_inherits: TensorIteratorBase
9141
9298
  dispatch:
9142
9299
  CPU, CUDA: polygamma_out
9300
+ MPS: polygamma_out_mps
9143
9301
  tags: pointwise
9144
9302
 
9145
9303
  - func: polygamma(int n, Tensor self) -> Tensor
@@ -9263,7 +9421,7 @@
9263
9421
  dispatch:
9264
9422
  CPU, CUDA: atan2_out
9265
9423
  MPS: atan2_out_mps
9266
- tags: pointwise
9424
+ tags: [core, pointwise]
9267
9425
 
9268
9426
  - func: atan2_(Tensor(a!) self, Tensor other) -> Tensor(a!)
9269
9427
  device_check: NoCheck # TensorIterator
@@ -9275,7 +9433,7 @@
9275
9433
  device_check: NoCheck # TensorIterator
9276
9434
  structured_delegate: atan2.out
9277
9435
  variants: method, function
9278
- tags: pointwise
9436
+ tags: [core, pointwise]
9279
9437
  # arctan2, alias of atan2
9280
9438
 
9281
9439
  - func: arctan2(Tensor self, Tensor other) -> Tensor
@@ -9464,7 +9622,7 @@
9464
9622
  structured: True
9465
9623
  structured_inherits: TensorIteratorBase
9466
9624
  dispatch:
9467
- CPU, CUDA: nextafter_out
9625
+ CPU, CUDA, MPS: nextafter_out
9468
9626
  tags: pointwise
9469
9627
 
9470
9628
  - func: nextafter(Tensor self, Tensor other) -> Tensor
@@ -9811,7 +9969,7 @@
9811
9969
  - func: pow.Scalar(Scalar self, Tensor exponent) -> Tensor
9812
9970
  device_check: NoCheck # TensorIterator
9813
9971
  structured_delegate: pow.Scalar_out
9814
- tags: pointwise
9972
+ tags: [core, pointwise]
9815
9973
 
9816
9974
  - func: pow.Tensor_Scalar_out(Tensor self, Scalar exponent, *, Tensor(a!) out) -> Tensor(a!)
9817
9975
  device_check: NoCheck # TensorIterator
@@ -10020,6 +10178,21 @@
10020
10178
  CUDA: foreach_tensor_add_scalarlist_kernel_cuda_
10021
10179
  autogen: _foreach_add.ScalarList_out
10022
10180
 
10181
+ - func: _foreach_add.Tensor(Tensor[] self, Tensor other, *, Scalar alpha=1) -> Tensor[]
10182
+ device_check: NoCheck # foreach kernels fall back to slow path when tensor are on different devices
10183
+ variants: function
10184
+ dispatch:
10185
+ CPU: foreach_tensor_add_tensor_kernel_slow
10186
+ CUDA: foreach_tensor_add_tensor_kernel_cuda
10187
+
10188
+ - func: _foreach_add_.Tensor(Tensor(a!)[] self, Tensor other, *, Scalar alpha=1) -> ()
10189
+ device_check: NoCheck # foreach kernels fall back to slow path when tensor are on different devices
10190
+ variants: function
10191
+ dispatch:
10192
+ CPU: foreach_tensor_add_tensor_kernel_slow_
10193
+ CUDA: foreach_tensor_add_tensor_kernel_cuda_
10194
+ autogen: _foreach_add.Tensor_out
10195
+
10023
10196
  - func: _foreach_sub.Scalar(Tensor[] self, Scalar scalar) -> Tensor[]
10024
10197
  device_check: NoCheck # foreach kernels fall back to slow path when tensor are on different devices
10025
10198
  variants: function
@@ -10170,6 +10343,21 @@
10170
10343
  CUDA: foreach_tensor_div_scalarlist_kernel_cuda_
10171
10344
  autogen: _foreach_div.ScalarList_out
10172
10345
 
10346
+ - func: _foreach_div.Tensor(Tensor[] self, Tensor other) -> Tensor[]
10347
+ device_check: NoCheck # foreach kernels fall back to slow path when tensor are on different devices
10348
+ variants: function
10349
+ dispatch:
10350
+ CPU: foreach_tensor_div_tensor_kernel_slow
10351
+ CUDA: foreach_tensor_div_tensor_kernel_cuda
10352
+
10353
+ - func: _foreach_div_.Tensor(Tensor(a!)[] self, Tensor other) -> ()
10354
+ device_check: NoCheck # foreach kernels fall back to slow path when tensor are on different devices
10355
+ variants: function
10356
+ dispatch:
10357
+ CPU: foreach_tensor_div_tensor_kernel_slow_
10358
+ CUDA: foreach_tensor_div_tensor_kernel_cuda_
10359
+ autogen: _foreach_div.Tensor_out
10360
+
10173
10361
  - func: _foreach_clamp_max.Scalar(Tensor[] self, Scalar scalar) -> Tensor[]
10174
10362
  device_check: NoCheck # foreach kernels fall back to slow path when tensor are on different devices
10175
10363
  variants: function
@@ -10990,37 +11178,44 @@
10990
11178
  dispatch:
10991
11179
  CPU: bucketize_cpu
10992
11180
  CUDA: bucketize_cuda
11181
+ MPS: bucketize_mps
10993
11182
 
10994
11183
  - func: bucketize.Tensor_out(Tensor self, Tensor boundaries, *, bool out_int32=False, bool right=False, Tensor(a!) out) -> Tensor(a!)
10995
11184
  dispatch:
10996
11185
  CPU: bucketize_out_cpu
10997
11186
  CUDA: bucketize_out_cuda
11187
+ MPS: bucketize_out_mps
10998
11188
 
10999
11189
  - func: bucketize.Scalar(Scalar self, Tensor boundaries, *, bool out_int32=False, bool right=False) -> Tensor
11000
11190
  dispatch:
11001
11191
  CPU: bucketize_cpu
11002
11192
  CUDA: bucketize_cuda
11193
+ MPS: bucketize_mps
11003
11194
  autogen: bucketize.Scalar_out
11004
11195
 
11005
11196
  - func: searchsorted.Tensor(Tensor sorted_sequence, Tensor self, *, bool out_int32=False, bool right=False, str? side=None, Tensor? sorter=None) -> Tensor
11006
11197
  dispatch:
11007
11198
  CPU: searchsorted_cpu
11008
11199
  CUDA: searchsorted_cuda
11200
+ MPS: searchsorted_mps
11009
11201
 
11010
11202
  - func: searchsorted.Tensor_out(Tensor sorted_sequence, Tensor self, *, bool out_int32=False, bool right=False, str? side=None, Tensor? sorter=None, Tensor(a!) out) -> Tensor(a!)
11011
11203
  dispatch:
11012
11204
  CPU: searchsorted_out_cpu
11013
11205
  CUDA: searchsorted_out_cuda
11206
+ MPS: searchsorted_out_mps
11014
11207
 
11015
11208
  - func: searchsorted.Scalar(Tensor sorted_sequence, Scalar self, *, bool out_int32=False, bool right=False, str? side=None, Tensor? sorter=None) -> Tensor
11016
11209
  dispatch:
11017
11210
  CPU: searchsorted_cpu
11018
11211
  CUDA: searchsorted_cuda
11212
+ MPS: searchsorted_mps
11019
11213
 
11020
11214
  - func: searchsorted.Scalar_out(Tensor sorted_sequence, Scalar self, *, bool out_int32=False, bool right=False, str? side=None, Tensor? sorter=None, Tensor(a!) out) -> Tensor(a!)
11021
11215
  dispatch:
11022
11216
  CPU: searchsorted_out_cpu
11023
11217
  CUDA: searchsorted_out_cuda
11218
+ MPS: searchsorted_out_mps
11024
11219
 
11025
11220
  - func: _convert_indices_from_coo_to_csr(Tensor self, int size, *, bool out_int32=False) -> Tensor
11026
11221
  structured_delegate: _convert_indices_from_coo_to_csr.out
@@ -11568,6 +11763,7 @@
11568
11763
  python_module: nn
11569
11764
  dispatch:
11570
11765
  CPU, CUDA: softshrink_out
11766
+ MPS: softshrink_out_mps
11571
11767
 
11572
11768
  - func: softshrink(Tensor self, Scalar lambd=0.5) -> Tensor
11573
11769
  structured_delegate: softshrink.out
@@ -11580,6 +11776,7 @@
11580
11776
  python_module: nn
11581
11777
  dispatch:
11582
11778
  CPU, CUDA: softshrink_backward_out
11779
+ MPS: softshrink_backward_out_mps
11583
11780
 
11584
11781
  - func: softshrink_backward(Tensor grad_output, Tensor self, Scalar lambd) -> Tensor
11585
11782
  structured_delegate: softshrink_backward.grad_input
@@ -12482,101 +12679,101 @@
12482
12679
  # make the operational distinction clear.
12483
12680
  tags: pointwise
12484
12681
 
12485
- - func: slow_conv_transpose2d.out(Tensor self, Tensor weight, int[2] kernel_size, Tensor? bias=None, int[2] stride=1, SymInt[2] padding=0, SymInt[2] output_padding=0, int[2] dilation=1, *, Tensor(a!) out) -> Tensor(a!)
12682
+ - func: slow_conv_transpose2d.out(Tensor self, Tensor weight, SymInt[2] kernel_size, Tensor? bias=None, SymInt[2] stride=1, SymInt[2] padding=0, SymInt[2] output_padding=0, SymInt[2] dilation=1, *, Tensor(a!) out) -> Tensor(a!)
12486
12683
  python_module: nn
12487
12684
  structured: True
12488
12685
  dispatch:
12489
12686
  CPU: slow_conv_transpose2d_structured_cpu
12490
12687
  CUDA: slow_conv_transpose2d_structured_cuda
12491
12688
 
12492
- - func: slow_conv_transpose2d(Tensor self, Tensor weight, int[2] kernel_size, Tensor? bias=None, int[2] stride=1, SymInt[2] padding=0, SymInt[2] output_padding=0, int[2] dilation=1) -> Tensor
12689
+ - func: slow_conv_transpose2d(Tensor self, Tensor weight, SymInt[2] kernel_size, Tensor? bias=None, SymInt[2] stride=1, SymInt[2] padding=0, SymInt[2] output_padding=0, SymInt[2] dilation=1) -> Tensor
12493
12690
  python_module: nn
12494
12691
  structured_delegate: slow_conv_transpose2d.out
12495
12692
 
12496
- - func: slow_conv_transpose3d.out(Tensor self, Tensor weight, int[3] kernel_size, Tensor? bias=None, int[3] stride=1, SymInt[3] padding=0, SymInt[3] output_padding=0, int[3] dilation=1, *, Tensor(a!) out) -> Tensor(a!)
12693
+ - func: slow_conv_transpose3d.out(Tensor self, Tensor weight, SymInt[3] kernel_size, Tensor? bias=None, SymInt[3] stride=1, SymInt[3] padding=0, SymInt[3] output_padding=0, SymInt[3] dilation=1, *, Tensor(a!) out) -> Tensor(a!)
12497
12694
  python_module: nn
12498
12695
  dispatch:
12499
12696
  CPU: slow_conv_transpose3d_out_cpu
12500
12697
  CUDA: slow_conv_transpose3d_out_cuda
12501
12698
 
12502
- - func: slow_conv_transpose3d(Tensor self, Tensor weight, int[3] kernel_size, Tensor? bias=None, int[3] stride=1, SymInt[3] padding=0, SymInt[3] output_padding=0, int[3] dilation=1) -> Tensor
12699
+ - func: slow_conv_transpose3d(Tensor self, Tensor weight, SymInt[3] kernel_size, Tensor? bias=None, SymInt[3] stride=1, SymInt[3] padding=0, SymInt[3] output_padding=0, SymInt[3] dilation=1) -> Tensor
12503
12700
  python_module: nn
12504
12701
  dispatch:
12505
12702
  CPU: slow_conv_transpose3d_cpu
12506
12703
  CUDA: slow_conv_transpose3d_cuda
12507
12704
 
12508
- - func: thnn_conv2d.out(Tensor self, Tensor weight, int[2] kernel_size, Tensor? bias=None, int[2] stride=1, int[2] padding=0, *, Tensor(a!) out) -> Tensor(a!)
12705
+ - func: thnn_conv2d.out(Tensor self, Tensor weight, SymInt[2] kernel_size, Tensor? bias=None, SymInt[2] stride=1, SymInt[2] padding=0, *, Tensor(a!) out) -> Tensor(a!)
12509
12706
  python_module: nn
12510
12707
 
12511
- - func: thnn_conv2d(Tensor self, Tensor weight, int[2] kernel_size, Tensor? bias=None, int[2] stride=1, int[2] padding=0) -> Tensor
12708
+ - func: thnn_conv2d(Tensor self, Tensor weight, SymInt[2] kernel_size, Tensor? bias=None, SymInt[2] stride=1, SymInt[2] padding=0) -> Tensor
12512
12709
  python_module: nn
12513
12710
 
12514
- - func: _slow_conv2d_forward.output(Tensor self, Tensor weight, int[2] kernel_size, Tensor? bias, int[2] stride, int[2] padding, *, Tensor(a!) output) -> Tensor(a!)
12711
+ - func: _slow_conv2d_forward.output(Tensor self, Tensor weight, SymInt[2] kernel_size, Tensor? bias, SymInt[2] stride, SymInt[2] padding, *, Tensor(a!) output) -> Tensor(a!)
12515
12712
  python_module: nn
12516
12713
  dispatch:
12517
12714
  CPU: slow_conv2d_forward_out_cpu
12518
12715
  CUDA: slow_conv2d_forward_out_cuda
12519
12716
 
12520
- - func: _slow_conv2d_forward(Tensor self, Tensor weight, int[2] kernel_size, Tensor? bias, int[2] stride, int[2] padding) -> Tensor
12717
+ - func: _slow_conv2d_forward(Tensor self, Tensor weight, SymInt[2] kernel_size, Tensor? bias, SymInt[2] stride, SymInt[2] padding) -> Tensor
12521
12718
  python_module: nn
12522
12719
  dispatch:
12523
12720
  CPU: slow_conv2d_forward_cpu
12524
12721
  CUDA: slow_conv2d_forward_cuda
12525
12722
 
12526
- - func: _slow_conv2d_backward.grad_input(Tensor grad_output, Tensor self, Tensor weight, int[2] kernel_size, int[2] stride, int[2] padding, *, Tensor(a!) grad_input, Tensor(b!) grad_weight, Tensor(c!) grad_bias) -> (Tensor(a!), Tensor(b!), Tensor(c!))
12723
+ - func: _slow_conv2d_backward.grad_input(Tensor grad_output, Tensor self, Tensor weight, SymInt[2] kernel_size, SymInt[2] stride, SymInt[2] padding, *, Tensor(a!) grad_input, Tensor(b!) grad_weight, Tensor(c!) grad_bias) -> (Tensor(a!), Tensor(b!), Tensor(c!))
12527
12724
  python_module: nn
12528
12725
  dispatch:
12529
12726
  CPU: slow_conv2d_backward_out_cpu
12530
12727
  CUDA: slow_conv2d_backward_out_cuda
12531
12728
 
12532
- - func: _slow_conv2d_backward.output_mask(Tensor grad_output, Tensor self, Tensor weight, int[2] kernel_size, int[2] stride, int[2] padding, bool[3] output_mask) -> (Tensor grad_input, Tensor grad_weight, Tensor grad_bias)
12729
+ - func: _slow_conv2d_backward.output_mask(Tensor grad_output, Tensor self, Tensor weight, SymInt[2] kernel_size, SymInt[2] stride, SymInt[2] padding, bool[3] output_mask) -> (Tensor grad_input, Tensor grad_weight, Tensor grad_bias)
12533
12730
  python_module: nn
12534
12731
  dispatch:
12535
12732
  CPU: slow_conv2d_backward_cpu
12536
12733
  CUDA: slow_conv2d_backward_cuda
12537
12734
  autogen: _slow_conv2d_backward.output_mask_out
12538
12735
 
12539
- - func: _conv_depthwise2d.out(Tensor self, Tensor weight, int[2] kernel_size, Tensor? bias, int[2] stride, SymInt[2] padding, int[2] dilation, *, Tensor(a!) out) -> Tensor(a!)
12736
+ - func: _conv_depthwise2d.out(Tensor self, Tensor weight, SymInt[2] kernel_size, Tensor? bias, SymInt[2] stride, SymInt[2] padding, SymInt[2] dilation, *, Tensor(a!) out) -> Tensor(a!)
12540
12737
  use_const_ref_for_mutable_tensors: True
12541
12738
  python_module: nn
12542
12739
  dispatch:
12543
12740
  CUDA: conv_depthwise2d_cuda_out
12544
12741
 
12545
- - func: _conv_depthwise2d(Tensor self, Tensor weight, int[2] kernel_size, Tensor? bias, int[2] stride, SymInt[2] padding, int[2] dilation) -> Tensor
12742
+ - func: _conv_depthwise2d(Tensor self, Tensor weight, SymInt[2] kernel_size, Tensor? bias, SymInt[2] stride, SymInt[2] padding, SymInt[2] dilation) -> Tensor
12546
12743
  python_module: nn
12547
12744
  dispatch:
12548
12745
  CUDA: conv_depthwise2d_cuda
12549
12746
 
12550
- - func: conv_depthwise3d(Tensor self, Tensor weight, int[3] kernel_size, Tensor? bias, int[3] stride, SymInt[3] padding, int[3] dilation) -> Tensor
12747
+ - func: conv_depthwise3d(Tensor self, Tensor weight, SymInt[3] kernel_size, Tensor? bias, SymInt[3] stride, SymInt[3] padding, SymInt[3] dilation) -> Tensor
12551
12748
  python_module: nn
12552
12749
  dispatch:
12553
12750
  CUDA: conv_depthwise3d_cuda
12554
12751
  autogen: conv_depthwise3d.out
12555
12752
 
12556
- - func: slow_conv3d.out(Tensor self, Tensor weight, int[3] kernel_size, Tensor? bias=None, int[3] stride=1, SymInt[3] padding=0, *, Tensor(a!) out) -> Tensor(a!)
12753
+ - func: slow_conv3d.out(Tensor self, Tensor weight, SymInt[3] kernel_size, Tensor? bias=None, SymInt[3] stride=1, SymInt[3] padding=0, *, Tensor(a!) out) -> Tensor(a!)
12557
12754
  python_module: nn
12558
12755
 
12559
- - func: slow_conv3d(Tensor self, Tensor weight, int[3] kernel_size, Tensor? bias=None, int[3] stride=1, SymInt[3] padding=0) -> Tensor
12756
+ - func: slow_conv3d(Tensor self, Tensor weight, SymInt[3] kernel_size, Tensor? bias=None, SymInt[3] stride=1, SymInt[3] padding=0) -> Tensor
12560
12757
  python_module: nn
12561
12758
 
12562
- - func: slow_conv3d_forward.output(Tensor self, Tensor weight, int[3] kernel_size, Tensor? bias, int[3] stride, SymInt[3] padding, *, Tensor(a!) output) -> Tensor(a!)
12759
+ - func: slow_conv3d_forward.output(Tensor self, Tensor weight, SymInt[3] kernel_size, Tensor? bias, SymInt[3] stride, SymInt[3] padding, *, Tensor(a!) output) -> Tensor(a!)
12563
12760
  python_module: nn
12564
12761
  dispatch:
12565
12762
  CPU: slow_conv3d_forward_out_cpu
12566
12763
 
12567
- - func: slow_conv3d_forward(Tensor self, Tensor weight, int[3] kernel_size, Tensor? bias, int[3] stride, SymInt[3] padding) -> Tensor
12764
+ - func: slow_conv3d_forward(Tensor self, Tensor weight, SymInt[3] kernel_size, Tensor? bias, SymInt[3] stride, SymInt[3] padding) -> Tensor
12568
12765
  python_module: nn
12569
12766
  dispatch:
12570
12767
  CPU: slow_conv3d_forward_cpu
12571
12768
 
12572
- - func: slow_conv_dilated2d(Tensor self, Tensor weight, int[2] kernel_size, Tensor? bias=None, int[2] stride=1, SymInt[2] padding=0, int[2] dilation=1) -> Tensor
12769
+ - func: slow_conv_dilated2d(Tensor self, Tensor weight, SymInt[2] kernel_size, Tensor? bias=None, SymInt[2] stride=1, SymInt[2] padding=0, SymInt[2] dilation=1) -> Tensor
12573
12770
  python_module: nn
12574
12771
  dispatch:
12575
12772
  CPU: slow_conv_dilated2d_cpu
12576
12773
  CUDA: slow_conv_dilated2d_cuda
12577
12774
  autogen: slow_conv_dilated2d.out
12578
12775
 
12579
- - func: slow_conv_dilated3d(Tensor self, Tensor weight, int[3] kernel_size, Tensor? bias=None, int[3] stride=1, SymInt[3] padding=0, int[3] dilation=1) -> Tensor
12776
+ - func: slow_conv_dilated3d(Tensor self, Tensor weight, SymInt[3] kernel_size, Tensor? bias=None, SymInt[3] stride=1, SymInt[3] padding=0, SymInt[3] dilation=1) -> Tensor
12580
12777
  python_module: nn
12581
12778
  dispatch:
12582
12779
  CPU: slow_conv_dilated3d_cpu
@@ -14269,19 +14466,20 @@
14269
14466
  variants: function
14270
14467
  tags: nondeterministic_seeded
14271
14468
 
14272
- - func: _scaled_dot_product_flash_attention(Tensor query, Tensor key, Tensor value, float dropout_p=0.0, bool is_causal=False, bool return_debug_mask=False, *, float? scale=None) -> (Tensor ouput, Tensor logsumexp, Tensor cum_seq_q, Tensor cum_seq_k, int max_q, int max_k, Tensor philox_seed, Tensor philox_offset, Tensor debug_attn_mask)
14469
+ - func: _scaled_dot_product_flash_attention(Tensor query, Tensor key, Tensor value, float dropout_p=0.0, bool is_causal=False, bool return_debug_mask=False, *, float? scale=None) -> (Tensor output, Tensor logsumexp, Tensor cum_seq_q, Tensor cum_seq_k, SymInt max_q, SymInt max_k, Tensor philox_seed, Tensor philox_offset, Tensor debug_attn_mask)
14273
14470
  dispatch:
14274
14471
  CPU: _scaled_dot_product_flash_attention_cpu
14275
14472
  CUDA: _scaled_dot_product_flash_attention_cuda
14276
14473
  NestedTensorCUDA: _scaled_dot_product_flash_attention_nestedtensor_cuda
14277
14474
  tags: nondeterministic_seeded
14278
14475
 
14279
- - func: _scaled_dot_product_flash_attention_backward(Tensor grad_out, Tensor query, Tensor key, Tensor value, Tensor out, Tensor logsumexp, Tensor cum_seq_q, Tensor cum_seq_k, int max_q, int max_k, float dropout_p, bool is_causal, Tensor philox_seed, Tensor philox_offset, *, float? scale=None) -> (Tensor grad_query, Tensor grad_key, Tensor grad_value)
14476
+ - func: _scaled_dot_product_flash_attention_backward(Tensor grad_out, Tensor query, Tensor key, Tensor value, Tensor out, Tensor logsumexp, Tensor cum_seq_q, Tensor cum_seq_k, SymInt max_q, SymInt max_k, float dropout_p, bool is_causal, Tensor philox_seed, Tensor philox_offset, *, float? scale=None) -> (Tensor grad_query, Tensor grad_key, Tensor grad_value)
14280
14477
  device_check: NoCheck
14281
14478
  variants: function
14282
14479
  dispatch:
14283
14480
  CPU: _scaled_dot_product_flash_attention_backward_cpu
14284
14481
  CUDA: _scaled_dot_product_flash_attention_backward_cuda
14482
+ NestedTensorCUDA: _scaled_dot_product_flash_attention_backward_nested
14285
14483
 
14286
14484
  - func: _scaled_dot_product_efficient_attention(Tensor query, Tensor key, Tensor value, Tensor? attn_bias, bool compute_log_sumexp, float dropout_p=0.0, bool is_causal=False, *, float? scale=None) -> (Tensor output, Tensor log_sumexp, Tensor philox_seed, Tensor philox_offset)
14287
14485
  dispatch:
@@ -14295,26 +14493,26 @@
14295
14493
  CUDA: _scaled_dot_product_efficient_attention_backward_cuda
14296
14494
  tags: nondeterministic_seeded
14297
14495
 
14298
- - func: _flash_attention_forward(Tensor query, Tensor key, Tensor value, Tensor cum_seq_q, Tensor cum_seq_k, int max_q, int max_k, float dropout_p, bool is_causal, bool return_debug_mask, *, float? scale=None) -> (Tensor output, Tensor softmax_logsumexp, Tensor philox_seed, Tensor philox_offset, Tensor debug_attn_mask)
14496
+ - func: _flash_attention_forward(Tensor query, Tensor key, Tensor value, Tensor? cum_seq_q, Tensor? cum_seq_k, SymInt max_q, SymInt max_k, float dropout_p, bool is_causal, bool return_debug_mask, *, float? scale=None) -> (Tensor output, Tensor softmax_logsumexp, Tensor philox_seed, Tensor philox_offset, Tensor debug_attn_mask)
14299
14497
  variants: function
14300
14498
  dispatch:
14301
14499
  CUDA: _flash_attention_forward
14302
14500
  tags: nondeterministic_seeded
14303
14501
 
14304
- - func: _flash_attention_backward(Tensor grad_out, Tensor query, Tensor key, Tensor value, Tensor out, Tensor logsumexp, Tensor cum_seq_q, Tensor cum_seq_k, int max_q, int max_k, float dropout_p, bool is_causal, Tensor philox_seed, Tensor philox_offset, *, float? scale=None) -> (Tensor, Tensor, Tensor)
14502
+ - func: _flash_attention_backward(Tensor grad_out, Tensor query, Tensor key, Tensor value, Tensor out, Tensor logsumexp, Tensor cum_seq_q, Tensor cum_seq_k, SymInt max_q, SymInt max_k, float dropout_p, bool is_causal, Tensor philox_seed, Tensor philox_offset, *, float? scale=None) -> (Tensor, Tensor, Tensor)
14305
14503
  device_check: NoCheck
14306
14504
  variants: function
14307
14505
  dispatch:
14308
14506
  CUDA: _flash_attention_backward
14309
14507
 
14310
14508
  # Returns ouput, logsumexp if compute_logsumexp
14311
- - func: _efficient_attention_forward(Tensor query, Tensor key, Tensor value, Tensor? bias, Tensor? cu_seqlens_q, Tensor? cu_seqlens_k, int? max_seqlen_q, float dropout_p, int custom_mask_type, bool compute_log_sumexp=False, *, float? scale=None, Tensor? causal_diagonal=None, Tensor? seqlen_k=None) -> (Tensor output, Tensor logsumexp, Tensor philox_seed, Tensor philox_offset)
14509
+ - func: _efficient_attention_forward(Tensor query, Tensor key, Tensor value, Tensor? bias, Tensor? cu_seqlens_q, Tensor? cu_seqlens_k, int? max_seqlen_q, float dropout_p, int custom_mask_type, bool compute_log_sumexp=False, *, float? scale=None, Tensor? causal_diagonal=None, Tensor? seqlen_k=None) -> (Tensor output, Tensor logsumexp, Tensor philox_seed, Tensor philox_offset, SymInt max_seqlen_batch_q, SymInt max_seqlen_batch_k)
14312
14510
  variants: function
14313
14511
  dispatch:
14314
14512
  CUDA: _efficient_attention_forward
14315
14513
  tags: nondeterministic_seeded
14316
14514
 
14317
- - func: _efficient_attention_backward(Tensor grad_out_, Tensor query, Tensor key, Tensor value, Tensor? bias, Tensor out, Tensor? cu_seqlens_q, Tensor? cu_seqlens_k, int max_seqlen_k, int max_seqlen_q, Tensor logsumexp, float dropout_p, Tensor philox_seed, Tensor philox_offset, int custom_mask_type, bool bias_requires_grad, *, float? scale=None, int? num_splits_key=None) -> (Tensor, Tensor, Tensor, Tensor)
14515
+ - func: _efficient_attention_backward(Tensor grad_out_, Tensor query, Tensor key, Tensor value, Tensor? bias, Tensor out, Tensor? cu_seqlens_q, Tensor? cu_seqlens_k, SymInt max_seqlen_q, SymInt max_seqlen_k, Tensor logsumexp, float dropout_p, Tensor philox_seed, Tensor philox_offset, int custom_mask_type, bool bias_requires_grad, *, float? scale=None, int? num_splits_key=None) -> (Tensor, Tensor, Tensor, Tensor)
14318
14516
  device_check: NoCheck
14319
14517
  variants: function
14320
14518
  dispatch:
@@ -14422,12 +14620,16 @@
14422
14620
  tags: pointwise
14423
14621
 
14424
14622
  - func: special_chebyshev_polynomial_t.x_scalar(Scalar x, Tensor n) -> Tensor
14623
+ dispatch:
14624
+ CompositeExplicitAutograd: special_chebyshev_polynomial_t
14425
14625
  device_check: NoCheck
14426
14626
  python_module: special
14427
14627
  variants: function
14428
14628
  tags: pointwise
14429
14629
 
14430
14630
  - func: special_chebyshev_polynomial_t.n_scalar(Tensor x, Scalar n) -> Tensor
14631
+ dispatch:
14632
+ CompositeExplicitAutograd: special_chebyshev_polynomial_t
14431
14633
  device_check: NoCheck
14432
14634
  python_module: special
14433
14635
  variants: function
@@ -14444,6 +14646,8 @@
14444
14646
  tags: pointwise
14445
14647
 
14446
14648
  - func: special_chebyshev_polynomial_t.x_scalar_out(Scalar x, Tensor n, *, Tensor(a!) out) -> Tensor(a!)
14649
+ dispatch:
14650
+ CompositeExplicitAutograd: special_chebyshev_polynomial_t_out
14447
14651
  device_check: NoCheck
14448
14652
  python_module: special
14449
14653
  variants: function
@@ -14465,12 +14669,16 @@
14465
14669
  tags: pointwise
14466
14670
 
14467
14671
  - func: special_chebyshev_polynomial_u.x_scalar(Scalar x, Tensor n) -> Tensor
14672
+ dispatch:
14673
+ CompositeExplicitAutograd: special_chebyshev_polynomial_u
14468
14674
  device_check: NoCheck
14469
14675
  python_module: special
14470
14676
  variants: function
14471
14677
  tags: pointwise
14472
14678
 
14473
14679
  - func: special_chebyshev_polynomial_u.n_scalar(Tensor x, Scalar n) -> Tensor
14680
+ dispatch:
14681
+ CompositeExplicitAutograd: special_chebyshev_polynomial_u
14474
14682
  device_check: NoCheck
14475
14683
  python_module: special
14476
14684
  variants: function
@@ -14487,6 +14695,8 @@
14487
14695
  tags: pointwise
14488
14696
 
14489
14697
  - func: special_chebyshev_polynomial_u.x_scalar_out(Scalar x, Tensor n, *, Tensor(a!) out) -> Tensor(a!)
14698
+ dispatch:
14699
+ CompositeExplicitAutograd: special_chebyshev_polynomial_u_out
14490
14700
  device_check: NoCheck
14491
14701
  python_module: special
14492
14702
  variants: function
@@ -14508,12 +14718,16 @@
14508
14718
  tags: pointwise
14509
14719
 
14510
14720
  - func: special_chebyshev_polynomial_v.x_scalar(Scalar x, Tensor n) -> Tensor
14721
+ dispatch:
14722
+ CompositeExplicitAutograd: special_chebyshev_polynomial_v
14511
14723
  device_check: NoCheck
14512
14724
  python_module: special
14513
14725
  variants: function
14514
14726
  tags: pointwise
14515
14727
 
14516
14728
  - func: special_chebyshev_polynomial_v.n_scalar(Tensor x, Scalar n) -> Tensor
14729
+ dispatch:
14730
+ CompositeExplicitAutograd: special_chebyshev_polynomial_v
14517
14731
  device_check: NoCheck
14518
14732
  python_module: special
14519
14733
  variants: function
@@ -14530,6 +14744,8 @@
14530
14744
  tags: pointwise
14531
14745
 
14532
14746
  - func: special_chebyshev_polynomial_v.x_scalar_out(Scalar x, Tensor n, *, Tensor(a!) out) -> Tensor(a!)
14747
+ dispatch:
14748
+ CompositeExplicitAutograd: special_chebyshev_polynomial_v_out
14533
14749
  device_check: NoCheck
14534
14750
  python_module: special
14535
14751
  variants: function
@@ -14551,12 +14767,16 @@
14551
14767
  tags: pointwise
14552
14768
 
14553
14769
  - func: special_chebyshev_polynomial_w.x_scalar(Scalar x, Tensor n) -> Tensor
14770
+ dispatch:
14771
+ CompositeExplicitAutograd: special_chebyshev_polynomial_w
14554
14772
  device_check: NoCheck
14555
14773
  python_module: special
14556
14774
  variants: function
14557
14775
  tags: pointwise
14558
14776
 
14559
14777
  - func: special_chebyshev_polynomial_w.n_scalar(Tensor x, Scalar n) -> Tensor
14778
+ dispatch:
14779
+ CompositeExplicitAutograd: special_chebyshev_polynomial_w
14560
14780
  device_check: NoCheck
14561
14781
  python_module: special
14562
14782
  variants: function
@@ -14573,6 +14793,8 @@
14573
14793
  tags: pointwise
14574
14794
 
14575
14795
  - func: special_chebyshev_polynomial_w.x_scalar_out(Scalar x, Tensor n, *, Tensor(a!) out) -> Tensor(a!)
14796
+ dispatch:
14797
+ CompositeExplicitAutograd: special_chebyshev_polynomial_w_out
14576
14798
  device_check: NoCheck
14577
14799
  python_module: special
14578
14800
  variants: function
@@ -14594,12 +14816,16 @@
14594
14816
  tags: pointwise
14595
14817
 
14596
14818
  - func: special_hermite_polynomial_h.x_scalar(Scalar x, Tensor n) -> Tensor
14819
+ dispatch:
14820
+ CompositeExplicitAutograd: special_hermite_polynomial_h
14597
14821
  device_check: NoCheck
14598
14822
  python_module: special
14599
14823
  variants: function
14600
14824
  tags: pointwise
14601
14825
 
14602
14826
  - func: special_hermite_polynomial_h.n_scalar(Tensor x, Scalar n) -> Tensor
14827
+ dispatch:
14828
+ CompositeExplicitAutograd: special_hermite_polynomial_h
14603
14829
  device_check: NoCheck
14604
14830
  python_module: special
14605
14831
  variants: function
@@ -14616,6 +14842,8 @@
14616
14842
  tags: pointwise
14617
14843
 
14618
14844
  - func: special_hermite_polynomial_h.x_scalar_out(Scalar x, Tensor n, *, Tensor(a!) out) -> Tensor(a!)
14845
+ dispatch:
14846
+ CompositeExplicitAutograd: special_hermite_polynomial_h_out
14619
14847
  device_check: NoCheck
14620
14848
  python_module: special
14621
14849
  variants: function
@@ -14637,12 +14865,16 @@
14637
14865
  tags: pointwise
14638
14866
 
14639
14867
  - func: special_hermite_polynomial_he.x_scalar(Scalar x, Tensor n) -> Tensor
14868
+ dispatch:
14869
+ CompositeExplicitAutograd: special_hermite_polynomial_he
14640
14870
  device_check: NoCheck
14641
14871
  python_module: special
14642
14872
  variants: function
14643
14873
  tags: pointwise
14644
14874
 
14645
14875
  - func: special_hermite_polynomial_he.n_scalar(Tensor x, Scalar n) -> Tensor
14876
+ dispatch:
14877
+ CompositeExplicitAutograd: special_hermite_polynomial_he
14646
14878
  device_check: NoCheck
14647
14879
  python_module: special
14648
14880
  variants: function
@@ -14659,6 +14891,8 @@
14659
14891
  tags: pointwise
14660
14892
 
14661
14893
  - func: special_hermite_polynomial_he.x_scalar_out(Scalar x, Tensor n, *, Tensor(a!) out) -> Tensor(a!)
14894
+ dispatch:
14895
+ CompositeExplicitAutograd: special_hermite_polynomial_he_out
14662
14896
  device_check: NoCheck
14663
14897
  python_module: special
14664
14898
  variants: function
@@ -14680,12 +14914,16 @@
14680
14914
  tags: pointwise
14681
14915
 
14682
14916
  - func: special_laguerre_polynomial_l.x_scalar(Scalar x, Tensor n) -> Tensor
14917
+ dispatch:
14918
+ CompositeExplicitAutograd: special_laguerre_polynomial_l
14683
14919
  device_check: NoCheck
14684
14920
  python_module: special
14685
14921
  variants: function
14686
14922
  tags: pointwise
14687
14923
 
14688
14924
  - func: special_laguerre_polynomial_l.n_scalar(Tensor x, Scalar n) -> Tensor
14925
+ dispatch:
14926
+ CompositeExplicitAutograd: special_laguerre_polynomial_l
14689
14927
  device_check: NoCheck
14690
14928
  python_module: special
14691
14929
  variants: function
@@ -14702,6 +14940,8 @@
14702
14940
  tags: pointwise
14703
14941
 
14704
14942
  - func: special_laguerre_polynomial_l.x_scalar_out(Scalar x, Tensor n, *, Tensor(a!) out) -> Tensor(a!)
14943
+ dispatch:
14944
+ CompositeExplicitAutograd: special_laguerre_polynomial_l_out
14705
14945
  device_check: NoCheck
14706
14946
  python_module: special
14707
14947
  variants: function
@@ -14723,12 +14963,16 @@
14723
14963
  tags: pointwise
14724
14964
 
14725
14965
  - func: special_legendre_polynomial_p.x_scalar(Scalar x, Tensor n) -> Tensor
14966
+ dispatch:
14967
+ CompositeExplicitAutograd: special_legendre_polynomial_p
14726
14968
  device_check: NoCheck
14727
14969
  python_module: special
14728
14970
  variants: function
14729
14971
  tags: pointwise
14730
14972
 
14731
14973
  - func: special_legendre_polynomial_p.n_scalar(Tensor x, Scalar n) -> Tensor
14974
+ dispatch:
14975
+ CompositeExplicitAutograd: special_legendre_polynomial_p
14732
14976
  device_check: NoCheck
14733
14977
  python_module: special
14734
14978
  variants: function
@@ -14745,6 +14989,8 @@
14745
14989
  tags: pointwise
14746
14990
 
14747
14991
  - func: special_legendre_polynomial_p.x_scalar_out(Scalar x, Tensor n, *, Tensor(a!) out) -> Tensor(a!)
14992
+ dispatch:
14993
+ CompositeExplicitAutograd: special_legendre_polynomial_p_out
14748
14994
  device_check: NoCheck
14749
14995
  python_module: special
14750
14996
  variants: function
@@ -14856,12 +15102,16 @@
14856
15102
  tags: pointwise
14857
15103
 
14858
15104
  - func: special_shifted_chebyshev_polynomial_t.x_scalar(Scalar x, Tensor n) -> Tensor
15105
+ dispatch:
15106
+ CompositeExplicitAutograd: special_shifted_chebyshev_polynomial_t
14859
15107
  device_check: NoCheck
14860
15108
  python_module: special
14861
15109
  variants: function
14862
15110
  tags: pointwise
14863
15111
 
14864
15112
  - func: special_shifted_chebyshev_polynomial_t.n_scalar(Tensor x, Scalar n) -> Tensor
15113
+ dispatch:
15114
+ CompositeExplicitAutograd: special_shifted_chebyshev_polynomial_t
14865
15115
  device_check: NoCheck
14866
15116
  python_module: special
14867
15117
  variants: function
@@ -14878,6 +15128,8 @@
14878
15128
  tags: pointwise
14879
15129
 
14880
15130
  - func: special_shifted_chebyshev_polynomial_t.x_scalar_out(Scalar x, Tensor n, *, Tensor(a!) out) -> Tensor(a!)
15131
+ dispatch:
15132
+ CompositeExplicitAutograd: special_shifted_chebyshev_polynomial_t_out
14881
15133
  device_check: NoCheck
14882
15134
  python_module: special
14883
15135
  variants: function
@@ -14899,12 +15151,16 @@
14899
15151
  tags: pointwise
14900
15152
 
14901
15153
  - func: special_shifted_chebyshev_polynomial_u.x_scalar(Scalar x, Tensor n) -> Tensor
15154
+ dispatch:
15155
+ CompositeExplicitAutograd: special_shifted_chebyshev_polynomial_u
14902
15156
  device_check: NoCheck
14903
15157
  python_module: special
14904
15158
  variants: function
14905
15159
  tags: pointwise
14906
15160
 
14907
15161
  - func: special_shifted_chebyshev_polynomial_u.n_scalar(Tensor x, Scalar n) -> Tensor
15162
+ dispatch:
15163
+ CompositeExplicitAutograd: special_shifted_chebyshev_polynomial_u
14908
15164
  device_check: NoCheck
14909
15165
  python_module: special
14910
15166
  variants: function
@@ -14921,6 +15177,8 @@
14921
15177
  tags: pointwise
14922
15178
 
14923
15179
  - func: special_shifted_chebyshev_polynomial_u.x_scalar_out(Scalar x, Tensor n, *, Tensor(a!) out) -> Tensor(a!)
15180
+ dispatch:
15181
+ CompositeExplicitAutograd: special_shifted_chebyshev_polynomial_u_out
14924
15182
  device_check: NoCheck
14925
15183
  python_module: special
14926
15184
  variants: function
@@ -14942,12 +15200,16 @@
14942
15200
  tags: pointwise
14943
15201
 
14944
15202
  - func: special_shifted_chebyshev_polynomial_v.x_scalar(Scalar x, Tensor n) -> Tensor
15203
+ dispatch:
15204
+ CompositeExplicitAutograd: special_shifted_chebyshev_polynomial_v
14945
15205
  device_check: NoCheck
14946
15206
  python_module: special
14947
15207
  variants: function
14948
15208
  tags: pointwise
14949
15209
 
14950
15210
  - func: special_shifted_chebyshev_polynomial_v.n_scalar(Tensor x, Scalar n) -> Tensor
15211
+ dispatch:
15212
+ CompositeExplicitAutograd: special_shifted_chebyshev_polynomial_v
14951
15213
  device_check: NoCheck
14952
15214
  python_module: special
14953
15215
  variants: function
@@ -14964,6 +15226,8 @@
14964
15226
  tags: pointwise
14965
15227
 
14966
15228
  - func: special_shifted_chebyshev_polynomial_v.x_scalar_out(Scalar x, Tensor n, *, Tensor(a!) out) -> Tensor(a!)
15229
+ dispatch:
15230
+ CompositeExplicitAutograd: special_shifted_chebyshev_polynomial_v_out
14967
15231
  device_check: NoCheck
14968
15232
  python_module: special
14969
15233
  variants: function
@@ -14985,12 +15249,16 @@
14985
15249
  tags: pointwise
14986
15250
 
14987
15251
  - func: special_shifted_chebyshev_polynomial_w.x_scalar(Scalar x, Tensor n) -> Tensor
15252
+ dispatch:
15253
+ CompositeExplicitAutograd: special_shifted_chebyshev_polynomial_w
14988
15254
  device_check: NoCheck
14989
15255
  python_module: special
14990
15256
  variants: function
14991
15257
  tags: pointwise
14992
15258
 
14993
15259
  - func: special_shifted_chebyshev_polynomial_w.n_scalar(Tensor x, Scalar n) -> Tensor
15260
+ dispatch:
15261
+ CompositeExplicitAutograd: special_shifted_chebyshev_polynomial_w
14994
15262
  device_check: NoCheck
14995
15263
  python_module: special
14996
15264
  variants: function
@@ -15007,6 +15275,8 @@
15007
15275
  tags: pointwise
15008
15276
 
15009
15277
  - func: special_shifted_chebyshev_polynomial_w.x_scalar_out(Scalar x, Tensor n, *, Tensor(a!) out) -> Tensor(a!)
15278
+ dispatch:
15279
+ CompositeExplicitAutograd: special_shifted_chebyshev_polynomial_w_out
15010
15280
  device_check: NoCheck
15011
15281
  python_module: special
15012
15282
  variants: function