torch-rb 0.23.1 → 0.25.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.
@@ -144,24 +144,6 @@
144
144
  dispatch:
145
145
  CompositeExplicitAutograd: _has_same_storage_numel
146
146
 
147
- - func: rename_(Tensor(a!) self, Dimname[]? names) -> Tensor(a!)
148
- variants: method
149
- tags: inplace_view
150
-
151
- - func: rename(Tensor(a) self, Dimname[]? names) -> Tensor(a)
152
- variants: method
153
-
154
- - func: align_to(Tensor(a) self, Dimname[] names) -> Tensor(a)
155
- variants: method
156
-
157
- - func: align_to.ellipsis_idx(Tensor(a) self, Dimname[] order, int ellipsis_idx) -> Tensor(a)
158
- variants: method
159
-
160
- - func: align_as(Tensor self, Tensor other) -> Tensor
161
- variants: method
162
-
163
- - func: align_tensors(Tensor[] tensors) -> Tensor[]
164
-
165
147
  # Not assert because it's a keyword; not Assert because FX already
166
148
  # took that syntax
167
149
  # TODO: need to specify this is side-effectful somehow
@@ -169,11 +151,13 @@
169
151
  dispatch:
170
152
  CPU: _assert_async_cpu
171
153
  CUDA: _assert_async_cuda
154
+ MPS: _assert_async_mps
172
155
 
173
156
  - func: _assert_async.msg(Tensor self, str assert_msg) -> ()
174
157
  dispatch:
175
158
  CPU: _assert_async_msg_cpu
176
159
  CUDA: _assert_async_msg_cuda
160
+ MPS: _assert_async_msg_mps
177
161
 
178
162
  - func: _assert_scalar(Scalar self, str assert_msg) -> ()
179
163
  dispatch:
@@ -216,9 +200,6 @@
216
200
  dispatch:
217
201
  CPU: _make_dep_token_cpu
218
202
 
219
- - func: refine_names(Tensor(a) self, Dimname[] names) -> Tensor(a)
220
- variants: method
221
-
222
203
  - func: _use_cudnn_ctc_loss(Tensor log_probs, Tensor targets, int[] input_lengths, int[] target_lengths, int blank) -> bool
223
204
  device_check: NoCheck # Tensor arguments allowed to be on different devices, see also _cudnn_ctc_loss
224
205
  dispatch:
@@ -418,11 +399,13 @@
418
399
  variants: function
419
400
  dispatch:
420
401
  CPU, CUDA, MPS, Meta: view_as_real
402
+ SparseCPU, SparseCUDA, SparseMPS: view_as_real_sparse
421
403
 
422
404
  - func: view_as_complex(Tensor(a) self) -> Tensor(a)
423
405
  variants: function
424
406
  dispatch:
425
407
  CPU, CUDA, MPS, Meta: view_as_complex
408
+ SparseCPU, SparseCUDA, SparseMPS: view_as_complex_sparse
426
409
 
427
410
  - func: sgn(Tensor self) -> Tensor
428
411
  variants: function, method
@@ -478,6 +461,7 @@
478
461
  CompositeExplicitAutograd: _conj_physical
479
462
  SparseCsrCPU, SparseCsrCUDA, SparseCsrMPS, SparseCsrMeta: conj_physical_sparse_csr
480
463
  autogen: _conj_physical.out
464
+ tags: pointwise
481
465
 
482
466
  - func: conj_physical(Tensor self) -> Tensor
483
467
  variants: function, method
@@ -706,7 +690,6 @@
706
690
  NestedTensorCPU, NestedTensorHPU, NestedTensorCUDA: NestedTensor_all
707
691
  tags: reduction
708
692
 
709
-
710
693
  - func: all.dims(Tensor self, int[]? dim=None, bool keepdim=False) -> Tensor
711
694
  device_check: NoCheck # TensorIterator
712
695
  structured_delegate: all.dims_out
@@ -720,8 +703,7 @@
720
703
  device_check: NoCheck # TensorIterator
721
704
  structured: True
722
705
  dispatch:
723
- CPU, CUDA: all_out
724
- MPS: all_out_mps
706
+ CPU, CUDA, MPS: all_out
725
707
  MTIA: all_out_mtia
726
708
  tags: reduction
727
709
 
@@ -734,15 +716,6 @@
734
716
  cpp_no_default_args: ['dim']
735
717
  tags: reduction
736
718
 
737
- - func: all.dimname(Tensor self, Dimname dim, bool keepdim=False) -> Tensor
738
- device_check: NoCheck # TensorIterator
739
- variants: function, method
740
- tags: reduction
741
-
742
- - func: all.dimname_out(Tensor self, Dimname dim, bool keepdim=False, *, Tensor(a!) out) -> Tensor(a!)
743
- device_check: NoCheck # TensorIterator
744
- tags: reduction
745
-
746
719
  - func: allclose(Tensor self, Tensor other, float rtol=1e-05, float atol=1e-08, bool equal_nan=False) -> bool
747
720
  variants: function, method
748
721
  tags: data_dependent_output
@@ -768,8 +741,7 @@
768
741
  device_check: NoCheck # TensorIterator
769
742
  structured: True
770
743
  dispatch:
771
- CPU, CUDA: any_out
772
- MPS: any_out_mps
744
+ CPU, CUDA, MPS: any_out
773
745
  tags: reduction
774
746
 
775
747
  - func: any.dims_out(Tensor self, int[]? dim=None, bool keepdim=False, *, Tensor(a!) out) -> Tensor(a!)
@@ -781,15 +753,6 @@
781
753
  cpp_no_default_args: ['dim']
782
754
  tags: reduction
783
755
 
784
- - func: any.dimname(Tensor self, Dimname dim, bool keepdim=False) -> Tensor
785
- device_check: NoCheck # TensorIterator
786
- variants: function, method
787
- tags: reduction
788
-
789
- - func: any.dimname_out(Tensor self, Dimname dim, bool keepdim=False, *, Tensor(a!) out) -> Tensor(a!)
790
- device_check: NoCheck # TensorIterator
791
- tags: reduction
792
-
793
756
  - func: arange(Scalar end, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
794
757
  dispatch:
795
758
  CompositeExplicitAutograd: arange
@@ -1089,11 +1052,13 @@
1089
1052
  variants: function
1090
1053
  dispatch:
1091
1054
  CUDA: _baddbmm_dtype_cuda
1055
+ XPU: _baddbmm_dtype_xpu
1092
1056
 
1093
1057
  - func: baddbmm.dtype_out(Tensor self, Tensor batch1, Tensor batch2, ScalarType out_dtype, *, Scalar beta=1, Scalar alpha=1, Tensor(a!) out) -> Tensor(a!)
1094
1058
  variants: function
1095
1059
  dispatch:
1096
1060
  CUDA: _baddbmm_out_dtype_cuda
1061
+ XPU: _baddbmm_out_dtype_xpu
1097
1062
 
1098
1063
  - func: bartlett_window(int window_length, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
1099
1064
  dispatch:
@@ -1131,16 +1096,14 @@
1131
1096
  variants: function
1132
1097
  tags: nondeterministic_seeded
1133
1098
  dispatch:
1134
- CPU, CUDA: bernoulli_out
1135
- MPS: bernoulli_out_mps
1099
+ CPU, CUDA, MPS: bernoulli_out
1136
1100
 
1137
1101
  - func: bernoulli_.Tensor(Tensor(a!) self, Tensor p, *, Generator? generator=None) -> Tensor(a!)
1138
1102
  device_check: NoCheck # TensorIterator
1139
1103
  variants: method
1140
1104
  tags: nondeterministic_seeded
1141
1105
  dispatch:
1142
- CPU, CUDA: bernoulli_
1143
- MPS: bernoulli_mps_
1106
+ CPU, CUDA, MPS: bernoulli_
1144
1107
  autogen: bernoulli.Tensor, bernoulli.Tensor_out
1145
1108
 
1146
1109
  - func: bernoulli_.float(Tensor(a!) self, float p=0.5, *, Generator? generator=None) -> Tensor(a!)
@@ -1148,8 +1111,7 @@
1148
1111
  variants: method
1149
1112
  tags: nondeterministic_seeded
1150
1113
  dispatch:
1151
- CPU, CUDA: bernoulli_
1152
- MPS: bernoulli_mps_
1114
+ CPU, CUDA, MPS: bernoulli_
1153
1115
  autogen: bernoulli.float_out
1154
1116
 
1155
1117
  # Note [bernoulli.p schema]
@@ -1318,7 +1280,7 @@
1318
1280
  - func: logical_xor.out(Tensor self, Tensor other, *, Tensor(a!) out) -> Tensor(a!)
1319
1281
  device_check: NoCheck # TensorIterator
1320
1282
  dispatch:
1321
- CPU, CUDA: logical_xor_out
1283
+ CPU, CUDA, MTIA: logical_xor_out
1322
1284
  MPS: logical_xor_out_mps
1323
1285
  tags: pointwise
1324
1286
 
@@ -1403,11 +1365,13 @@
1403
1365
  variants: function
1404
1366
  dispatch:
1405
1367
  CUDA: _bmm_dtype_cuda
1368
+ XPU: _bmm_dtype_xpu
1406
1369
 
1407
1370
  - func: bmm.dtype_out(Tensor self, Tensor mat2, ScalarType out_dtype, *, Tensor(a!) out) -> Tensor(a!)
1408
1371
  variants: function
1409
1372
  dispatch:
1410
1373
  CUDA: _bmm_out_dtype_cuda
1374
+ XPU: _bmm_out_dtype_xpu
1411
1375
 
1412
1376
  - func: broadcast_tensors(Tensor[] tensors) -> Tensor[]
1413
1377
  device_check: NoCheck
@@ -1441,28 +1405,14 @@
1441
1405
  MPS: cat_out_mps
1442
1406
  QuantizedCPU: cat_out_quantized_cpu
1443
1407
 
1444
- - func: cat.names(Tensor[] tensors, Dimname dim) -> Tensor
1445
-
1446
- - func: cat.names_out(Tensor[] tensors, Dimname dim, *, Tensor(a!) out) -> Tensor(a!)
1447
-
1448
- # alias for torch.cat
1449
1408
  - func: concat(Tensor[] tensors, int dim=0) -> Tensor
1450
1409
 
1451
1410
  - func: concat.out(Tensor[] tensors, int dim=0, *, Tensor(a!) out) -> Tensor(a!)
1452
1411
 
1453
- - func: concat.names(Tensor[] tensors, Dimname dim) -> Tensor
1454
-
1455
- - func: concat.names_out(Tensor[] tensors, Dimname dim, *, Tensor(a!) out) -> Tensor(a!)
1456
-
1457
- # alias for torch.cat
1458
1412
  - func: concatenate(Tensor[] tensors, int dim=0) -> Tensor
1459
1413
 
1460
1414
  - func: concatenate.out(Tensor[] tensors, int dim=0, *, Tensor(a!) out) -> Tensor(a!)
1461
1415
 
1462
- - func: concatenate.names(Tensor[] tensors, Dimname dim) -> Tensor
1463
-
1464
- - func: concatenate.names_out(Tensor[] tensors, Dimname dim, *, Tensor(a!) out) -> Tensor(a!)
1465
-
1466
1416
  - func: block_diag(Tensor[] tensors) -> Tensor
1467
1417
  variants: function
1468
1418
  dispatch:
@@ -1968,13 +1918,6 @@
1968
1918
  dispatch:
1969
1919
  CompositeExplicitAutograd: cummax_out
1970
1920
 
1971
- - func: cummax.dimname(Tensor self, Dimname dim) -> (Tensor values, Tensor indices)
1972
- device_check: NoCheck # TensorIterator
1973
- variants: function, method
1974
-
1975
- - func: cummax.dimname_out(Tensor self, Dimname dim, *, Tensor(a!) values, Tensor(b!) indices) -> (Tensor(a!) values, Tensor(b!) indices)
1976
- device_check: NoCheck # TensorIterator
1977
-
1978
1921
  - func: _cummax_helper(Tensor self, Tensor(a!) values, Tensor(b!) indices, int dim) -> ()
1979
1922
  variants: function
1980
1923
  dispatch:
@@ -1993,13 +1936,6 @@
1993
1936
  dispatch:
1994
1937
  CompositeExplicitAutograd: cummin_out
1995
1938
 
1996
- - func: cummin.dimname(Tensor self, Dimname dim) -> (Tensor values, Tensor indices)
1997
- device_check: NoCheck # TensorIterator
1998
- variants: function, method
1999
-
2000
- - func: cummin.dimname_out(Tensor self, Dimname dim, *, Tensor(a!) values, Tensor(b!) indices) -> (Tensor(a!) values, Tensor(b!) indices)
2001
- device_check: NoCheck # TensorIterator
2002
-
2003
1939
  - func: _cummin_helper(Tensor self, Tensor(a!) values, Tensor(b!) indices, int dim) -> ()
2004
1940
  variants: function
2005
1941
  dispatch:
@@ -2028,16 +1964,6 @@
2028
1964
  CPU, CUDA: cumprod_out
2029
1965
  MPS: cumprod_out_mps
2030
1966
 
2031
- - func: cumprod.dimname(Tensor self, Dimname dim, *, ScalarType? dtype=None) -> Tensor
2032
- device_check: NoCheck # TensorIterator
2033
- variants: function, method
2034
-
2035
- - func: cumprod_.dimname(Tensor(a!) self, Dimname dim, *, ScalarType? dtype=None) -> Tensor(a!)
2036
- variants: method
2037
-
2038
- - func: cumprod.dimname_out(Tensor self, Dimname dim, *, ScalarType? dtype=None, Tensor(a!) out) -> Tensor(a!)
2039
- device_check: NoCheck # TensorIterator
2040
-
2041
1967
  - func: cumprod_backward(Tensor grad, Tensor input, int dim, Tensor output) -> Tensor
2042
1968
  variants: function
2043
1969
  device_check: NoCheck
@@ -2060,16 +1986,6 @@
2060
1986
  CPU, CUDA: cumsum_out
2061
1987
  MPS: cumsum_out_mps
2062
1988
 
2063
- - func: cumsum.dimname(Tensor self, Dimname dim, *, ScalarType? dtype=None) -> Tensor
2064
- device_check: NoCheck # TensorIterator
2065
- variants: function, method
2066
-
2067
- - func: cumsum_.dimname(Tensor(a!) self, Dimname dim, *, ScalarType? dtype=None) -> Tensor(a!)
2068
- variants: method
2069
-
2070
- - func: cumsum.dimname_out(Tensor self, Dimname dim, *, ScalarType? dtype=None, Tensor(a!) out) -> Tensor(a!)
2071
- device_check: NoCheck # TensorIterator
2072
-
2073
1989
  - func: cumulative_trapezoid.x(Tensor y, Tensor x, *, int dim=-1) -> Tensor
2074
1990
 
2075
1991
  - func: cumulative_trapezoid.dx(Tensor y, *, Scalar dx=1, int dim=-1) -> Tensor
@@ -2122,9 +2038,6 @@
2122
2038
  python_module: linalg
2123
2039
  variants: function
2124
2040
 
2125
- - func: diagonal.Dimname(Tensor(a) self, *, Dimname outdim, Dimname dim1, Dimname dim2, int offset=0) -> Tensor(a)
2126
- variants: function, method
2127
-
2128
2041
  - func: diagonal_backward(Tensor grad_output, SymInt[] input_sizes, int offset, int dim1, int dim2) -> Tensor
2129
2042
  variants: function
2130
2043
  device_check: NoCheck
@@ -2311,6 +2224,7 @@
2311
2224
  dispatch:
2312
2225
  CPU: vdot
2313
2226
  CUDA: vdot_cuda
2227
+ MPS: vdot_mps
2314
2228
 
2315
2229
  - func: vdot.out(Tensor self, Tensor other, *, Tensor(a!) out) -> Tensor(a!)
2316
2230
  dispatch:
@@ -2354,7 +2268,6 @@
2354
2268
  # applying indices = indices.contiguous().
2355
2269
  # The backward functions apply a check that these input tensors are contiguous.
2356
2270
 
2357
-
2358
2271
  - func: _embedding_bag_forward_only(Tensor weight, Tensor indices, Tensor offsets, bool scale_grad_by_freq=False, int mode=0, bool sparse=False, Tensor? per_sample_weights=None, bool include_last_offset=False, int padding_idx=-1) -> (Tensor, Tensor, Tensor, Tensor)
2359
2272
  dispatch:
2360
2273
  CPU: _embedding_bag_forward_only_cpu
@@ -2407,13 +2320,6 @@
2407
2320
  MPS: _embedding_bag_per_sample_weights_backward_mps
2408
2321
  autogen: _embedding_bag_per_sample_weights_backward.out
2409
2322
 
2410
- - func: empty.names(int[] size, *, Dimname[]? names, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None, MemoryFormat? memory_format=None) -> Tensor
2411
- device_check: NoCheck
2412
- device_guard: False
2413
- dispatch:
2414
- CompositeExplicitAutograd: empty_names
2415
- autogen: empty.names_out
2416
-
2417
2323
  - func: empty.memory_format(SymInt[] size, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None, MemoryFormat? memory_format=None) -> Tensor
2418
2324
  dispatch:
2419
2325
  CPU: empty_cpu
@@ -2694,25 +2600,11 @@
2694
2600
  - func: flatten.using_ints(Tensor(a) self, int start_dim=0, int end_dim=-1) -> Tensor(a)
2695
2601
  variants: function, method
2696
2602
 
2697
- - func: flatten.named_out_dim(Tensor(a) self, int start_dim, int end_dim, Dimname out_dim) -> Tensor(a)
2698
- variants: function, method
2699
-
2700
- - func: flatten.using_names(Tensor(a) self, Dimname start_dim, Dimname end_dim, Dimname out_dim) -> Tensor(a)
2701
- variants: function, method
2702
-
2703
- - func: flatten.DimnameList(Tensor(a) self, Dimname[] dims, Dimname out_dim) -> Tensor(a)
2704
- variants: function, method
2705
-
2706
2603
  - func: unflatten.int(Tensor(a) self, int dim, SymInt[] sizes) -> Tensor(a)
2707
2604
  variants: function, method
2708
2605
  dispatch:
2709
2606
  CompositeImplicitAutograd: unflatten_symint
2710
2607
 
2711
- - func: unflatten.Dimname(Tensor(a) self, Dimname dim, SymInt[] sizes, Dimname[] names) -> Tensor(a)
2712
- variants: function, method
2713
- dispatch:
2714
- CompositeImplicitAutograd: unflatten_dimname_symint
2715
-
2716
2608
  - func: fill.Scalar(Tensor self, Scalar value) -> Tensor
2717
2609
  variants: function
2718
2610
  dispatch:
@@ -2728,8 +2620,7 @@
2728
2620
  device_check: NoCheck # TensorIterator
2729
2621
  variants: function, method
2730
2622
  dispatch:
2731
- CPU, CUDA: fill_
2732
- MPS: fill_scalar_mps
2623
+ CPU, CUDA, MPS: fill_
2733
2624
  QuantizedCPU, QuantizedCUDA: fill_quantized_
2734
2625
  Meta: fill_meta_
2735
2626
  SparseCsrCPU, SparseCsrCUDA, SparseCsrMeta: fill_sparse_csr_
@@ -2740,8 +2631,7 @@
2740
2631
  device_check: NoCheck # TensorIterator
2741
2632
  variants: function, method
2742
2633
  dispatch:
2743
- CPU, CUDA: fill_
2744
- MPS: fill_tensor_mps_
2634
+ CPU, CUDA, MPS: fill_
2745
2635
  QuantizedCPU, QuantizedCUDA: fill_quantized_
2746
2636
  Meta: fill_meta_
2747
2637
  NestedTensorCPU, NestedTensorHPU, NestedTensorCUDA: fill_nested_
@@ -2837,13 +2727,6 @@
2837
2727
  SparseCsrCPU, SparseCsrCUDA, SparseCsrMeta: frac_sparse_csr_out
2838
2728
  tags: pointwise
2839
2729
 
2840
- - func: full.names(int[] size, Scalar fill_value, *, Dimname[]? names, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
2841
- device_check: NoCheck
2842
- device_guard: False
2843
- dispatch:
2844
- CompositeExplicitAutograd: full
2845
- autogen: full.names_out
2846
-
2847
2730
  - func: full(SymInt[] size, Scalar fill_value, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
2848
2731
  dispatch:
2849
2732
  CompositeExplicitAutograd: full
@@ -2870,7 +2753,7 @@
2870
2753
  structured: True
2871
2754
  structured_inherits: TensorIteratorBase
2872
2755
  dispatch:
2873
- CPU, CUDA: gcd_out
2756
+ CPU, CUDA, MPS: gcd_out
2874
2757
  tags: pointwise
2875
2758
 
2876
2759
  - func: gcd(Tensor self, Tensor other) -> Tensor
@@ -2886,7 +2769,7 @@
2886
2769
  structured: True
2887
2770
  structured_inherits: TensorIteratorBase
2888
2771
  dispatch:
2889
- CPU, CUDA: lcm_out
2772
+ CPU, CUDA, MPS: lcm_out
2890
2773
  tags: pointwise
2891
2774
 
2892
2775
  - func: lcm(Tensor self, Tensor other) -> Tensor
@@ -2932,6 +2815,7 @@
2932
2815
  dispatch:
2933
2816
  CPU: grid_sampler_2d_backward_cpu
2934
2817
  CUDA: grid_sampler_2d_backward_cuda
2818
+ MPS: grid_sampler_2d_backward_mps
2935
2819
  autogen: grid_sampler_2d_backward.out
2936
2820
 
2937
2821
  # See NOTE [ grid_sample CPU fallback ]
@@ -2941,6 +2825,8 @@
2941
2825
  autogen: _grid_sampler_2d_cpu_fallback.out
2942
2826
 
2943
2827
  - func: _grid_sampler_2d_cpu_fallback_backward(Tensor grad_output, Tensor input, Tensor grid, int interpolation_mode, int padding_mode, bool align_corners) -> (Tensor, Tensor)
2828
+ dispatch:
2829
+ CompositeExplicitAutograd: _grid_sampler_2d_cpu_fallback_backward
2944
2830
 
2945
2831
  - func: grid_sampler_3d(Tensor input, Tensor grid, int interpolation_mode, int padding_mode, bool align_corners) -> Tensor
2946
2832
  dispatch:
@@ -2956,6 +2842,7 @@
2956
2842
  dispatch:
2957
2843
  CPU: grid_sampler_3d_backward_cpu
2958
2844
  CUDA: grid_sampler_3d_backward_cuda
2845
+ MPS: grid_sampler_3d_backward_mps
2959
2846
  autogen: grid_sampler_3d_backward.out
2960
2847
 
2961
2848
  - func: hann_window(int window_length, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
@@ -3009,14 +2896,14 @@
3009
2896
 
3010
2897
  - func: native_group_norm(Tensor input, Tensor? weight, Tensor? bias, SymInt N, SymInt C, SymInt HxW, int group, float eps) -> (Tensor, Tensor, Tensor)
3011
2898
  dispatch:
3012
- CPU, CUDA: native_group_norm
2899
+ CPU, CUDA, MPS: native_group_norm
3013
2900
  CompositeExplicitAutograd: math_group_norm
3014
2901
  autogen: native_group_norm.out
3015
2902
  tags: core
3016
2903
 
3017
2904
  - func: native_group_norm_backward(Tensor grad_out, Tensor input, Tensor mean, Tensor rstd, Tensor? weight, SymInt N, SymInt C, SymInt HxW, int group, bool[3] output_mask) -> (Tensor, Tensor, Tensor)
3018
2905
  dispatch:
3019
- CPU, CUDA: native_group_norm_backward
2906
+ CPU, CUDA, MPS: native_group_norm_backward
3020
2907
  autogen: native_group_norm_backward.out
3021
2908
  tags: core
3022
2909
 
@@ -3043,6 +2930,7 @@
3043
2930
  CPU: _fft_c2r_mkl
3044
2931
  CUDA: _fft_c2r_cufft
3045
2932
  MPS: _fft_c2r_mps
2933
+ tags: core
3046
2934
 
3047
2935
  - func: _fft_c2r.out(Tensor self, int[] dim, int normalization, SymInt last_dim_size, *, Tensor(a!) out) -> Tensor(a!)
3048
2936
  variants: function
@@ -3138,12 +3026,6 @@
3138
3026
  variants: function, method
3139
3027
  structured_delegate: index_copy.out
3140
3028
 
3141
- - func: index_copy_.dimname(Tensor(a!) self, Dimname dim, Tensor index, Tensor source) -> Tensor(a!)
3142
- variants: method
3143
-
3144
- - func: index_copy.dimname(Tensor self, Dimname dim, Tensor index, Tensor source) -> Tensor
3145
- variants: function, method
3146
-
3147
3029
  - func: index_put_(Tensor(a!) self, Tensor?[] indices, Tensor values, bool accumulate=False) -> Tensor(a!)
3148
3030
  device_check: NoCheck # delegate to _index_put_impl_, which leverages TensorIterator
3149
3031
  variants: function, method
@@ -3288,6 +3170,42 @@
3288
3170
  device_guard: False
3289
3171
  manual_cpp_binding: True
3290
3172
 
3173
+ - func: numel(Tensor self) -> int
3174
+ variants: method
3175
+ device_check: NoCheck
3176
+ device_guard: False
3177
+ manual_cpp_binding: True
3178
+
3179
+ - func: dim(Tensor self) -> int
3180
+ variants: method
3181
+ device_check: NoCheck
3182
+ device_guard: False
3183
+ manual_cpp_binding: True
3184
+
3185
+ - func: get_device(Tensor self) -> int
3186
+ variants: method
3187
+ device_check: NoCheck
3188
+ device_guard: False
3189
+ manual_cpp_binding: True
3190
+
3191
+ - func: storage_offset(Tensor self) -> int
3192
+ variants: method
3193
+ device_check: NoCheck
3194
+ device_guard: False
3195
+ manual_cpp_binding: True
3196
+
3197
+ - func: is_contiguous(Tensor self) -> bool
3198
+ variants: method
3199
+ device_check: NoCheck
3200
+ device_guard: False
3201
+ manual_cpp_binding: True
3202
+
3203
+ - func: is_contiguous.memory_format(Tensor self, MemoryFormat memory_format) -> bool
3204
+ variants: method
3205
+ device_check: NoCheck
3206
+ device_guard: False
3207
+ manual_cpp_binding: True
3208
+
3291
3209
  - func: kl_div(Tensor self, Tensor target, int reduction=Mean, *, bool log_target=False) -> Tensor
3292
3210
 
3293
3211
  - func: kron(Tensor self, Tensor other) -> Tensor
@@ -3306,11 +3224,6 @@
3306
3224
  CUDA: kthvalue_out_cuda
3307
3225
  MPS: kthvalue_out_mps
3308
3226
 
3309
- - func: kthvalue.dimname(Tensor self, SymInt k, Dimname dim, bool keepdim=False) -> (Tensor values, Tensor indices)
3310
- variants: function, method
3311
-
3312
- - func: kthvalue.dimname_out(Tensor self, SymInt k, Dimname dim, bool keepdim=False, *, Tensor(a!) values, Tensor(b!) indices) -> (Tensor(a!) values, Tensor(b!) indices)
3313
-
3314
3227
  - func: layer_norm(Tensor input, SymInt[] normalized_shape, Tensor? weight=None, Tensor? bias=None, float eps=1e-05, bool cudnn_enable=True) -> Tensor
3315
3228
  dispatch:
3316
3229
  CompositeImplicitAutograd: layer_norm_symint
@@ -3342,11 +3255,13 @@
3342
3255
  dispatch:
3343
3256
  CUDA: _fused_rms_norm_cuda
3344
3257
  MPS: _fused_rms_norm_mps
3258
+ XPU: _fused_rms_norm_xpu
3345
3259
  CompositeImplicitAutograd: rms_norm_composite
3346
3260
 
3347
3261
  - func: _fused_rms_norm_backward(Tensor grad_out, Tensor input, int[] normalized_shape, Tensor rstd, Tensor? weight, bool[2] output_mask) -> (Tensor, Tensor)
3348
3262
  dispatch:
3349
3263
  CUDA: _fused_rms_norm_backward_cuda
3264
+ XPU: _fused_rms_norm_backward_xpu
3350
3265
 
3351
3266
  - func: nan_to_num(Tensor self, float? nan=None, float? posinf=None, float? neginf=None) -> Tensor
3352
3267
  variants: function, method
@@ -3476,13 +3391,20 @@
3476
3391
 
3477
3392
  - func: ldexp.Tensor(Tensor self, Tensor other) -> Tensor
3478
3393
  variants: function, method
3394
+ tags: pointwise
3395
+ dispatch:
3396
+ CompositeExplicitAutograd: ldexp
3479
3397
 
3480
3398
  - func: ldexp_(Tensor(a!) self, Tensor other) -> Tensor(a!)
3481
3399
  variants: function, method
3482
3400
  tags: pointwise
3401
+ dispatch:
3402
+ CompositeExplicitAutograd: ldexp_
3483
3403
 
3484
3404
  - func: ldexp.out(Tensor self, Tensor other, *, Tensor(a!) out) -> Tensor(a!)
3485
3405
  tags: pointwise
3406
+ dispatch:
3407
+ CompositeExplicitAutograd: ldexp_out
3486
3408
 
3487
3409
  - func: linspace(Scalar start, Scalar end, int steps, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
3488
3410
  dispatch:
@@ -3676,8 +3598,7 @@
3676
3598
  structured_inherits: TensorIteratorBase
3677
3599
  variants: function
3678
3600
  dispatch:
3679
- CPU, CUDA: xlogy_out
3680
- MPS: xlogy_out_mps
3601
+ CPU, CUDA, MPS: xlogy_out
3681
3602
  tags: pointwise
3682
3603
 
3683
3604
  - func: xlogy.OutScalar_Self(Scalar self, Tensor other, *, Tensor(a!) out) -> Tensor(a!)
@@ -3742,9 +3663,6 @@
3742
3663
  dispatch:
3743
3664
  CompositeExplicitAutograd: log_softmax_out
3744
3665
 
3745
- - func: log_softmax.Dimname(Tensor self, Dimname dim, *, ScalarType? dtype=None) -> Tensor
3746
- variants: function, method
3747
-
3748
3666
  - func: _log_softmax(Tensor self, int dim, bool half_to_float) -> Tensor
3749
3667
  structured_delegate: _log_softmax.out
3750
3668
  tags: core
@@ -3789,11 +3707,6 @@
3789
3707
  dispatch:
3790
3708
  CompositeExplicitAutograd: logcumsumexp_out
3791
3709
 
3792
- - func: logcumsumexp.dimname(Tensor self, Dimname dim) -> Tensor
3793
- variants: function, method
3794
-
3795
- - func: logcumsumexp.dimname_out(Tensor self, Dimname dim, *, Tensor(a!) out) -> Tensor(a!)
3796
-
3797
3710
  - func: logsumexp(Tensor self, int[1] dim, bool keepdim=False) -> Tensor
3798
3711
  device_check: NoCheck # TensorIterator
3799
3712
  variants: function, method
@@ -3808,15 +3721,6 @@
3808
3721
  CompositeExplicitAutogradNonFunctional: logsumexp_out
3809
3722
  tags: reduction
3810
3723
 
3811
- - func: logsumexp.names(Tensor self, Dimname[1] dim, bool keepdim=False) -> Tensor
3812
- device_check: NoCheck # TensorIterator
3813
- variants: function, method
3814
- tags: reduction
3815
-
3816
- - func: logsumexp.names_out(Tensor self, Dimname[1] dim, bool keepdim=False, *, Tensor(a!) out) -> Tensor(a!)
3817
- device_check: NoCheck # TensorIterator
3818
- tags: reduction
3819
-
3820
3724
  - func: margin_ranking_loss(Tensor input1, Tensor input2, Tensor target, float margin=0.0, int reduction=Mean) -> Tensor
3821
3725
 
3822
3726
  - func: matmul(Tensor self, Tensor other) -> Tensor
@@ -3871,8 +3775,7 @@
3871
3775
  device_check: NoCheck # TensorIterator
3872
3776
  structured: True
3873
3777
  dispatch:
3874
- CPU, CUDA, MTIA: aminmax_out
3875
- MPS: aminmax_out_mps
3778
+ CPU, CUDA, MPS: aminmax_out
3876
3779
  tags: reduction
3877
3780
 
3878
3781
  - func: _compute_linear_combination(Tensor input, Tensor coefficients) -> Tensor
@@ -3901,15 +3804,6 @@
3901
3804
  MPS: max_out_mps
3902
3805
  tags: reduction
3903
3806
 
3904
- - func: max.names_dim(Tensor self, Dimname dim, bool keepdim=False) -> (Tensor values, Tensor indices)
3905
- device_check: NoCheck # TensorIterator
3906
- variants: function, method
3907
- tags: reduction
3908
-
3909
- - func: max.names_dim_max(Tensor self, Dimname dim, bool keepdim=False, *, Tensor(a!) max, Tensor(b!) max_values) -> (Tensor(a!) values, Tensor(b!) indices)
3910
- device_check: NoCheck # TensorIterator
3911
- tags: reduction
3912
-
3913
3807
  - func: value_selecting_reduction_backward(Tensor grad, int dim, Tensor indices, SymInt[] sizes, bool keepdim) -> Tensor
3914
3808
  variants: function
3915
3809
  device_check: NoCheck
@@ -3926,8 +3820,7 @@
3926
3820
  - func: amax.out(Tensor self, int[1] dim=[], bool keepdim=False, *, Tensor(a!) out) -> Tensor(a!)
3927
3821
  structured: True
3928
3822
  dispatch:
3929
- CPU, CUDA, MTIA: amax_out
3930
- MPS: amax_out_mps
3823
+ CPU, CUDA, MPS: amax_out
3931
3824
  tags: reduction
3932
3825
 
3933
3826
  # Return: (Tensor output, Tensor indices)
@@ -4011,20 +3904,10 @@
4011
3904
  structured: True
4012
3905
  device_check: NoCheck # TensorIterator
4013
3906
  dispatch:
4014
- CPU, CUDA: mean_out
4015
- MPS: mean_out_mps
3907
+ CPU, CUDA, MPS: mean_out
4016
3908
  QuantizedCPU: mean_out_quantized_cpu
4017
3909
  tags: reduction
4018
3910
 
4019
- - func: mean.names_dim(Tensor self, Dimname[1] dim, bool keepdim=False, *, ScalarType? dtype=None) -> Tensor
4020
- device_check: NoCheck # TensorIterator
4021
- variants: function, method
4022
- tags: reduction
4023
-
4024
- - func: mean.names_out(Tensor self, Dimname[1] dim, bool keepdim=False, *, ScalarType? dtype=None, Tensor(a!) out) -> Tensor(a!)
4025
- device_check: NoCheck # TensorIterator
4026
- tags: reduction
4027
-
4028
3911
  - func: nanmean(Tensor self, int[1]? dim=None, bool keepdim=False, *, ScalarType? dtype=None) -> Tensor
4029
3912
  device_check: NoCheck # Composite
4030
3913
  variants: function, method
@@ -4051,11 +3934,6 @@
4051
3934
  CUDA: median_out_cuda
4052
3935
  MPS: median_out_mps
4053
3936
 
4054
- - func: median.names_dim(Tensor self, Dimname dim, bool keepdim=False) -> (Tensor values, Tensor indices)
4055
- variants: function, method
4056
-
4057
- - func: median.names_dim_values(Tensor self, Dimname dim, bool keepdim=False, *, Tensor(a!) values, Tensor(b!) indices) -> (Tensor(a!) values, Tensor(b!) indices)
4058
-
4059
3937
  - func: nanmedian(Tensor self) -> Tensor
4060
3938
  variants: function, method
4061
3939
  dispatch:
@@ -4075,11 +3953,6 @@
4075
3953
  CUDA: nanmedian_out_cuda
4076
3954
  MPS: nanmedian_out_mps
4077
3955
 
4078
- - func: nanmedian.names_dim(Tensor self, Dimname dim, bool keepdim=False) -> (Tensor values, Tensor indices)
4079
- variants: function, method
4080
-
4081
- - func: nanmedian.names_dim_values(Tensor self, Dimname dim, bool keepdim=False, *, Tensor(a!) values, Tensor(b!) indices) -> (Tensor(a!) values, Tensor(b!) indices)
4082
-
4083
3956
  - func: min.dim(Tensor self, int dim, bool keepdim=False) -> (Tensor values, Tensor indices)
4084
3957
  device_check: NoCheck # TensorIterator
4085
3958
  structured_delegate: min.dim_min
@@ -4098,15 +3971,6 @@
4098
3971
  MPS: min_out_mps
4099
3972
  tags: reduction
4100
3973
 
4101
- - func: min.names_dim(Tensor self, Dimname dim, bool keepdim=False) -> (Tensor values, Tensor indices)
4102
- device_check: NoCheck # TensorIterator
4103
- variants: function, method
4104
- tags: reduction
4105
-
4106
- - func: min.names_dim_min(Tensor self, Dimname dim, bool keepdim=False, *, Tensor(a!) min, Tensor(b!) min_indices) -> (Tensor(a!) values, Tensor(b!) indices)
4107
- device_check: NoCheck # TensorIterator
4108
- tags: reduction
4109
-
4110
3974
  - func: amin(Tensor self, int[1] dim=[], bool keepdim=False) -> Tensor
4111
3975
  variants: function, method
4112
3976
  structured_delegate: amin.out
@@ -4115,8 +3979,7 @@
4115
3979
  - func: amin.out(Tensor self, int[1] dim=[], bool keepdim=False, *, Tensor(a!) out) -> Tensor(a!)
4116
3980
  structured: True
4117
3981
  dispatch:
4118
- CPU, CUDA, MTIA: amin_out
4119
- MPS: amin_out_mps
3982
+ CPU, CUDA, MPS: amin_out
4120
3983
  tags: reduction
4121
3984
 
4122
3985
  # TODO: Add this function to MPS dispatch key so that we avoid declaring it in
@@ -4187,12 +4050,32 @@
4187
4050
  autogen: miopen_rnn.out
4188
4051
  tags: nondeterministic_seeded
4189
4052
 
4190
-
4191
4053
  - func: miopen_rnn_backward(Tensor input, Tensor[] weight, int weight_stride0, Tensor weight_buf, Tensor hx, Tensor? cx, Tensor output, Tensor? grad_output, Tensor? grad_hy, Tensor? grad_cy, int mode, int hidden_size, int num_layers, bool batch_first, float dropout, bool train, bool bidirectional, int[] batch_sizes, Tensor? dropout_state, Tensor reserve, bool[4] output_mask) -> (Tensor, Tensor, Tensor, Tensor[])
4192
4054
  dispatch:
4193
4055
  CUDA: miopen_rnn_backward
4194
4056
  autogen: miopen_rnn_backward.out
4195
4057
 
4058
+ - func: _use_miopen_ctc_loss(Tensor log_probs, Tensor targets, int[] input_lengths, int[] target_lengths, int blank) -> bool
4059
+ device_check: NoCheck # Tensor arguments allowed to be on different devices, see also miopen_ctc_loss
4060
+ dispatch:
4061
+ CUDA: _use_miopen_ctc_loss
4062
+
4063
+ - func: _use_miopen_ctc_loss.Tensor(Tensor log_probs, Tensor targets, Tensor input_lengths, Tensor target_lengths, int blank) -> bool
4064
+ device_check: NoCheck # Tensor arguments allowed to be on different devices, see also miopen_ctc_loss
4065
+ dispatch:
4066
+ CUDA: _use_miopen_ctc_loss_tensor
4067
+
4068
+ - func: miopen_ctc_loss(Tensor log_probs, Tensor targets, int[] input_lengths, int[] target_lengths, int blank, bool deterministic, bool zero_infinity) -> (Tensor, Tensor)
4069
+ device_check: NoCheck # log_probs is expected to be on CUDA while targets is expected to be on CPU
4070
+ dispatch:
4071
+ CUDA: miopen_ctc_loss
4072
+ autogen: miopen_ctc_loss.out
4073
+
4074
+ - func: miopen_ctc_loss.Tensor(Tensor log_probs, Tensor targets, Tensor input_lengths, Tensor target_lengths, int blank, bool deterministic, bool zero_infinity) -> (Tensor, Tensor)
4075
+ device_check: NoCheck # log_probs is expected to be on CUDA while targets is expected to be on CPU
4076
+ dispatch:
4077
+ CUDA: miopen_ctc_loss_tensor
4078
+
4196
4079
  - func: mm(Tensor self, Tensor mat2) -> Tensor
4197
4080
  structured_delegate: mm.out
4198
4081
  variants: function, method
@@ -4215,10 +4098,12 @@
4215
4098
  - func: mm.dtype(Tensor self, Tensor mat2, ScalarType out_dtype) -> Tensor
4216
4099
  dispatch:
4217
4100
  CUDA: _mm_dtype_cuda
4101
+ XPU: _mm_dtype_xpu
4218
4102
 
4219
4103
  - func: mm.dtype_out(Tensor self, Tensor mat2, ScalarType out_dtype, *, Tensor(a!) out) -> Tensor(a!)
4220
4104
  dispatch:
4221
4105
  CUDA: _mm_dtype_out_cuda
4106
+ XPU: _mm_dtype_out_xpu
4222
4107
 
4223
4108
  - func: _int_mm(Tensor self, Tensor mat2) -> Tensor
4224
4109
  dispatch:
@@ -4293,11 +4178,6 @@
4293
4178
  dispatch:
4294
4179
  CompositeExplicitAutograd: mode_out
4295
4180
 
4296
- - func: mode.dimname(Tensor self, Dimname dim, bool keepdim=False) -> (Tensor values, Tensor indices)
4297
- variants: function, method
4298
-
4299
- - func: mode.dimname_out(Tensor self, Dimname dim, bool keepdim=False, *, Tensor(a!) values, Tensor(b!) indices) -> (Tensor(a!) values, Tensor(b!) indices)
4300
-
4301
4181
  - func: mul.Tensor(Tensor self, Tensor other) -> Tensor
4302
4182
  device_check: NoCheck # TensorIterator
4303
4183
  structured_delegate: mul.out
@@ -4381,7 +4261,7 @@
4381
4261
 
4382
4262
  - func: mvlgamma.out(Tensor self, int p, *, Tensor(a!) out) -> Tensor(a!)
4383
4263
  dispatch:
4384
- CPU, CUDA: mvlgamma_out
4264
+ CPU, CUDA, MPS: mvlgamma_out
4385
4265
  tags: pointwise
4386
4266
 
4387
4267
  - func: mvlgamma(Tensor self, int p) -> Tensor
@@ -4535,13 +4415,6 @@
4535
4415
  CompositeExplicitAutograd: _nnpack_spatial_convolution
4536
4416
  autogen: _nnpack_spatial_convolution.out
4537
4417
 
4538
- - func: ones.names(int[] size, *, Dimname[]? names, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
4539
- device_check: NoCheck
4540
- device_guard: False
4541
- dispatch:
4542
- CompositeExplicitAutograd: ones
4543
- autogen: ones.names_out
4544
-
4545
4418
  - func: ones(SymInt[] size, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
4546
4419
  dispatch:
4547
4420
  CompositeExplicitAutograd: ones
@@ -4569,15 +4442,14 @@
4569
4442
 
4570
4443
  - func: _cdist_forward(Tensor x1, Tensor x2, float p, int? compute_mode) -> Tensor
4571
4444
  dispatch:
4572
- CPU, CUDA: _cdist_forward
4445
+ CPU, CUDA, MPS: _cdist_forward
4573
4446
  MTIA: _cdist_forward_mtia
4574
- MPS: _cdist_forward_mps
4575
4447
  autogen: _cdist_forward.out
4576
4448
  tags: core
4577
4449
 
4578
4450
  - func: _cdist_backward(Tensor grad, Tensor x1, Tensor x2, float p, Tensor cdist) -> Tensor
4579
4451
  dispatch:
4580
- CPU, CUDA: _cdist_backward
4452
+ CPU, CUDA, MPS: _cdist_backward
4581
4453
  autogen: _cdist_backward.out
4582
4454
 
4583
4455
  - func: pdist(Tensor self, float p=2) -> Tensor
@@ -4748,22 +4620,6 @@
4748
4620
  autogen: scalar_tensor.out
4749
4621
  tags: core
4750
4622
 
4751
- - func: rand.names(SymInt[] size, *, Dimname[]? names, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
4752
- device_check: NoCheck
4753
- device_guard: False
4754
- dispatch:
4755
- CompositeExplicitAutograd: rand
4756
- autogen: rand.names_out
4757
- tags: nondeterministic_seeded
4758
-
4759
- - func: rand.generator_with_names(SymInt[] size, *, Generator? generator, Dimname[]? names, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
4760
- device_check: NoCheck
4761
- device_guard: False
4762
- tags: nondeterministic_seeded
4763
- dispatch:
4764
- CompositeExplicitAutograd: rand
4765
- autogen: rand.generator_with_names_out
4766
-
4767
4623
  - func: rand(SymInt[] size, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
4768
4624
  tags: [core, nondeterministic_seeded]
4769
4625
  dispatch:
@@ -4894,22 +4750,6 @@
4894
4750
  dispatch:
4895
4751
  CompositeExplicitAutograd: randn
4896
4752
 
4897
- - func: randn.names(SymInt[] size, *, Dimname[]? names, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
4898
- tags: nondeterministic_seeded
4899
- device_check: NoCheck
4900
- device_guard: False
4901
- dispatch:
4902
- CompositeExplicitAutograd: randn
4903
- autogen: randn.names_out
4904
-
4905
- - func: randn.generator_with_names(SymInt[] size, *, Generator? generator, Dimname[]? names, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
4906
- tags: nondeterministic_seeded
4907
- device_check: NoCheck
4908
- device_guard: False
4909
- dispatch:
4910
- CompositeExplicitAutograd: randn
4911
- autogen: randn.generator_with_names_out
4912
-
4913
4753
  - func: randn.out(SymInt[] size, *, Tensor(a!) out) -> Tensor(a!)
4914
4754
  tags: nondeterministic_seeded
4915
4755
 
@@ -4993,8 +4833,7 @@
4993
4833
  structured: True
4994
4834
  structured_inherits: TensorIteratorBase
4995
4835
  dispatch:
4996
- CPU, CUDA, MTIA: reciprocal_out
4997
- MPS: reciprocal_out_mps
4836
+ CPU, CUDA, MPS, MTIA: reciprocal_out
4998
4837
  tags: pointwise
4999
4838
 
5000
4839
  - func: neg(Tensor self) -> Tensor
@@ -5084,7 +4923,8 @@
5084
4923
  device_check: NoCheck
5085
4924
  device_guard: False
5086
4925
  dispatch:
5087
- CPU, CUDA, Meta, QuantizedCPU, QuantizedCUDA, ZeroTensor, MPS, MTIA: _reshape_alias
4926
+ CPU, CUDA, Meta, QuantizedCPU, QuantizedCUDA, MPS, MTIA: _reshape_alias
4927
+ ZeroTensor: _reshape_alias_symint
5088
4928
  # We don't need to support mkldnn since this is handled explicitly by the reshape operator.
5089
4929
 
5090
4930
  - func: _mkldnn_reshape(Tensor self, int[] shape) -> Tensor
@@ -5308,11 +5148,6 @@
5308
5148
  CPU, CUDA, MPS, MTIA: rsqrt_out
5309
5149
  tags: pointwise
5310
5150
 
5311
- - func: select.Dimname(Tensor(a) self, Dimname dim, int index) -> Tensor(a)
5312
- variants: function, method
5313
- device_check: NoCheck
5314
- device_guard: False
5315
-
5316
5151
  - func: select.int(Tensor(a) self, int dim, SymInt index) -> Tensor(a)
5317
5152
  variants: function, method
5318
5153
  device_check: NoCheck
@@ -5344,6 +5179,7 @@
5344
5179
 
5345
5180
  - func: selu_(Tensor(a!) self) -> Tensor(a!)
5346
5181
  device_check: NoCheck # TensorIterator
5182
+ tags: pointwise
5347
5183
 
5348
5184
  - func: celu(Tensor self, Scalar alpha=1.0) -> Tensor
5349
5185
  device_check: NoCheck # TensorIterator
@@ -5356,6 +5192,7 @@
5356
5192
  dispatch:
5357
5193
  CompositeExplicitAutograd: celu_
5358
5194
  autogen: celu.out
5195
+ tags: pointwise
5359
5196
 
5360
5197
  - func: silu(Tensor self) -> Tensor
5361
5198
  structured_delegate: silu.out
@@ -5376,8 +5213,7 @@
5376
5213
  structured_inherits: TensorIteratorBase
5377
5214
  python_module: nn
5378
5215
  dispatch:
5379
- CPU, CUDA, MTIA: silu_out
5380
- MPS: silu_out_mps
5216
+ CPU, CUDA, MPS, MTIA: silu_out
5381
5217
  tags: pointwise
5382
5218
 
5383
5219
  - func: silu_backward.grad_input(Tensor grad_output, Tensor self, *, Tensor(a!) grad_input) -> Tensor(a!)
@@ -5385,8 +5221,7 @@
5385
5221
  structured_inherits: TensorIteratorBase
5386
5222
  python_module: nn
5387
5223
  dispatch:
5388
- CPU, CUDA: silu_backward_out
5389
- MPS: silu_backward_out_mps
5224
+ CPU, CUDA, MPS: silu_backward_out
5390
5225
  tags: pointwise
5391
5226
 
5392
5227
  - func: silu_backward(Tensor grad_output, Tensor self) -> Tensor
@@ -5571,11 +5406,6 @@
5571
5406
  device_guard: False
5572
5407
  manual_cpp_binding: True
5573
5408
 
5574
- - func: size.Dimname(Tensor self, Dimname dim) -> int
5575
- variants: function, method
5576
- device_check: NoCheck
5577
- device_guard: False
5578
-
5579
5409
  - func: sym_size.int(Tensor self, int dim) -> SymInt
5580
5410
  variants: function
5581
5411
  device_check: NoCheck
@@ -5684,9 +5514,6 @@
5684
5514
  dispatch:
5685
5515
  CompositeExplicitAutograd: softmax_out
5686
5516
 
5687
- - func: softmax.Dimname(Tensor self, Dimname dim, *, ScalarType? dtype=None) -> Tensor
5688
- variants: function, method
5689
-
5690
5517
  - func: _softmax(Tensor self, int dim, bool half_to_float) -> Tensor
5691
5518
  structured_delegate: _softmax.out
5692
5519
  dispatch:
@@ -5788,12 +5615,6 @@
5788
5615
  NestedTensorCPU, NestedTensorHPU, NestedTensorCUDA: squeeze_dim_nested
5789
5616
  tags: core
5790
5617
 
5791
- - func: squeeze.dimname(Tensor(a) self, Dimname dim) -> Tensor(a)
5792
- variants: function, method
5793
- device_check: NoCheck
5794
- device_guard: False
5795
-
5796
-
5797
5618
  - func: squeeze.dims(Tensor(a) self, int[] dim) -> Tensor(a)
5798
5619
  variants: function, method
5799
5620
  device_check: NoCheck
@@ -5828,12 +5649,6 @@
5828
5649
  dispatch:
5829
5650
  CompositeExplicitAutograd: squeeze_
5830
5651
 
5831
- - func: squeeze_.dimname(Tensor(a!) self, Dimname dim) -> Tensor(a!)
5832
- variants: method
5833
- device_check: NoCheck
5834
- device_guard: False
5835
- tags: inplace_view
5836
-
5837
5652
  - func: sspaddmm(Tensor self, Tensor mat1, Tensor mat2, *, Scalar beta=1, Scalar alpha=1) -> Tensor
5838
5653
  variants: function, method
5839
5654
 
@@ -5901,11 +5716,6 @@
5901
5716
  device_guard: False
5902
5717
  manual_cpp_binding: True
5903
5718
 
5904
- - func: stride.Dimname(Tensor self, Dimname dim) -> int
5905
- variants: function, method
5906
- device_check: NoCheck
5907
- device_guard: False
5908
-
5909
5719
  - func: sym_stride.int(Tensor self, int dim) -> SymInt
5910
5720
  variants: function
5911
5721
  device_check: NoCheck
@@ -5934,24 +5744,13 @@
5934
5744
  SparseCsrCPU, SparseCsrCUDA, SparseCsrMeta: sum_sparse_compressed
5935
5745
  tags: [core, reduction]
5936
5746
 
5937
- - func: sum.dim_DimnameList(Tensor self, Dimname[1] dim, bool keepdim=False, *, ScalarType? dtype=None) -> Tensor
5938
- device_check: NoCheck # TensorIterator
5939
- variants: function, method
5940
- tags: reduction
5941
-
5942
5747
  - func: sum.IntList_out(Tensor self, int[1]? dim, bool keepdim=False, *, ScalarType? dtype=None, Tensor(a!) out) -> Tensor(a!)
5943
5748
  structured: True
5944
5749
  device_check: NoCheck # TensorIterator
5945
5750
  dispatch:
5946
- CPU, CUDA: sum_out
5947
- MPS: sum_out_mps
5751
+ CPU, CUDA, MPS: sum_out
5948
5752
  tags: reduction
5949
5753
 
5950
- - func: sum.DimnameList_out(Tensor self, Dimname[1] dim, bool keepdim=False, *, ScalarType? dtype=None, Tensor(a!) out) -> Tensor(a!)
5951
- device_check: NoCheck # TensorIterator
5952
- tags: reduction
5953
-
5954
- # TODO: this function will be replaced once nested expand semantics have been settled on
5955
5754
  - func: _nested_sum_backward(Tensor grad, Tensor self, int[1]? dim, bool keepdim=False) -> Tensor
5956
5755
  dispatch:
5957
5756
  NestedTensorCPU: _nested_sum_backward_cpu
@@ -5959,14 +5758,12 @@
5959
5758
  - func: nansum(Tensor self, int[1]? dim=None, bool keepdim=False, *, ScalarType? dtype=None) -> Tensor
5960
5759
  variants: function, method
5961
5760
  dispatch:
5962
- CPU, CUDA: nansum
5963
- MPS: nansum_mps
5761
+ CPU, CUDA, MPS: nansum
5964
5762
  tags: reduction
5965
5763
 
5966
5764
  - func: nansum.out(Tensor self, int[1]? dim=None, bool keepdim=False, *, ScalarType? dtype=None, Tensor(a!) out) -> Tensor(a!)
5967
5765
  dispatch:
5968
- CPU, CUDA: nansum_out
5969
- MPS: nansum_out_mps
5766
+ CPU, CUDA, MPS: nansum_out
5970
5767
  tags: reduction
5971
5768
 
5972
5769
  - func: hash_tensor(Tensor self, int[1] dim=[], *, bool keepdim=False, int mode=0) -> Tensor
@@ -6069,17 +5866,6 @@
6069
5866
  autogen: std_mean.correction_out
6070
5867
  tags: reduction
6071
5868
 
6072
- - func: std_mean.names_dim(Tensor self, Dimname[1] dim, bool unbiased=True, bool keepdim=False) -> (Tensor, Tensor)
6073
- device_check: NoCheck # TensorIterator
6074
- variants: function
6075
- cpp_no_default_args: ["unbiased"]
6076
- tags: reduction
6077
-
6078
- - func: std_mean.correction_names(Tensor self, Dimname[1] dim, *, Scalar? correction=None, bool keepdim=False) -> (Tensor, Tensor)
6079
- device_check: NoCheck # TensorIterator
6080
- variants: function
6081
- tags: reduction
6082
-
6083
5869
  - func: std.out(Tensor self, int[1]? dim, bool unbiased=True, bool keepdim=False, *, Tensor(a!) out) -> Tensor(a!)
6084
5870
  device_check: NoCheck # TensorIterator
6085
5871
  cpp_no_default_args: ["unbiased"]
@@ -6092,27 +5878,6 @@
6092
5878
  QuantizedCPU: std_out_quantized_cpu
6093
5879
  tags: reduction
6094
5880
 
6095
- - func: std.names_dim(Tensor self, Dimname[1] dim, bool unbiased=True, bool keepdim=False) -> Tensor
6096
- device_check: NoCheck # TensorIterator
6097
- variants: function, method
6098
- cpp_no_default_args: ["unbiased"]
6099
- tags: reduction
6100
-
6101
- - func: std.names_out(Tensor self, Dimname[1] dim, bool unbiased=True, bool keepdim=False, *, Tensor(a!) out) -> Tensor(a!)
6102
- device_check: NoCheck # TensorIterator
6103
- cpp_no_default_args: ["unbiased"]
6104
- tags: reduction
6105
-
6106
- - func: std.correction_names(Tensor self, Dimname[1] dim, *, Scalar? correction=None, bool keepdim=False) -> Tensor
6107
- device_check: NoCheck # TensorIterator
6108
- variants: function, method
6109
- tags: reduction
6110
-
6111
- - func: std.correction_names_out(Tensor self, Dimname[1] dim, *, Scalar? correction=None, bool keepdim=False, Tensor(a!) out) -> Tensor(a!)
6112
- device_check: NoCheck # TensorIterator
6113
- variants: function
6114
- tags: reduction
6115
-
6116
5881
  - func: prod(Tensor self, *, ScalarType? dtype=None) -> Tensor
6117
5882
  device_check: NoCheck # TensorIterator
6118
5883
  variants: function, method
@@ -6136,15 +5901,6 @@
6136
5901
  MPS: prod_out_mps
6137
5902
  tags: reduction
6138
5903
 
6139
- - func: prod.dim_Dimname(Tensor self, Dimname dim, bool keepdim=False, *, ScalarType? dtype=None) -> Tensor
6140
- device_check: NoCheck # TensorIterator
6141
- variants: function, method
6142
- tags: reduction
6143
-
6144
- - func: prod.Dimname_out(Tensor self, Dimname dim, bool keepdim=False, *, ScalarType? dtype=None, Tensor(a!) out) -> Tensor(a!)
6145
- device_check: NoCheck # TensorIterator
6146
- tags: reduction
6147
-
6148
5904
  - func: t(Tensor(a) self) -> Tensor(a)
6149
5905
  device_check: NoCheck
6150
5906
  device_guard: False
@@ -6281,11 +6037,6 @@
6281
6037
  CompositeExplicitAutograd: transpose
6282
6038
  NestedTensorCPU, NestedTensorHPU, NestedTensorCUDA: transpose_nested
6283
6039
 
6284
- - func: transpose.Dimname(Tensor(a) self, Dimname dim0, Dimname dim1) -> Tensor(a)
6285
- variants: function, method
6286
- device_check: NoCheck
6287
- device_guard: False
6288
-
6289
6040
  - func: _mkldnn_transpose(Tensor self, int dim0, int dim1) -> Tensor
6290
6041
  device_check: NoCheck
6291
6042
  device_guard: False
@@ -6532,6 +6283,8 @@
6532
6283
  dispatch:
6533
6284
  CPU: _unique_cpu
6534
6285
  CUDA: _unique_cuda
6286
+ MPS: _unique_mps
6287
+ tags: dynamic_output_shape
6535
6288
  autogen: _unique.out
6536
6289
 
6537
6290
  - func: unique_dim(Tensor self, int dim, bool sorted=True, bool return_inverse=False, bool return_counts=False) -> (Tensor, Tensor, Tensor)
@@ -6618,7 +6371,6 @@
6618
6371
  dispatch:
6619
6372
  CPU, CUDA: var
6620
6373
  MPS: var_mps
6621
- MTIA: var_mtia
6622
6374
  tags: [core, reduction]
6623
6375
 
6624
6376
  - func: var.out(Tensor self, int[1]? dim, bool unbiased=True, bool keepdim=False, *, Tensor(a!) out) -> Tensor(a!)
@@ -6632,27 +6384,6 @@
6632
6384
  CPU, CUDA: var_out
6633
6385
  tags: reduction
6634
6386
 
6635
- - func: var.names_dim(Tensor self, Dimname[1] dim, bool unbiased=True, bool keepdim=False) -> Tensor
6636
- device_check: NoCheck # TensorIterator
6637
- variants: function, method
6638
- cpp_no_default_args: ["unbiased"]
6639
- tags: reduction
6640
-
6641
- - func: var.names_out(Tensor self, Dimname[1] dim, bool unbiased=True, bool keepdim=False, *, Tensor(a!) out) -> Tensor(a!)
6642
- device_check: NoCheck # TensorIterator
6643
- cpp_no_default_args: ["unbiased"]
6644
- tags: reduction
6645
-
6646
- - func: var.correction_names(Tensor self, Dimname[1] dim, *, Scalar? correction=None, bool keepdim=False) -> Tensor
6647
- device_check: NoCheck # TensorIterator
6648
- variants: function, method
6649
- tags: reduction
6650
-
6651
- - func: var.correction_names_out(Tensor self, Dimname[1] dim, *, Scalar? correction=None, bool keepdim=False, Tensor(a!) out) -> Tensor(a!)
6652
- device_check: NoCheck # TensorIterator
6653
- variants: function
6654
- tags: reduction
6655
-
6656
6387
  - func: var_mean(Tensor self, bool unbiased=True) -> (Tensor, Tensor)
6657
6388
  device_check: NoCheck # TensorIterator
6658
6389
  variants: function
@@ -6674,17 +6405,6 @@
6674
6405
  autogen: var_mean.correction_out
6675
6406
  tags: reduction
6676
6407
 
6677
- - func: var_mean.names_dim(Tensor self, Dimname[1] dim, bool unbiased=True, bool keepdim=False) -> (Tensor, Tensor)
6678
- device_check: NoCheck # TensorIterator
6679
- variants: function
6680
- cpp_no_default_args: ["unbiased"]
6681
- tags: reduction
6682
-
6683
- - func: var_mean.correction_names(Tensor self, Dimname[1] dim, *, Scalar? correction=None, bool keepdim=False) -> (Tensor, Tensor)
6684
- device_check: NoCheck # TensorIterator
6685
- variants: function
6686
- tags: reduction
6687
-
6688
6408
  - func: view_as(Tensor(a) self, Tensor other) -> Tensor(a)
6689
6409
  variants: method
6690
6410
  device_check: NoCheck
@@ -6744,13 +6464,6 @@
6744
6464
  - func: _weight_norm_differentiable_backward(Tensor grad_w, Tensor saved_v, Tensor saved_g, Tensor saved_norms, int dim) -> (Tensor, Tensor)
6745
6465
  variants: function
6746
6466
 
6747
- - func: zeros.names(int[] size, *, Dimname[]? names, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
6748
- device_check: NoCheck
6749
- device_guard: False
6750
- dispatch:
6751
- CompositeExplicitAutograd: zeros
6752
- autogen: zeros.names_out
6753
-
6754
6467
  - func: _efficientzerotensor(SymInt[] size, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
6755
6468
  dispatch:
6756
6469
  CPU: _efficientzerotensor
@@ -6780,6 +6493,7 @@
6780
6493
  dispatch:
6781
6494
  CPU: _standard_gamma_grad_cpu
6782
6495
  CUDA: _standard_gamma_grad_cuda
6496
+ MPS: _standard_gamma_grad_mps
6783
6497
  autogen: _standard_gamma_grad.out
6784
6498
 
6785
6499
  - func: _standard_gamma(Tensor self, Generator? generator=None) -> Tensor
@@ -6787,13 +6501,37 @@
6787
6501
  dispatch:
6788
6502
  CPU: _s_gamma_cpu
6789
6503
  CUDA: _s_gamma_cuda
6504
+ MPS: _s_gamma_mps
6790
6505
  tags: nondeterministic_seeded
6791
6506
  autogen: _standard_gamma.out
6792
6507
 
6508
+ - func: _philox_key_split(Tensor key, int num_splits) -> Tensor
6509
+ variants: function
6510
+ dispatch:
6511
+ CUDA: _philox_key_split_cuda
6512
+
6513
+ - func: _philox_key_fold_in(Tensor key, int data) -> Tensor
6514
+ variants: function
6515
+ dispatch:
6516
+ CUDA: _philox_key_fold_in_cuda
6517
+
6518
+ - func: _philox_normal_(Tensor(a!) self, Tensor key, float mean=0, float std=1) -> Tensor(a!)
6519
+ variants: function, method
6520
+ dispatch:
6521
+ CUDA: _philox_normal_cuda_
6522
+ autogen: _philox_normal, _philox_normal.out
6523
+
6524
+ - func: _philox_uniform_(Tensor(a!) self, Tensor key, float low=0, float high=1) -> Tensor(a!)
6525
+ variants: function, method
6526
+ dispatch:
6527
+ CUDA: _philox_uniform_cuda_
6528
+ autogen: _philox_uniform, _philox_uniform.out
6529
+
6793
6530
  - func: _dirichlet_grad(Tensor x, Tensor alpha, Tensor total) -> Tensor
6794
6531
  dispatch:
6795
6532
  CPU: _dirichlet_grad_cpu
6796
6533
  CUDA: _dirichlet_grad_cuda
6534
+ MPS: _dirichlet_grad_mps
6797
6535
  autogen: _dirichlet_grad.out
6798
6536
 
6799
6537
  - func: _sample_dirichlet(Tensor self, Generator? generator=None) -> Tensor
@@ -6802,6 +6540,7 @@
6802
6540
  dispatch:
6803
6541
  CPU: _s_dirichlet_cpu
6804
6542
  CUDA: _s_dirichlet_cuda
6543
+ MPS: _s_dirichlet_mps
6805
6544
  autogen: _sample_dirichlet.out
6806
6545
 
6807
6546
  - func: poisson(Tensor self, Generator? generator=None) -> Tensor
@@ -6894,10 +6633,6 @@
6894
6633
  python_module: sparse
6895
6634
  variants: function
6896
6635
 
6897
- - func: _sparse_softmax.Dimname(Tensor self, Dimname dim, *, ScalarType? dtype=None) -> Tensor
6898
- python_module: sparse
6899
- variants: function
6900
-
6901
6636
  - func: _sparse_softmax(Tensor self, int dim, bool half_to_float) -> Tensor
6902
6637
  python_module: sparse
6903
6638
  dispatch:
@@ -6917,10 +6652,6 @@
6917
6652
  python_module: sparse
6918
6653
  variants: function
6919
6654
 
6920
- - func: _sparse_log_softmax.Dimname(Tensor self, Dimname dim, *, ScalarType? dtype=None) -> Tensor
6921
- python_module: sparse
6922
- variants: function
6923
-
6924
6655
  - func: _sparse_log_softmax(Tensor self, int dim, bool half_to_float) -> Tensor
6925
6656
  python_module: sparse
6926
6657
  dispatch:
@@ -6978,37 +6709,17 @@
6978
6709
  structured: True
6979
6710
  device_check: NoCheck # TensorIterator
6980
6711
  dispatch:
6981
- CPU, CUDA: norm_dtype_out
6982
- MPS: norm_dtype_out_mps
6712
+ CPU, CUDA, MPS: norm_dtype_out
6983
6713
  tags: reduction
6984
6714
 
6985
6715
  - func: norm.out(Tensor self, Scalar? p, int[1] dim, bool keepdim=False, *, Tensor(a!) out) -> Tensor(a!)
6986
6716
  structured: True
6987
6717
  device_check: NoCheck # TensorIterator
6988
6718
  dispatch:
6989
- CPU, CUDA: norm_out
6990
- MPS: norm_out_mps
6719
+ CPU, CUDA, MPS: norm_out
6991
6720
  tags: reduction
6992
6721
 
6993
6722
  # These four redispatch in their implementation, so OK to be CompositeImplicitAutograd
6994
- - func: norm.names_ScalarOpt_dim_dtype(Tensor self, Scalar? p, Dimname[1] dim, bool keepdim, *, ScalarType dtype) -> Tensor
6995
- device_check: NoCheck # TensorIterator
6996
- variants: function, method
6997
- tags: reduction
6998
-
6999
- - func: norm.names_ScalarOpt_dim(Tensor self, Scalar? p, Dimname[1] dim, bool keepdim=False) -> Tensor
7000
- device_check: NoCheck # TensorIterator
7001
- variants: function, method
7002
- tags: reduction
7003
-
7004
- - func: norm.names_dtype_out(Tensor self, Scalar? p, Dimname[1] dim, bool keepdim, *, ScalarType dtype, Tensor(a!) out) -> Tensor(a!)
7005
- device_check: NoCheck # TensorIterator
7006
- tags: reduction
7007
-
7008
- - func: norm.names_out(Tensor self, Scalar? p, Dimname[1] dim, bool keepdim=False, *, Tensor(a!) out) -> Tensor(a!)
7009
- device_check: NoCheck # TensorIterator
7010
- tags: reduction
7011
-
7012
6723
  - func: frexp.Tensor(Tensor self) -> (Tensor mantissa, Tensor exponent)
7013
6724
  variants: method, function
7014
6725
  dispatch:
@@ -7080,8 +6791,7 @@
7080
6791
  device_check: NoCheck # TensorIterator
7081
6792
  variants: method, function
7082
6793
  dispatch:
7083
- CPU, CUDA: zero_
7084
- MPS: zero_mps_
6794
+ CPU, CUDA, MPS: zero_
7085
6795
  Meta: zero_meta_
7086
6796
  SparseCPU, SparseCUDA, SparseMPS, SparseMeta: zero_sparse_
7087
6797
  SparseCsrCPU, SparseCsrCUDA, SparseCsrMeta: zero_sparse_csr_
@@ -7242,10 +6952,12 @@
7242
6952
  - func: addmm.dtype(Tensor self, Tensor mat1, Tensor mat2, ScalarType out_dtype, *, Scalar beta=1, Scalar alpha=1) -> Tensor
7243
6953
  dispatch:
7244
6954
  CUDA: _addmm_dtype_cuda
6955
+ XPU: _addmm_dtype_xpu
7245
6956
 
7246
6957
  - func: addmm.dtype_out(Tensor self, Tensor mat1, Tensor mat2, ScalarType out_dtype, *, Scalar beta=1, Scalar alpha=1, Tensor(a!) out) -> Tensor(a!)
7247
6958
  dispatch:
7248
6959
  CUDA: _addmm_dtype_out_cuda
6960
+ XPU: _addmm_dtype_out_xpu
7249
6961
 
7250
6962
  - func: addmm_(Tensor(a!) self, Tensor mat1, Tensor mat2, *, Scalar beta=1, Scalar alpha=1) -> Tensor(a!)
7251
6963
  structured_delegate: addmm.out
@@ -7275,7 +6987,6 @@
7275
6987
  XPU: _scaled_mm_xpu
7276
6988
  tags: needs_exact_strides
7277
6989
 
7278
-
7279
6990
  - func: _scaled_mm.out(Tensor self, Tensor mat2, Tensor scale_a, Tensor scale_b, Tensor? bias=None, Tensor? scale_result=None, ScalarType? out_dtype=None, bool use_fast_accum=False, *, Tensor(a!) out) -> Tensor(a!)
7280
6991
  variants: function
7281
6992
  dispatch:
@@ -7287,15 +6998,18 @@
7287
6998
  - func: _scaled_mm_v2(Tensor self, Tensor mat2, Tensor[] scale_a, int[] recipe_a, int[] swizzle_a, Tensor[] scale_b, int[] recipe_b, int[] swizzle_b, Tensor? bias, ScalarType? out_dtype, int[] contraction_dim=[], bool use_fast_accum=False) -> Tensor
7288
6999
  variants: function
7289
7000
  dispatch:
7001
+ CPU: _scaled_mm_cpu_v2
7290
7002
  CUDA: _scaled_mm_cuda_v2
7291
7003
  XPU: _scaled_mm_xpu_v2
7004
+ tags: needs_exact_strides
7292
7005
 
7293
7006
  - func: _scaled_mm_v2.out(Tensor self, Tensor mat2, Tensor[] scale_a, int[] recipe_a, int[] swizzle_a, Tensor[] scale_b, int[] recipe_b, int[] swizzle_b, Tensor? bias, ScalarType? out_dtype, int[] contraction_dim=[], bool use_fast_accum=False, *, Tensor(a!) out) -> Tensor(a!)
7294
7007
  variants: function
7295
7008
  dispatch:
7009
+ CPU: _scaled_mm_cpu_v2_out
7296
7010
  CUDA: _scaled_mm_cuda_v2_out
7297
7011
  XPU: _scaled_mm_xpu_v2_out
7298
-
7012
+ tags: needs_exact_strides
7299
7013
 
7300
7014
  - func: _scaled_grouped_mm(Tensor self, Tensor mat2, Tensor scale_a, Tensor scale_b, Tensor? offs=None, Tensor? bias=None, Tensor? scale_result=None, ScalarType? out_dtype=None, bool use_fast_accum=False) -> Tensor
7301
7015
  variants: function
@@ -7695,9 +7409,6 @@
7695
7409
  CompositeExplicitAutograd: unbind
7696
7410
  NestedTensorCPU, NestedTensorHPU, NestedTensorCUDA: NestedTensor_unbind
7697
7411
 
7698
- - func: unbind.Dimname(Tensor(a -> *) self, Dimname dim) -> Tensor(a)[]
7699
- variants: function, method
7700
-
7701
7412
  - func: to_sparse.sparse_dim(Tensor self, int sparse_dim) -> Tensor
7702
7413
  variants: method
7703
7414
 
@@ -8065,7 +7776,6 @@
8065
7776
  MPS: lstm_mps_backward
8066
7777
  autogen: lstm_mps_backward.out
8067
7778
 
8068
-
8069
7779
  # Fused RNN kernels
8070
7780
  - func: _thnn_fused_lstm_cell(Tensor input_gates, Tensor hidden_gates, Tensor cx, Tensor? input_bias=None, Tensor? hidden_bias=None) -> (Tensor, Tensor, Tensor)
8071
7781
  dispatch:
@@ -8134,10 +7844,8 @@
8134
7844
  # Quantized RNN layers
8135
7845
  # - func: quantized_lstm(Tensor input, Tensor[] hx, Tensor[] params, bool has_biases, int num_layers, float dropout, bool train, bool bidirectional, bool batch_first, *, ScalarType? dtype=None, bool use_dynamic=False) -> (Tensor, Tensor, Tensor)
8136
7846
 
8137
-
8138
7847
  # - func: quantized_lstm.data(Tensor data, Tensor batch_sizes, Tensor[] hx, Tensor[] params, bool has_biases, int num_layers, float dropout, bool train, bool bidirectional, *, ScalarType? dtype=None, bool use_dynamic=False) -> (Tensor, Tensor, Tensor)
8139
7848
 
8140
-
8141
7849
  # Quantized GRU layers
8142
7850
 
8143
7851
  # - func: quantized_gru.input(Tensor input, Tensor hx, Tensor[] params, bool has_biases, int num_layers, float dropout, bool train, bool bidirectional, bool batch_first) -> (Tensor, Tensor)
@@ -8322,7 +8030,8 @@
8322
8030
  device_check: NoCheck
8323
8031
  device_guard: False
8324
8032
  dispatch:
8325
- ZeroTensor, Meta, CPU, CUDA, QuantizedCPU, QuantizedCUDA, MPS, MTIA: view
8033
+ Meta, CPU, CUDA, QuantizedCPU, QuantizedCUDA, MPS, MTIA: view
8034
+ ZeroTensor: view_symint
8326
8035
  MkldnnCPU: mkldnn_view
8327
8036
  NestedTensorCPU, NestedTensorHPU, NestedTensorCUDA: view_nested
8328
8037
  tags: core
@@ -8369,9 +8078,6 @@
8369
8078
  structured_delegate: index_add.out
8370
8079
  variants: function, method
8371
8080
 
8372
- - func: index_add.dimname(Tensor self, Dimname dim, Tensor index, Tensor source, *, Scalar alpha=1) -> Tensor
8373
- variants: function, method
8374
-
8375
8081
  - func: index_reduce.out(Tensor self, int dim, Tensor index, Tensor source, str reduce, *, bool include_self=True, Tensor(a!) out) -> Tensor(a!)
8376
8082
  structured: True
8377
8083
  variants: function
@@ -8380,6 +8086,7 @@
8380
8086
  dispatch:
8381
8087
  CPU: index_reduce_cpu_out
8382
8088
  CUDA: index_reduce_cuda_out
8089
+ MPS: index_reduce_mps_out
8383
8090
 
8384
8091
  - func: index_reduce_(Tensor(a!) self, int dim, Tensor index, Tensor source, str reduce, *, bool include_self=True) -> Tensor(a!)
8385
8092
  structured_delegate: index_reduce.out
@@ -8393,9 +8100,7 @@
8393
8100
  device_check: NoCheck # TensorIterator
8394
8101
  variants: method
8395
8102
  dispatch:
8396
- CPU: index_fill_
8397
- CUDA: index_fill_
8398
- MPS: index_fill_mps_
8103
+ CPU, CUDA, MPS: index_fill_
8399
8104
  autogen: index_fill.int_Scalar_out
8400
8105
 
8401
8106
  - func: index_fill.int_Scalar(Tensor self, int dim, Tensor index, Scalar value) -> Tensor
@@ -8408,8 +8113,7 @@
8408
8113
  device_check: NoCheck # TensorIterator
8409
8114
  variants: method
8410
8115
  dispatch:
8411
- CPU, CUDA: index_fill_
8412
- MPS: index_fill_mps_
8116
+ CPU, CUDA, MPS: index_fill_
8413
8117
  autogen: index_fill.int_Tensor_out
8414
8118
 
8415
8119
  - func: index_fill.int_Tensor(Tensor self, int dim, Tensor index, Tensor value) -> Tensor
@@ -8418,22 +8122,6 @@
8418
8122
  dispatch:
8419
8123
  CompositeExplicitAutograd: index_fill
8420
8124
 
8421
- - func: index_fill_.Dimname_Scalar(Tensor(a!) self, Dimname dim, Tensor index, Scalar value) -> Tensor(a!)
8422
- device_check: NoCheck # TensorIterator
8423
- variants: method
8424
-
8425
- - func: index_fill_.Dimname_Tensor(Tensor(a!) self, Dimname dim, Tensor index, Tensor value) -> Tensor(a!)
8426
- device_check: NoCheck # TensorIterator
8427
- variants: method
8428
-
8429
- - func: index_fill.Dimname_Scalar(Tensor self, Dimname dim, Tensor index, Scalar value) -> Tensor
8430
- device_check: NoCheck # TensorIterator
8431
- variants: function, method
8432
-
8433
- - func: index_fill.Dimname_Tensor(Tensor self, Dimname dim, Tensor index, Tensor value) -> Tensor
8434
- device_check: NoCheck # TensorIterator
8435
- variants: function, method
8436
-
8437
8125
  - func: scatter.src(Tensor self, int dim, Tensor index, Tensor src) -> Tensor
8438
8126
  structured_delegate: scatter.src_out
8439
8127
  variants: function, method
@@ -8447,8 +8135,7 @@
8447
8135
  structured: True
8448
8136
  variants: function
8449
8137
  dispatch:
8450
- CPU, CUDA: scatter_src_out
8451
- MPS: scatter_src_out_mps
8138
+ CPU, CUDA, MPS: scatter_src_out
8452
8139
 
8453
8140
  - func: scatter.value(Tensor self, int dim, Tensor index, Scalar value) -> Tensor
8454
8141
  structured_delegate: scatter.value_out
@@ -8463,8 +8150,7 @@
8463
8150
  structured: True
8464
8151
  variants: function
8465
8152
  dispatch:
8466
- CPU, CUDA: scatter_value_out
8467
- MPS: scatter_value_out_mps
8153
+ CPU, CUDA, MPS: scatter_value_out
8468
8154
 
8469
8155
  - func: scatter.reduce(Tensor self, int dim, Tensor index, Tensor src, *, str reduce) -> Tensor
8470
8156
  structured_delegate: scatter.reduce_out
@@ -8478,8 +8164,7 @@
8478
8164
  structured: True
8479
8165
  variants: function
8480
8166
  dispatch:
8481
- CPU, CUDA: scatter_reduce_out
8482
- MPS: scatter_reduce_out_mps
8167
+ CPU, CUDA, MPS: scatter_reduce_out
8483
8168
 
8484
8169
  - func: scatter.value_reduce(Tensor self, int dim, Tensor index, Scalar value, *, str reduce) -> Tensor
8485
8170
  structured_delegate: scatter.value_reduce_out
@@ -8493,14 +8178,7 @@
8493
8178
  structured: True
8494
8179
  variants: function
8495
8180
  dispatch:
8496
- CPU, CUDA: scatter_value_reduce_out
8497
- MPS: scatter_value_reduce_out_mps
8498
-
8499
- - func: scatter.dimname_src(Tensor self, Dimname dim, Tensor index, Tensor src) -> Tensor
8500
- variants: function, method
8501
-
8502
- - func: scatter.dimname_value(Tensor self, Dimname dim, Tensor index, Scalar value) -> Tensor
8503
- variants: function, method
8181
+ CPU, CUDA, MPS: scatter_value_reduce_out
8504
8182
 
8505
8183
  - func: scatter_add(Tensor self, int dim, Tensor index, Tensor src) -> Tensor
8506
8184
  structured_delegate: scatter_add.out
@@ -8515,11 +8193,7 @@
8515
8193
  structured: True
8516
8194
  variants: function
8517
8195
  dispatch:
8518
- CPU, CUDA: scatter_add
8519
- MPS: scatter_add_mps_out
8520
-
8521
- - func: scatter_add.dimname(Tensor self, Dimname dim, Tensor index, Tensor src) -> Tensor
8522
- variants: function, method
8196
+ CPU, CUDA, MPS: scatter_add
8523
8197
 
8524
8198
  - func: scatter_reduce.two(Tensor self, int dim, Tensor index, Tensor src, str reduce, *, bool include_self=True) -> Tensor
8525
8199
  structured_delegate: scatter_reduce.two_out
@@ -8552,8 +8226,7 @@
8552
8226
  structured_inherits: TensorIteratorBase
8553
8227
  variants: function
8554
8228
  dispatch:
8555
- CPU, CUDA, MTIA: bitwise_and_out
8556
- MPS: bitwise_and_out_mps
8229
+ CPU, CUDA, MPS, MTIA: bitwise_and_out
8557
8230
  tags: pointwise
8558
8231
 
8559
8232
  - func: bitwise_and.Scalar_out(Tensor self, Scalar other, *, Tensor(a!) out) -> Tensor(a!)
@@ -8619,8 +8292,7 @@
8619
8292
  structured_inherits: TensorIteratorBase
8620
8293
  variants: function
8621
8294
  dispatch:
8622
- CPU, CUDA, MTIA: bitwise_or_out
8623
- MPS: bitwise_or_out_mps
8295
+ CPU, CUDA, MPS, MTIA: bitwise_or_out
8624
8296
  tags: pointwise
8625
8297
 
8626
8298
  - func: bitwise_or.Scalar_out(Tensor self, Scalar other, *, Tensor(a!) out) -> Tensor(a!)
@@ -8686,8 +8358,7 @@
8686
8358
  structured_inherits: TensorIteratorBase
8687
8359
  variants: function
8688
8360
  dispatch:
8689
- CPU, CUDA: bitwise_xor_out
8690
- MPS: bitwise_xor_out_mps
8361
+ CPU, CUDA, MPS: bitwise_xor_out
8691
8362
  tags: pointwise
8692
8363
 
8693
8364
  - func: bitwise_xor.Scalar_out(Tensor self, Scalar other, *, Tensor(a!) out) -> Tensor(a!)
@@ -8755,14 +8426,14 @@
8755
8426
  device_check: NoCheck # TensorIterator
8756
8427
  variants: method, function
8757
8428
  dispatch:
8758
- CPU, CUDA, MPS: __lshift__
8429
+ CPU, CUDA, MPS, MTIA: __lshift__
8759
8430
  tags: pointwise
8760
8431
 
8761
8432
  - func: __lshift__.Tensor(Tensor self, Tensor other) -> Tensor
8762
8433
  device_check: NoCheck # TensorIterator
8763
8434
  variants: method, function
8764
8435
  dispatch:
8765
- CPU, CUDA, MPS: __lshift__
8436
+ CPU, CUDA, MPS, MTIA: __lshift__
8766
8437
  tags: pointwise
8767
8438
 
8768
8439
  - func: __ilshift__.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
@@ -8834,14 +8505,14 @@
8834
8505
  device_check: NoCheck # TensorIterator
8835
8506
  variants: method, function
8836
8507
  dispatch:
8837
- CPU, CUDA, MPS: __rshift__
8508
+ CPU, CUDA, MPS, MTIA: __rshift__
8838
8509
  tags: pointwise
8839
8510
 
8840
8511
  - func: __rshift__.Tensor(Tensor self, Tensor other) -> Tensor
8841
8512
  device_check: NoCheck # TensorIterator
8842
8513
  variants: method, function
8843
8514
  dispatch:
8844
- CPU, CUDA, MPS: __rshift__
8515
+ CPU, CUDA, MPS, MTIA: __rshift__
8845
8516
  tags: pointwise
8846
8517
 
8847
8518
  - func: __irshift__.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
@@ -8955,9 +8626,8 @@
8955
8626
  variants: method
8956
8627
  tags: nondeterministic_seeded
8957
8628
  dispatch:
8958
- CPU, CUDA: random_
8629
+ CPU, CUDA, MPS: random_
8959
8630
  Meta: random_meta_
8960
- MPS: random_mps_
8961
8631
  autogen: random.from, random.from_out
8962
8632
 
8963
8633
  - func: random_.to(Tensor(a!) self, int to, *, Generator? generator=None) -> Tensor(a!)
@@ -8965,9 +8635,8 @@
8965
8635
  tags: nondeterministic_seeded
8966
8636
  variants: method
8967
8637
  dispatch:
8968
- CPU, CUDA: random_
8638
+ CPU, CUDA, MPS: random_
8969
8639
  Meta: random_meta_
8970
- MPS: random_mps_
8971
8640
  autogen: random.to, random.to_out
8972
8641
 
8973
8642
  - func: random_(Tensor(a!) self, *, Generator? generator=None) -> Tensor(a!)
@@ -8975,8 +8644,7 @@
8975
8644
  tags: nondeterministic_seeded
8976
8645
  variants: method
8977
8646
  dispatch:
8978
- CPU, CUDA: random_
8979
- MPS: random_mps_
8647
+ CPU, CUDA, MPS: random_
8980
8648
  Meta: random_meta_
8981
8649
  autogen: random, random.out
8982
8650
 
@@ -8985,8 +8653,7 @@
8985
8653
  tags: nondeterministic_seeded
8986
8654
  variants: method
8987
8655
  dispatch:
8988
- CPU, CUDA: uniform_
8989
- MPS: uniform_mps_
8656
+ CPU, CUDA, MPS: uniform_
8990
8657
  Meta: uniform_meta_
8991
8658
  autogen: uniform, uniform.out
8992
8659
 
@@ -8995,7 +8662,7 @@
8995
8662
  variants: method
8996
8663
  tags: nondeterministic_seeded
8997
8664
  dispatch:
8998
- CPU, CUDA: cauchy_
8665
+ CPU, CUDA, MPS: cauchy_
8999
8666
  autogen: cauchy, cauchy.out
9000
8667
 
9001
8668
  - func: log_normal_(Tensor(a!) self, float mean=1, float std=2, *, Generator? generator=None) -> Tensor(a!)
@@ -9003,7 +8670,7 @@
9003
8670
  tags: nondeterministic_seeded
9004
8671
  variants: method
9005
8672
  dispatch:
9006
- CPU, CUDA: log_normal_
8673
+ CPU, CUDA, MPS: log_normal_
9007
8674
  autogen: log_normal, log_normal.out
9008
8675
 
9009
8676
  - func: exponential_(Tensor(a!) self, float lambd=1, *, Generator? generator=None) -> Tensor(a!)
@@ -9011,8 +8678,7 @@
9011
8678
  tags: nondeterministic_seeded
9012
8679
  variants: method
9013
8680
  dispatch:
9014
- CPU, CUDA: exponential_
9015
- MPS: exponential_mps_
8681
+ CPU, CUDA, MPS: exponential_
9016
8682
  autogen: exponential, exponential.out
9017
8683
 
9018
8684
  - func: geometric_(Tensor(a!) self, float p, *, Generator? generator=None) -> Tensor(a!)
@@ -9020,7 +8686,7 @@
9020
8686
  tags: nondeterministic_seeded
9021
8687
  variants: method
9022
8688
  dispatch:
9023
- CPU, CUDA: geometric_
8689
+ CPU, CUDA, MPS: geometric_
9024
8690
 
9025
8691
  # wrappers for TH functions
9026
8692
  autogen: geometric, geometric.out
@@ -9091,8 +8757,7 @@
9091
8757
  structured_inherits: TensorIteratorBase
9092
8758
  device_check: NoCheck # TensorIterator
9093
8759
  dispatch:
9094
- CPU, CUDA, MTIA: ne_Scalar_out
9095
- MPS: ne_scalar_out_mps
8760
+ CPU, CUDA, MPS, MTIA: ne_Scalar_out
9096
8761
  QuantizedCPU: ne_out_quantized_cpu
9097
8762
  tags: pointwise
9098
8763
 
@@ -9109,8 +8774,7 @@
9109
8774
  structured_inherits: TensorIteratorBase
9110
8775
  device_check: NoCheck # TensorIterator
9111
8776
  dispatch:
9112
- CPU, CUDA, MTIA: ne_Tensor_out
9113
- MPS: ne_tensor_out_mps
8777
+ CPU, CUDA, MPS, MTIA: ne_Tensor_out
9114
8778
  QuantizedCPU: ne_out_quantized_cpu
9115
8779
  tags: pointwise
9116
8780
 
@@ -9154,8 +8818,7 @@
9154
8818
  structured_inherits: TensorIteratorBase
9155
8819
  device_check: NoCheck # TensorIterator
9156
8820
  dispatch:
9157
- CPU, CUDA, MTIA: eq_Scalar_out
9158
- MPS: eq_scalar_out_mps
8821
+ CPU, CUDA, MPS, MTIA: eq_Scalar_out
9159
8822
  QuantizedCPU: eq_out_quantized_cpu
9160
8823
  tags: pointwise
9161
8824
 
@@ -9173,8 +8836,7 @@
9173
8836
  structured_inherits: TensorIteratorBase
9174
8837
  device_check: NoCheck # TensorIterator
9175
8838
  dispatch:
9176
- CPU, CUDA, MTIA: eq_Tensor_out
9177
- MPS: eq_tensor_out_mps
8839
+ CPU, CUDA, MPS, MTIA: eq_Tensor_out
9178
8840
  QuantizedCPU: eq_out_quantized_cpu
9179
8841
  tags: pointwise
9180
8842
 
@@ -9192,8 +8854,7 @@
9192
8854
  structured_inherits: TensorIteratorBase
9193
8855
  device_check: NoCheck # TensorIterator
9194
8856
  dispatch:
9195
- CPU, CUDA, MTIA: ge_Scalar_out
9196
- MPS: ge_scalar_out_mps
8857
+ CPU, CUDA, MPS, MTIA: ge_Scalar_out
9197
8858
  QuantizedCPU: ge_out_quantized_cpu
9198
8859
  tags: pointwise
9199
8860
 
@@ -9211,8 +8872,7 @@
9211
8872
  structured_inherits: TensorIteratorBase
9212
8873
  device_check: NoCheck # TensorIterator
9213
8874
  dispatch:
9214
- CPU, CUDA, MTIA: ge_Tensor_out
9215
- MPS: ge_tensor_out_mps
8875
+ CPU, CUDA, MPS, MTIA: ge_Tensor_out
9216
8876
  QuantizedCPU: ge_out_quantized_cpu
9217
8877
  tags: pointwise
9218
8878
 
@@ -9256,8 +8916,7 @@
9256
8916
  structured_inherits: TensorIteratorBase
9257
8917
  device_check: NoCheck # TensorIterator
9258
8918
  dispatch:
9259
- CPU, CUDA, MTIA: le_Scalar_out
9260
- MPS: le_scalar_out_mps
8919
+ CPU, CUDA, MPS, MTIA: le_Scalar_out
9261
8920
  QuantizedCPU: le_out_quantized_cpu
9262
8921
  tags: pointwise
9263
8922
 
@@ -9274,8 +8933,7 @@
9274
8933
  structured_inherits: TensorIteratorBase
9275
8934
  device_check: NoCheck # TensorIterator
9276
8935
  dispatch:
9277
- CPU, CUDA, MTIA: le_Tensor_out
9278
- MPS: le_tensor_out_mps
8936
+ CPU, CUDA, MPS, MTIA: le_Tensor_out
9279
8937
  QuantizedCPU: le_out_quantized_cpu
9280
8938
  tags: pointwise
9281
8939
 
@@ -9319,8 +8977,7 @@
9319
8977
  structured_inherits: TensorIteratorBase
9320
8978
  device_check: NoCheck # TensorIterator
9321
8979
  dispatch:
9322
- CPU, CUDA,MTIA: gt_Scalar_out
9323
- MPS: gt_scalar_out_mps
8980
+ CPU, CUDA, MPS, MTIA: gt_Scalar_out
9324
8981
  QuantizedCPU: gt_out_quantized_cpu
9325
8982
  tags: pointwise
9326
8983
 
@@ -9338,8 +8995,7 @@
9338
8995
  structured_inherits: TensorIteratorBase
9339
8996
  device_check: NoCheck # TensorIterator
9340
8997
  dispatch:
9341
- CPU, CUDA, MTIA: gt_Tensor_out
9342
- MPS: gt_tensor_out_mps
8998
+ CPU, CUDA, MPS, MTIA: gt_Tensor_out
9343
8999
  QuantizedCPU: gt_out_quantized_cpu
9344
9000
  tags: pointwise
9345
9001
 
@@ -9383,8 +9039,7 @@
9383
9039
  structured_inherits: TensorIteratorBase
9384
9040
  device_check: NoCheck # TensorIterator
9385
9041
  dispatch:
9386
- CPU, CUDA, MTIA: lt_Scalar_out
9387
- MPS: lt_scalar_out_mps
9042
+ CPU, CUDA, MPS, MTIA: lt_Scalar_out
9388
9043
  QuantizedCPU: lt_out_quantized_cpu
9389
9044
  tags: pointwise
9390
9045
 
@@ -9401,8 +9056,7 @@
9401
9056
  structured_inherits: TensorIteratorBase
9402
9057
  device_check: NoCheck # TensorIterator
9403
9058
  dispatch:
9404
- CPU, CUDA, MTIA: lt_Tensor_out
9405
- MPS: lt_tensor_out_mps
9059
+ CPU, CUDA, MPS, MTIA: lt_Tensor_out
9406
9060
  QuantizedCPU: lt_out_quantized_cpu
9407
9061
  tags: pointwise
9408
9062
 
@@ -9474,11 +9128,6 @@
9474
9128
  MPS: index_select_mps
9475
9129
  tags: core
9476
9130
 
9477
- - func: index_select.dimname_out(Tensor self, Dimname dim, Tensor index, *, Tensor(a!) out) -> Tensor(a!)
9478
-
9479
- - func: index_select.dimname(Tensor self, Dimname dim, Tensor index) -> Tensor
9480
- variants: method, function
9481
-
9482
9131
  - func: index_select_backward(Tensor grad, SymInt[] self_sizes, int dim, Tensor index) -> Tensor
9483
9132
  variants: function
9484
9133
  device_check: NoCheck
@@ -9525,12 +9174,14 @@
9525
9174
  dispatch:
9526
9175
  CPU: nonzero_static_out_cpu
9527
9176
  CUDA: nonzero_static_out_cuda
9177
+ MPS: nonzero_static_out_mps
9528
9178
 
9529
9179
  - func: nonzero_static(Tensor self, *, SymInt size, int fill_value=-1) -> Tensor
9530
9180
  variants: method, function
9531
9181
  dispatch:
9532
9182
  CPU: nonzero_static_cpu
9533
9183
  CUDA: nonzero_static_cuda
9184
+ MPS: nonzero_static_mps
9534
9185
 
9535
9186
  - func: nonzero_numpy(Tensor self) -> Tensor[]
9536
9187
  variants: method, function
@@ -9542,8 +9193,7 @@
9542
9193
  - func: gather.out(Tensor self, int dim, Tensor index, *, bool sparse_grad=False, Tensor(a!) out) -> Tensor(a!)
9543
9194
  structured: True
9544
9195
  dispatch:
9545
- CPU, CUDA: gather_out
9546
- MPS: gather_out_mps
9196
+ CPU, CUDA, MPS: gather_out
9547
9197
 
9548
9198
  - func: gather(Tensor self, int dim, Tensor index, *, bool sparse_grad=False) -> Tensor
9549
9199
  variants: method, function
@@ -9555,11 +9205,6 @@
9555
9205
  device_check: NoCheck
9556
9206
  device_guard: False
9557
9207
 
9558
- - func: gather.dimname_out(Tensor self, Dimname dim, Tensor index, *, bool sparse_grad=False, Tensor(a!) out) -> Tensor(a!)
9559
-
9560
- - func: gather.dimname(Tensor self, Dimname dim, Tensor index, *, bool sparse_grad=False) -> Tensor
9561
- variants: method, function
9562
-
9563
9208
  - func: _gather_sparse_backward(Tensor self, int dim, Tensor index, Tensor grad) -> Tensor
9564
9209
 
9565
9210
  - func: addcmul.out(Tensor self, Tensor tensor1, Tensor tensor2, *, Scalar value=1, Tensor(a!) out) -> Tensor(a!)
@@ -9695,16 +9340,17 @@
9695
9340
  dispatch:
9696
9341
  CPU: _cholesky_solve_helper_cpu
9697
9342
  CUDA: _cholesky_solve_helper_cuda
9343
+ MPS: _cholesky_solve_helper_mps
9698
9344
  autogen: _cholesky_solve_helper.out
9699
9345
 
9700
9346
  - func: cholesky_inverse(Tensor self, bool upper=False) -> Tensor
9701
9347
  variants: method, function
9702
9348
  dispatch:
9703
- CPU, CUDA: cholesky_inverse
9349
+ CPU, CUDA, MPS: cholesky_inverse
9704
9350
 
9705
9351
  - func: cholesky_inverse.out(Tensor self, bool upper=False, *, Tensor(a!) out) -> Tensor(a!)
9706
9352
  dispatch:
9707
- CPU, CUDA: cholesky_inverse_out
9353
+ CPU, CUDA, MPS: cholesky_inverse_out
9708
9354
 
9709
9355
  - func: qr.Q(Tensor self, bool some=True, *, Tensor(a!) Q, Tensor(b!) R) -> (Tensor(a!) Q, Tensor(b!) R)
9710
9356
 
@@ -9758,14 +9404,12 @@
9758
9404
  - func: multinomial.out(Tensor self, SymInt num_samples, bool replacement=False, *, Generator? generator=None, Tensor(a!) out) -> Tensor(a!)
9759
9405
  tags: nondeterministic_seeded
9760
9406
  dispatch:
9761
- CPU, CUDA: multinomial_out
9762
- MPS: multinomial_out_mps
9407
+ CPU, CUDA, MPS: multinomial_out
9763
9408
 
9764
9409
  - func: multinomial(Tensor self, SymInt num_samples, bool replacement=False, *, Generator? generator=None) -> Tensor
9765
9410
  variants: method, function
9766
9411
  dispatch:
9767
- CPU, CUDA: multinomial
9768
- MPS: multinomial_mps
9412
+ CPU, CUDA, MPS: multinomial
9769
9413
  tags: nondeterministic_seeded
9770
9414
 
9771
9415
  - func: lgamma.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
@@ -9773,8 +9417,7 @@
9773
9417
  structured: True
9774
9418
  structured_inherits: TensorIteratorBase
9775
9419
  dispatch:
9776
- CPU, CUDA: lgamma_out
9777
- MPS: lgamma_out_mps
9420
+ CPU, CUDA, MPS: lgamma_out
9778
9421
  tags: pointwise
9779
9422
 
9780
9423
  - func: lgamma_(Tensor(a!) self) -> Tensor(a!)
@@ -9794,8 +9437,7 @@
9794
9437
  structured: True
9795
9438
  structured_inherits: TensorIteratorBase
9796
9439
  dispatch:
9797
- CPU, CUDA: digamma_out
9798
- MPS: digamma_out_mps
9440
+ CPU, CUDA, MPS: digamma_out
9799
9441
  tags: pointwise
9800
9442
 
9801
9443
  - func: digamma(Tensor self) -> Tensor
@@ -9809,8 +9451,7 @@
9809
9451
  structured: True
9810
9452
  structured_inherits: TensorIteratorBase
9811
9453
  dispatch:
9812
- CPU, CUDA: polygamma_out
9813
- MPS: polygamma_out_mps
9454
+ CPU, CUDA, MPS: polygamma_out
9814
9455
  tags: pointwise
9815
9456
 
9816
9457
  - func: polygamma(int n, Tensor self) -> Tensor
@@ -9931,8 +9572,7 @@
9931
9572
  structured: True
9932
9573
  structured_inherits: TensorIteratorBase
9933
9574
  dispatch:
9934
- CPU, CUDA: atan2_out
9935
- MPS: atan2_out_mps
9575
+ CPU, CUDA, MPS: atan2_out
9936
9576
  tags: [core, pointwise]
9937
9577
 
9938
9578
  - func: atan2_(Tensor(a!) self, Tensor other) -> Tensor(a!)
@@ -9970,8 +9610,7 @@
9970
9610
  structured: True
9971
9611
  structured_inherits: TensorIteratorBase
9972
9612
  dispatch:
9973
- CPU, CUDA: lerp_Tensor
9974
- MPS: lerp_Tensor_mps
9613
+ CPU, CUDA, MPS: lerp_Tensor
9975
9614
  tags: pointwise
9976
9615
 
9977
9616
  - func: lerp.Scalar(Tensor self, Tensor end, Scalar weight) -> Tensor
@@ -10256,8 +9895,7 @@
10256
9895
  structured_inherits: TensorIteratorBase
10257
9896
  device_check: NoCheck # TensorIterator
10258
9897
  dispatch:
10259
- CPU, CUDA, MTIA: maximum_out
10260
- MPS: maximum_out_mps
9898
+ CPU, CUDA, MTIA, MPS: maximum_out
10261
9899
  tags: pointwise
10262
9900
 
10263
9901
  # binary max, alias of maximum
@@ -10289,8 +9927,7 @@
10289
9927
  structured_inherits: TensorIteratorBase
10290
9928
  device_check: NoCheck # TensorIterator
10291
9929
  dispatch:
10292
- CPU, CUDA, MTIA: minimum_out
10293
- MPS: minimum_out_mps
9930
+ CPU, CUDA, MTIA, MPS: minimum_out
10294
9931
  tags: pointwise
10295
9932
 
10296
9933
  # binary min, alias for minimum
@@ -10348,16 +9985,6 @@
10348
9985
  dispatch:
10349
9986
  QuantizedCPU: sort_quantized_cpu_stable
10350
9987
 
10351
- - func: sort.dimname_values(Tensor self, Dimname dim, bool descending=False, *, Tensor(a!) values, Tensor(b!) indices) -> (Tensor(a!) values, Tensor(b!) indices)
10352
-
10353
- - func: sort.dimname_values_stable(Tensor self, *, bool? stable, Dimname dim, bool descending=False, Tensor(a!) values, Tensor(b!) indices) -> (Tensor(a!) values, Tensor(b!) indices)
10354
-
10355
- - func: sort.dimname(Tensor self, Dimname dim, bool descending=False) -> (Tensor values, Tensor indices)
10356
- variants: method, function
10357
-
10358
- - func: sort.dimname_stable(Tensor self, *, bool? stable, Dimname dim, bool descending=False) -> (Tensor values, Tensor indices)
10359
- variants: method, function
10360
-
10361
9988
  - func: msort.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
10362
9989
 
10363
9990
  - func: msort(Tensor self) -> Tensor
@@ -10375,9 +10002,6 @@
10375
10002
  device_check: NoCheck # TensorIterator
10376
10003
  variants: function
10377
10004
 
10378
- - func: argsort.dimname(Tensor self, Dimname dim, bool descending=False) -> Tensor
10379
- variants: method, function
10380
-
10381
10005
  - func: topk.values(Tensor self, SymInt k, int dim=-1, bool largest=True, bool sorted=True, *, Tensor(a!) values, Tensor(b!) indices) -> (Tensor(a!) values, Tensor(b!) indices)
10382
10006
  structured: True
10383
10007
  dispatch:
@@ -10402,9 +10026,8 @@
10402
10026
  device_check: NoCheck
10403
10027
  structured: True
10404
10028
  dispatch:
10405
- CPU, CUDA: all_all_out
10029
+ CPU, CUDA, MPS: all_all_out
10406
10030
  MTIA: all_all_out_mtia
10407
- MPS: all_all_out_mps
10408
10031
  tags: reduction
10409
10032
 
10410
10033
  - func: any(Tensor self) -> Tensor
@@ -10419,8 +10042,7 @@
10419
10042
  device_check: NoCheck
10420
10043
  structured: True
10421
10044
  dispatch:
10422
- CPU, CUDA: any_all_out
10423
- MPS: any_all_out_mps
10045
+ CPU, CUDA, MPS: any_all_out
10424
10046
  tags: reduction
10425
10047
 
10426
10048
  - func: renorm.out(Tensor self, Scalar p, int dim, Scalar maxnorm, *, Tensor(a!) out) -> Tensor(a!)
@@ -10496,9 +10118,8 @@
10496
10118
  structured: True
10497
10119
  structured_inherits: TensorIteratorBase
10498
10120
  dispatch:
10499
- CPU, CUDA: pow_Tensor_Scalar_out
10121
+ CPU, CUDA, MPS: pow_Tensor_Scalar_out
10500
10122
  SparseCPU, SparseCUDA, SparseMPS: pow_out_sparse_scalar
10501
- MPS: pow_tensor_scalar_out_mps
10502
10123
  tags: pointwise
10503
10124
 
10504
10125
  - func: pow.Tensor_Scalar(Tensor self, Scalar exponent) -> Tensor
@@ -10554,8 +10175,7 @@
10554
10175
  tags: nondeterministic_seeded
10555
10176
  variants: method
10556
10177
  dispatch:
10557
- CPU, CUDA: normal_
10558
- MPS: normal_mps_
10178
+ CPU, CUDA, MPS: normal_
10559
10179
  Meta: normal_meta_
10560
10180
  SparseCsrCPU, SparseCsrCUDA, SparseCsrMeta: normal_sparse_csr_
10561
10181
  NestedTensorCPU, NestedTensorHPU, NestedTensorCUDA: normal_nested_
@@ -10573,42 +10193,36 @@
10573
10193
  - func: normal.Tensor_float_out(Tensor mean, float std=1, *, Generator? generator=None, Tensor(a!) out) -> Tensor(a!)
10574
10194
  tags: nondeterministic_seeded
10575
10195
  dispatch:
10576
- CPU, CUDA: normal_out
10577
- MPS: normal_mps_out
10196
+ CPU, CUDA, MPS: normal_out
10578
10197
  Meta: normal_out_meta
10579
10198
 
10580
10199
  - func: normal.Tensor_float(Tensor mean, float std=1, *, Generator? generator=None) -> Tensor
10581
10200
  dispatch:
10582
- CPU, CUDA: normal
10583
- MPS: normal_mps
10201
+ CPU, CUDA, MPS: normal
10584
10202
  Meta: normal_meta
10585
10203
  tags: nondeterministic_seeded
10586
10204
 
10587
10205
  - func: normal.float_Tensor_out(float mean, Tensor std, *, Generator? generator=None, Tensor(a!) out) -> Tensor(a!)
10588
10206
  dispatch:
10589
- CPU, CUDA: normal_out
10207
+ CPU, CUDA, MPS: normal_out
10590
10208
  Meta: normal_out_meta
10591
- MPS: normal_mps_out
10592
10209
  tags: nondeterministic_seeded
10593
10210
 
10594
10211
  - func: normal.float_Tensor(float mean, Tensor std, *, Generator? generator=None) -> Tensor
10595
10212
  dispatch:
10596
- CPU, CUDA: normal
10597
- MPS: normal_mps
10213
+ CPU, CUDA, MPS: normal
10598
10214
  Meta: normal_meta
10599
10215
  tags: nondeterministic_seeded
10600
10216
 
10601
10217
  - func: normal.Tensor_Tensor_out(Tensor mean, Tensor std, *, Generator? generator=None, Tensor(a!) out) -> Tensor(a!)
10602
10218
  dispatch:
10603
- CPU, CUDA: normal_out
10219
+ CPU, CUDA, MPS: normal_out
10604
10220
  Meta: normal_out_meta
10605
- MPS: normal_mps_out
10606
10221
  tags: nondeterministic_seeded
10607
10222
 
10608
10223
  - func: normal.Tensor_Tensor(Tensor mean, Tensor std, *, Generator? generator=None) -> Tensor
10609
10224
  dispatch:
10610
- CPU, CUDA: normal
10611
- MPS: normal_mps
10225
+ CPU, CUDA, MPS: normal
10612
10226
  Meta: normal_meta
10613
10227
  tags: nondeterministic_seeded
10614
10228
 
@@ -11524,6 +11138,15 @@
11524
11138
  MTIA: foreach_tensor_norm_mtia
11525
11139
  autogen: _foreach_norm.Scalar_out
11526
11140
 
11141
+ # Like _foreach_norm but returns sum(|x|^ord) without the final root
11142
+ - func: _foreach_powsum.Scalar(Tensor[] self, Scalar ord=2, ScalarType? dtype=None) -> Tensor[]
11143
+ device_check: NoCheck
11144
+ variants: function
11145
+ dispatch:
11146
+ CompositeExplicitAutograd: foreach_tensor_powsum_slow
11147
+ CUDA: foreach_tensor_powsum_cuda
11148
+ autogen: _foreach_powsum.Scalar_out
11149
+
11527
11150
  - func: _foreach_pow.List(Tensor[] self, Tensor[] exponent) -> Tensor[]
11528
11151
  device_check: NoCheck # foreach kernels fall back to slow path when tensor are on different devices
11529
11152
  variants: function
@@ -11750,6 +11373,14 @@
11750
11373
  CUDA: foreach_tensor_zero_cuda_
11751
11374
  autogen: _foreach_zero, _foreach_zero.out
11752
11375
 
11376
+ - func: _foreach_clone(Tensor[] self, *, MemoryFormat? memory_format=None) -> Tensor[]
11377
+ device_check: NoCheck # foreach kernels fall back to slow path when tensor are on different devices
11378
+ variants: function
11379
+ dispatch:
11380
+ CompositeExplicitAutograd: foreach_tensor_clone_slow
11381
+ CUDA: foreach_tensor_clone_cuda
11382
+ autogen: _foreach_clone.out
11383
+
11753
11384
  - func: _foreach_copy_(Tensor(a!)[] self, Tensor[] src, bool non_blocking=False) -> ()
11754
11385
  device_check: NoCheck # foreach kernels fall back to slow path when tensor are on different devices
11755
11386
  variants: function
@@ -11766,6 +11397,12 @@
11766
11397
  CompositeExplicitAutograd: _foreach_copy
11767
11398
  MTIA: foreach_tensor_copy_list_kernel_mtia
11768
11399
 
11400
+ - func: _foreach_mm(Tensor[] self, Tensor[] mat2) -> Tensor[]
11401
+ device_check: NoCheck
11402
+ variants: function
11403
+ dispatch:
11404
+ CompositeExplicitAutograd: _foreach_mm
11405
+
11769
11406
  - func: bucketize.Tensor(Tensor self, Tensor boundaries, *, bool out_int32=False, bool right=False) -> Tensor
11770
11407
  dispatch:
11771
11408
  CPU: bucketize_cpu
@@ -12083,6 +11720,7 @@
12083
11720
  structured_delegate: elu.out
12084
11721
  device_check: NoCheck # TensorIterator
12085
11722
  python_module: nn
11723
+ tags: pointwise
12086
11724
 
12087
11725
  - func: glu.out(Tensor self, int dim=-1, *, Tensor(a!) out) -> Tensor(a!)
12088
11726
  structured: True
@@ -12144,6 +11782,7 @@
12144
11782
  structured_delegate: hardsigmoid.out
12145
11783
  device_check: NoCheck # TensorIterator
12146
11784
  python_module: nn
11785
+ tags: pointwise
12147
11786
 
12148
11787
  - func: hardsigmoid_backward.grad_input(Tensor grad_output, Tensor self, *, Tensor(a!) grad_input) -> Tensor(a!)
12149
11788
  structured: True
@@ -12189,6 +11828,7 @@
12189
11828
  dispatch:
12190
11829
  CPU, CUDA, MPS: hardtanh_
12191
11830
  QuantizedCPU: hardtanh_quantized_cpu_
11831
+ tags: pointwise
12192
11832
 
12193
11833
  - func: hardswish.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
12194
11834
  device_check: NoCheck # TensorIterator
@@ -12229,7 +11869,7 @@
12229
11869
  python_module: nn
12230
11870
  dispatch:
12231
11871
  QuantizedCPU: leaky_relu_quantized_cpu
12232
- tags: core
11872
+ tags: [core, pointwise]
12233
11873
 
12234
11874
  - func: leaky_relu_backward.grad_input(Tensor grad_output, Tensor self, Scalar negative_slope, bool self_is_result, *, Tensor(a!) grad_input) -> Tensor(a!)
12235
11875
  structured: True
@@ -12248,6 +11888,7 @@
12248
11888
  python_module: nn
12249
11889
  dispatch:
12250
11890
  QuantizedCPU: leaky_relu_quantized_cpu_
11891
+ tags: pointwise
12251
11892
 
12252
11893
  - func: log_sigmoid.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
12253
11894
  device_check: NoCheck # TensorIterator
@@ -12849,7 +12490,6 @@
12849
12490
  structured_delegate: replication_pad3d.out
12850
12491
  tags: core
12851
12492
 
12852
-
12853
12493
  - func: replication_pad3d_backward.grad_input(Tensor grad_output, Tensor self, SymInt[6] padding, *, Tensor(a!) grad_input) -> Tensor(a!)
12854
12494
  python_module: nn
12855
12495
  dispatch:
@@ -12904,6 +12544,10 @@
12904
12544
  python_module: nn
12905
12545
  autogen: _upsample_bicubic2d_aa.vec_out
12906
12546
 
12547
+ - func: _upsample_lanczos2d_aa.vec(Tensor input, SymInt[]? output_size, bool align_corners, float[]? scale_factors) -> Tensor
12548
+ python_module: nn
12549
+ autogen: _upsample_lanczos2d_aa.vec_out
12550
+
12907
12551
  - func: upsample_nearest1d.vec(Tensor input, SymInt[]? output_size, float[]? scale_factors) -> Tensor
12908
12552
  python_module: nn
12909
12553
  autogen: upsample_nearest1d.vec_out
@@ -13050,6 +12694,26 @@
13050
12694
  python_module: nn
13051
12695
  structured_delegate: _upsample_bicubic2d_aa_backward.grad_input
13052
12696
 
12697
+ - func: _upsample_lanczos2d_aa.out(Tensor self, SymInt[2] output_size, bool align_corners, float? scales_h=None, float? scales_w=None, *, Tensor(a!) out) -> Tensor(a!)
12698
+ python_module: nn
12699
+ structured: True
12700
+ dispatch:
12701
+ CPU: _upsample_lanczos2d_aa_out_cpu
12702
+
12703
+ - func: _upsample_lanczos2d_aa(Tensor self, SymInt[2] output_size, bool align_corners, float? scales_h=None, float? scales_w=None) -> Tensor
12704
+ python_module: nn
12705
+ structured_delegate: _upsample_lanczos2d_aa.out
12706
+
12707
+ - func: _upsample_lanczos2d_aa_backward.grad_input(Tensor grad_output, SymInt[2] output_size, SymInt[4] input_size, bool align_corners, float? scales_h=None, float? scales_w=None, *, Tensor(a!) grad_input) -> Tensor(a!)
12708
+ python_module: nn
12709
+ structured: True
12710
+ dispatch:
12711
+ CPU: _upsample_lanczos2d_aa_backward_out_cpu
12712
+
12713
+ - func: _upsample_lanczos2d_aa_backward(Tensor grad_output, SymInt[2] output_size, SymInt[4] input_size, bool align_corners, float? scales_h=None, float? scales_w=None) -> Tensor
12714
+ python_module: nn
12715
+ structured_delegate: _upsample_lanczos2d_aa_backward.grad_input
12716
+
13053
12717
  - func: upsample_trilinear3d.out(Tensor self, SymInt[3] output_size, bool align_corners, float? scales_d=None, float? scales_h=None, float? scales_w=None, *, Tensor(a!) out) -> Tensor(a!)
13054
12718
  python_module: nn
13055
12719
  structured: True
@@ -13608,7 +13272,7 @@
13608
13272
  structured: True
13609
13273
  structured_inherits: TensorIteratorBase
13610
13274
  dispatch:
13611
- CPU, CUDA: special_erfcx_out
13275
+ CPU, CUDA, MPS: special_erfcx_out
13612
13276
  tags: pointwise
13613
13277
 
13614
13278
  - func: special_erfinv(Tensor self) -> Tensor
@@ -14471,8 +14135,18 @@
14471
14135
  python_module: linalg
14472
14136
  structured: True
14473
14137
  dispatch:
14474
- CPU, CUDA: linalg_vector_norm_out
14475
- MPS: linalg_vector_norm_out_mps
14138
+ CPU, CUDA, MPS: linalg_vector_norm_out
14139
+ tags: reduction
14140
+
14141
+ # Computes sum(|x|^ord) - the "power sum" without the final root.
14142
+ # This is useful for distributed computing where partial power sums
14143
+ # can be reduced across shards before taking the final root.
14144
+ - func: linalg__powsum(Tensor self, Scalar ord=2, int[1]? dim=None, bool keepdim=False, *, ScalarType? dtype=None) -> Tensor
14145
+ python_module: linalg
14146
+ variants: function
14147
+ dispatch:
14148
+ CompositeExplicitAutograd: linalg__powsum_slow
14149
+ CPU, CUDA: linalg__powsum
14476
14150
  tags: reduction
14477
14151
 
14478
14152
  - func: linalg_matrix_norm(Tensor self, Scalar ord, int[] dim=[-2,-1], bool keepdim=False, *, ScalarType? dtype=None) -> Tensor
@@ -14622,6 +14296,7 @@
14622
14296
  structured: True
14623
14297
  dispatch:
14624
14298
  CPU, CUDA: linalg_qr_out
14299
+ MPS: linalg_qr_out_mps
14625
14300
 
14626
14301
  - func: linalg_matrix_power(Tensor self, int n) -> Tensor
14627
14302
  python_module: linalg
@@ -15019,7 +14694,6 @@
15019
14694
  dispatch:
15020
14695
  CompositeExplicitAutograd: split_copy_Tensor_out
15021
14696
 
15022
-
15023
14697
  - func: split_with_sizes_copy.out(Tensor self, SymInt[] split_sizes, int dim=0, *, Tensor(a!)[] out) -> ()
15024
14698
  variants: function
15025
14699
  dispatch:
@@ -15122,7 +14796,7 @@
15122
14796
  variants: function
15123
14797
  tags: nondeterministic_seeded
15124
14798
 
15125
- - func: _scaled_dot_product_attention_math_for_mps(Tensor query, Tensor key, Tensor value, Tensor? attn_mask=None, float dropout_p=0.0, bool is_causal=False, Tensor? dropout_mask=None, *, float? scale=None) -> (Tensor, Tensor)
14799
+ - func: _scaled_dot_product_attention_math_for_mps(Tensor query, Tensor key, Tensor value, Tensor? attn_mask=None, float dropout_p=0.0, bool is_causal=False, Tensor? dropout_mask=None, *, float? scale=None, bool enable_gqa=False) -> (Tensor, Tensor)
15126
14800
  dispatch:
15127
14801
  MPS: _scaled_dot_product_attention_math_mps
15128
14802
  tags: nondeterministic_seeded
@@ -15134,6 +14808,11 @@
15134
14808
  NestedTensorCUDA: _scaled_dot_product_flash_attention_nestedtensor_cuda
15135
14809
  tags: nondeterministic_seeded
15136
14810
 
14811
+ - func: _scaled_dot_product_flash_attention.quantized(Tensor query, Tensor key, Tensor value, Tensor? q_descale, Tensor? k_descale, Tensor? v_descale, 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 rng_state, Tensor unused, Tensor debug_attn_mask)
14812
+ dispatch:
14813
+ CUDA: _scaled_dot_product_flash_attention_cuda_quantized
14814
+ tags: nondeterministic_seeded
14815
+
15137
14816
  - func: _scaled_dot_product_flash_attention_for_cpu(Tensor query, Tensor key, Tensor value, float dropout_p=0.0, bool is_causal=False, *, Tensor? attn_mask=None, float? scale=None) -> (Tensor output, Tensor logsumexp)
15138
14817
  dispatch:
15139
14818
  CPU: _scaled_dot_product_flash_attention_cpu
@@ -15189,12 +14868,24 @@
15189
14868
  NestedTensorCUDA: _scaled_dot_product_cudnn_attention_nestedtensor_backward_cuda
15190
14869
  tags: nondeterministic_seeded
15191
14870
 
15192
- - 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, SymInt? window_size_left=None, SymInt? window_size_right=None, Tensor? seqused_k=None, Tensor? alibi_slopes=None) -> (Tensor output, Tensor softmax_logsumexp, Tensor rng_state, Tensor unused, Tensor debug_attn_mask)
14871
+ - 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, SymInt? window_size_left=None, SymInt? window_size_right=None, Tensor? seqused_k=None, Tensor? alibi_slopes=None, Tensor? block_table=None, int? num_splits=None) -> (Tensor output, Tensor softmax_logsumexp, Tensor rng_state, Tensor unused, Tensor debug_attn_mask)
15193
14872
  variants: function
15194
14873
  dispatch:
15195
14874
  CUDA: _flash_attention_forward
15196
14875
  tags: nondeterministic_seeded
15197
14876
 
14877
+ - func: _flash_attention_forward_no_dropout_inplace(Tensor(a!) out, 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, SymInt? window_size_left=None, SymInt? window_size_right=None, Tensor? seqused_k=None, Tensor? alibi_slopes=None, Tensor? block_table=None, int? num_splits=None) -> Tensor softmax_logsumexp
14878
+ variants: function
14879
+ dispatch:
14880
+ CUDA: _flash_attention_forward_no_dropout_inplace
14881
+ tags: nondeterministic_seeded
14882
+
14883
+ - func: _flash_attention_forward.quantized(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, Tensor? q_descale, Tensor? k_descale, Tensor? v_descale, *, float? scale=None, SymInt? window_size_left=None, SymInt? window_size_right=None, Tensor? seqused_k=None, Tensor? alibi_slopes=None) -> (Tensor output, Tensor softmax_logsumexp, Tensor rng_state, Tensor unused, Tensor debug_attn_mask)
14884
+ variants: function
14885
+ dispatch:
14886
+ CUDA: _flash_attention_forward_quantized
14887
+ tags: nondeterministic_seeded
14888
+
15198
14889
  - 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 rng_state, Tensor unused, *, float? scale=None, SymInt? window_size_left=None, SymInt? window_size_right=None) -> (Tensor, Tensor, Tensor)
15199
14890
  device_check: NoCheck
15200
14891
  variants: function