torch-rb 0.1.7 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 51bcc56112e13ba206402857b379aee0df4c7695f75af354e833760adec67756
4
- data.tar.gz: b2ff24940e4c219d88c5a001d4e8b4e44d0e55a35fc266989f0196e696d15bc8
3
+ metadata.gz: fca87cb9b6d255287e9fafadf786c113798abbe76b36c82b8271b79cfbf3c2b9
4
+ data.tar.gz: 4813c71f5ad6d078e78da03cf59f8036e9e76258ffb67f538899bba146dcba2a
5
5
  SHA512:
6
- metadata.gz: 95506016db5598333f0cb99a435d29951342af91f75ae4b1f01ef11df81891738888b90c7d27317071ad00bd9b81714cf41c0ea635c2578fd756c388b5e1da7f
7
- data.tar.gz: 053c9c75e66fe54902f07413687deb6996afc7ae88217bd5dcc852ca59d535c663bb9fb3aed28b20dba953a42e714410867dbd6ecd747f96fe8e8dfd81da8d6c
6
+ metadata.gz: 22c7150e6a7d9132c40c67819beecc6b8c69b268bd227a8e4aa324ef5e2707004691d5b65dcd4ba1ac537bfaf783947da7e5a323417cffcbf7d348768c40b7c6
7
+ data.tar.gz: 8a86c6b68efe6ad85a261d7033b87f040c22b2c670a0238accd6246274caed17b86d7b424441bba80c5ea67ec1bf53b05444dfb0c45ea5b8a52806d0ce19ec1e
data/CHANGELOG.md CHANGED
@@ -1,4 +1,9 @@
1
- ## 0.1.7 (2019-01-10)
1
+ ## 0.1.8 (2020-01-17)
2
+
3
+ - Added support for libtorch 1.4.0
4
+ - Dropped support for libtorch 1.3.1
5
+
6
+ ## 0.1.7 (2020-01-10)
2
7
 
3
8
  - Fixed installation error with Ruby 2.7
4
9
 
data/ext/torch/ext.cpp CHANGED
@@ -16,6 +16,12 @@
16
16
 
17
17
  using namespace Rice;
18
18
 
19
+ // need to make a distinction between parameters and tensors
20
+ class Parameter: public torch::autograd::Variable {
21
+ public:
22
+ Parameter(Tensor&& t) : torch::autograd::Variable(t) { }
23
+ };
24
+
19
25
  extern "C"
20
26
  void Init_ext()
21
27
  {
@@ -136,7 +142,13 @@ void Init_ext()
136
142
  for (size_t i = 0; i < a.size(); i++) {
137
143
  vec.push_back(from_ruby<float>(a[i]));
138
144
  }
139
- t = torch::tensor(vec, options);
145
+ // hack for requires_grad error
146
+ if (options.requires_grad()) {
147
+ t = torch::tensor(vec, options.requires_grad(c10::nullopt));
148
+ t.set_requires_grad(true);
149
+ } else {
150
+ t = torch::tensor(vec, options);
151
+ }
140
152
  }
141
153
  return t.reshape(size);
142
154
  });
@@ -146,6 +158,7 @@ void Init_ext()
146
158
  .define_method("sparse?", &torch::Tensor::is_sparse)
147
159
  .define_method("quantized?", &torch::Tensor::is_quantized)
148
160
  .define_method("dim", &torch::Tensor::dim)
161
+ .define_method("numel", &torch::Tensor::numel)
149
162
  .define_method("element_size", &torch::Tensor::element_size)
150
163
  .define_method("requires_grad", &torch::Tensor::requires_grad)
151
164
  .define_method(
@@ -260,7 +273,7 @@ void Init_ext()
260
273
  auto data = torch::autograd::as_variable_ref(rd).detach();
261
274
  data.unsafeGetTensorImpl()->set_allow_tensor_metadata_change(true);
262
275
  auto var = data.set_requires_grad(requires_grad);
263
- return torch::autograd::Variable(std::move(var));
276
+ return Parameter(std::move(var));
264
277
  });
265
278
 
266
279
  Class rb_cTensorOptions = define_class_under<torch::TensorOptions>(rb_mTorch, "TensorOptions")
@@ -375,10 +388,10 @@ void Init_ext()
375
388
  return torch::nn::init::sparse_(tensor, sparsity, std);
376
389
  });
377
390
 
378
- Class rb_cParameter = define_class_under<torch::autograd::Variable, torch::Tensor>(rb_mNN, "Parameter")
391
+ Class rb_cParameter = define_class_under<Parameter, torch::Tensor>(rb_mNN, "Parameter")
379
392
  .define_method(
380
393
  "grad",
381
- *[](torch::autograd::Variable& self) {
394
+ *[](Parameter& self) {
382
395
  auto grad = self.grad();
383
396
  return grad.defined() ? to_ruby<torch::Tensor>(grad) : Nil;
384
397
  });
data/ext/torch/extconf.rb CHANGED
@@ -10,6 +10,9 @@ $CXXFLAGS << " -std=c++11"
10
10
  # silence ruby/intern.h warning
11
11
  $CXXFLAGS << " -Wno-deprecated-register"
12
12
 
13
+ # silence torch warnings
14
+ $CXXFLAGS << " -Wno-shorten-64-to-32 -Wno-missing-noreturn"
15
+
13
16
  inc, lib = dir_config("torch")
14
17
 
15
18
  inc ||= "/usr/local/include"
@@ -1,5 +1,9 @@
1
1
  #pragma once
2
2
 
3
+ #ifdef isfinite
4
+ #undef isfinite
5
+ #endif
6
+
3
7
  #include <rice/Array.hpp>
4
8
  #include <rice/Object.hpp>
5
9
 
@@ -79,12 +83,11 @@ class FanModeType {
79
83
  FanModeType(Object o) {
80
84
  s = String(o).str();
81
85
  }
82
- // TODO switch NonlinearityType after LibTorch 1.4 release
83
- operator torch::nn::init::FanMode() {
86
+ operator torch::nn::init::FanModeType() {
84
87
  if (s == "fan_in") {
85
- return torch::nn::init::FanMode::FanIn;
88
+ return torch::kFanIn;
86
89
  } else if (s == "fan_out") {
87
- return torch::nn::init::FanMode::FanOut;
90
+ return torch::kFanOut;
88
91
  } else {
89
92
  throw std::runtime_error("Unsupported nonlinearity type: " + s);
90
93
  }
@@ -104,30 +107,29 @@ class NonlinearityType {
104
107
  NonlinearityType(Object o) {
105
108
  s = String(o).str();
106
109
  }
107
- // TODO switch NonlinearityType after LibTorch 1.4 release
108
- operator torch::nn::init::Nonlinearity() {
110
+ operator torch::nn::init::NonlinearityType() {
109
111
  if (s == "linear") {
110
- return torch::nn::init::Nonlinearity::Linear;
112
+ return torch::kLinear;
111
113
  } else if (s == "conv1d") {
112
- return torch::nn::init::Nonlinearity::Conv1D;
114
+ return torch::kConv1D;
113
115
  } else if (s == "conv2d") {
114
- return torch::nn::init::Nonlinearity::Conv2D;
116
+ return torch::kConv2D;
115
117
  } else if (s == "conv3d") {
116
- return torch::nn::init::Nonlinearity::Conv3D;
118
+ return torch::kConv3D;
117
119
  } else if (s == "conv_transpose1d") {
118
- return torch::nn::init::Nonlinearity::ConvTranspose1D;
120
+ return torch::kConvTranspose1D;
119
121
  } else if (s == "conv_transpose2d") {
120
- return torch::nn::init::Nonlinearity::ConvTranspose2D;
122
+ return torch::kConvTranspose2D;
121
123
  } else if (s == "conv_transpose3d") {
122
- return torch::nn::init::Nonlinearity::ConvTranspose3D;
124
+ return torch::kConvTranspose3D;
123
125
  } else if (s == "sigmoid") {
124
- return torch::nn::init::Nonlinearity::Sigmoid;
126
+ return torch::kSigmoid;
125
127
  } else if (s == "tanh") {
126
- return torch::nn::init::Nonlinearity::Tanh;
128
+ return torch::kTanh;
127
129
  } else if (s == "relu") {
128
- return torch::nn::init::Nonlinearity::ReLU;
130
+ return torch::kReLU;
129
131
  } else if (s == "leaky_relu") {
130
- return torch::nn::init::Nonlinearity::LeakyReLU;
132
+ return torch::kLeakyReLU;
131
133
  } else {
132
134
  throw std::runtime_error("Unsupported nonlinearity type: " + s);
133
135
  }
@@ -149,14 +151,14 @@ class MyReduction {
149
151
  }
150
152
  operator int64_t() {
151
153
  if (value.is_nil()) {
152
- return Reduction::None;
154
+ return torch::Reduction::None;
153
155
  }
154
156
 
155
157
  std::string s = String(value).str();
156
158
  if (s == "mean") {
157
- return Reduction::Mean;
159
+ return torch::Reduction::Mean;
158
160
  } else if (s == "sum") {
159
- return Reduction::Sum;
161
+ return torch::Reduction::Sum;
160
162
  } else {
161
163
  throw std::runtime_error("Unsupported reduction: " + s);
162
164
  }
@@ -66,6 +66,7 @@ module Torch
66
66
  end
67
67
 
68
68
  next if t == "Generator?"
69
+ next if t == "MemoryFormat?"
69
70
  args << {name: k, type: t, default: d, pos: pos, has_default: has_default}
70
71
  end
71
72
  args
@@ -37,19 +37,38 @@
37
37
  use_c10_dispatcher: full
38
38
  variants: function
39
39
 
40
- - func: backward(Tensor self, Tensor? gradient=None, bool keep_graph=False, bool create_graph=False) -> void
40
+ # Computes the gradient of current tensor w.r.t. graph leaves.
41
+ - func: backward(Tensor self, Tensor? gradient=None, bool keep_graph=False, bool create_graph=False) -> ()
41
42
  variants: method
42
43
 
43
- - func: set_data(Tensor(a!) self, Tensor new_data) -> void
44
+ # DEPRECATED. Sets the tensor data held by this `Variable` to be the same as
45
+ # `new_data`. It requires that `new_data` and `Variable` have compatible tensor
46
+ # type, by checking `_has_compatible_shallow_copy_type(this, new_data)`.
47
+ #
48
+ # This function is deprecated because it doesn't really make sense in a world
49
+ # where Variables *are* Tensors (as opposed to them containing tensors, which
50
+ # is what the previous interpretation was.)
51
+ - func: set_data(Tensor(a!) self, Tensor new_data) -> ()
52
+ use_c10_dispatcher: unboxed_only
44
53
  variants: method
45
54
 
46
55
  - func: data(Tensor self) -> Tensor
47
- use_c10_dispatcher: unboxed_only
48
56
  variants: method
49
57
 
58
+ # True if this `Variable` is a leaf and thus does not have a `grad_fn`.
50
59
  - func: is_leaf(Tensor self) -> bool
51
60
  variants: method
52
61
 
62
+ # Returns the output index of this variable from the forward operation that
63
+ # produced it. Conversely, it returns the input index of the gradient `Node` to
64
+ # which this `Variable` is connected (because in the gradient computation,
65
+ # inputs and outputs switch meaning). For example:
66
+ #
67
+ # y0, y1, y2 = f(x)
68
+ # assert y0.output_nr == 0
69
+ # assert y1.output_nr == 1
70
+ # assert y2.output_nr == 2
71
+ #
53
72
  - func: output_nr(Tensor self) -> int
54
73
  variants: method
55
74
  supports_named_tensor: True
@@ -57,6 +76,9 @@
57
76
  - func: _version(Tensor self) -> int
58
77
  variants: method
59
78
 
79
+ - func: requires_grad_(Tensor(a!) self, bool _requires_grad=True) -> Tensor(a!)
80
+ variants: method
81
+
60
82
  - func: rename_(Tensor(a!) self, Dimname[]? names) -> Tensor(a!)
61
83
  variants: method
62
84
  supports_named_tensor: True
@@ -65,38 +87,43 @@
65
87
  variants: method
66
88
  supports_named_tensor: True
67
89
 
68
- - func: align_to(Tensor(a) self, DimnameList names) -> Tensor(a)
90
+ - func: align_to(Tensor(a) self, Dimname[] names) -> Tensor(a)
91
+ variants: method
92
+ supports_named_tensor: True
93
+
94
+ - func: align_to.ellipsis_idx(Tensor(a) self, Dimname[] order, int ellipsis_idx) -> Tensor(a)
69
95
  variants: method
70
96
  supports_named_tensor: True
71
97
 
72
98
  - func: align_as(Tensor self, Tensor other) -> Tensor
73
- use_c10_dispatcher: unboxed_only
74
99
  variants: method
75
100
  supports_named_tensor: True
76
101
 
77
102
  - func: align_tensors(Tensor[] tensors) -> Tensor[]
78
- use_c10_dispatcher: unboxed_only
79
103
  supports_named_tensor: True
80
104
 
81
- - func: refine_names(Tensor(a) self, DimnameList names) -> Tensor(a)
105
+ - func: refine_names(Tensor(a) self, Dimname[] names) -> Tensor(a)
82
106
  variants: method
83
107
  supports_named_tensor: True
84
108
 
85
- - func: unflatten(Tensor self, Dimname dim, int[] sizes, DimnameList names) -> Tensor
109
+ - func: unflatten.Dimname(Tensor self, Dimname dim, int[] sizes, Dimname[] names) -> Tensor
86
110
  variants: method
87
111
  supports_named_tensor: True
88
112
 
89
- - func: unflatten(Tensor self, int dim, int[] sizes, DimnameList names) -> Tensor
113
+ - func: unflatten.int(Tensor self, int dim, int[] sizes, Dimname[] names) -> Tensor
90
114
  variants: method
91
115
  supports_named_tensor: True
92
116
 
117
+
118
+ - func: _use_cudnn_ctc_loss(Tensor log_probs, Tensor targets, int[] input_lengths, int[] target_lengths, int blank) -> bool
119
+ dispatch:
120
+ CUDA: _use_cudnn_ctc_loss
121
+
93
122
  - func: _cudnn_ctc_loss(Tensor log_probs, Tensor targets, int[] input_lengths, int[] target_lengths, int blank, bool deterministic, bool zero_infinity) -> (Tensor, Tensor)
94
- use_c10_dispatcher: unboxed_only
95
123
  dispatch:
96
124
  CUDA: _cudnn_ctc_loss
97
125
 
98
126
  - func: _cudnn_rnn_flatten_weight(Tensor[] weight_arr, int weight_stride0, int input_size, int mode, int hidden_size, int num_layers, bool batch_first, bool bidirectional) -> Tensor
99
- use_c10_dispatcher: unboxed_only
100
127
  dispatch:
101
128
  CUDA: _cudnn_rnn_flatten_weight
102
129
 
@@ -117,7 +144,6 @@
117
144
  variants: function
118
145
 
119
146
  - func: _fused_dropout(Tensor self, float p, Generator? generator=None) -> (Tensor, Tensor)
120
- use_c10_dispatcher: 'unboxed_only'
121
147
  variants: function
122
148
  dispatch:
123
149
  CUDA: fused_dropout_cuda
@@ -132,15 +158,12 @@
132
158
  - func: _sobol_engine_draw(Tensor quasi, int n, Tensor sobolstate, int dimension, int num_generated, ScalarType? dtype) -> (Tensor, Tensor)
133
159
 
134
160
  - func: _sobol_engine_ff_(Tensor(a!) self, int n, Tensor sobolstate, int dimension, int num_generated) -> Tensor(a!)
135
- use_c10_dispatcher: unboxed_only
136
161
 
137
162
 
138
163
  - func: _sobol_engine_scramble_(Tensor(a!) self, Tensor ltm, int dimension) -> Tensor(a!)
139
- use_c10_dispatcher: unboxed_only
140
164
 
141
165
 
142
166
  - func: _sobol_engine_initialize_state_(Tensor(a!) self, int dimension) -> Tensor(a!)
143
- use_c10_dispatcher: unboxed_only
144
167
 
145
168
 
146
169
  - func: _reshape_from_tensor(Tensor self, Tensor shape) -> Tensor
@@ -154,27 +177,23 @@
154
177
  supports_named_tensor: True
155
178
 
156
179
  - func: dropout_(Tensor(a!) self, float p, bool train) -> Tensor(a!)
157
- use_c10_dispatcher: unboxed_only
158
180
  supports_named_tensor: True
159
181
 
160
182
  - func: feature_dropout(Tensor input, float p, bool train) -> Tensor
161
183
  use_c10_dispatcher: full
162
184
 
163
185
  - func: feature_dropout_(Tensor(a!) self, float p, bool train) -> Tensor(a!)
164
- use_c10_dispatcher: unboxed_only
165
186
 
166
187
  - func: alpha_dropout(Tensor input, float p, bool train) -> Tensor
167
188
  use_c10_dispatcher: full
168
189
 
169
190
  - func: alpha_dropout_(Tensor(a!) self, float p, bool train) -> Tensor(a!)
170
- use_c10_dispatcher: unboxed_only
171
191
 
172
192
 
173
193
  - func: feature_alpha_dropout(Tensor input, float p, bool train) -> Tensor
174
194
  use_c10_dispatcher: full
175
195
 
176
196
  - func: feature_alpha_dropout_(Tensor(a!) self, float p, bool train) -> Tensor(a!)
177
- use_c10_dispatcher: unboxed_only
178
197
 
179
198
 
180
199
  - func: abs(Tensor self) -> Tensor
@@ -183,18 +202,55 @@
183
202
  supports_named_tensor: True
184
203
 
185
204
  - func: abs_(Tensor(a!) self) -> Tensor(a!)
186
- use_c10_dispatcher: unboxed_only
187
205
  variants: function, method
188
206
  supports_named_tensor: True
189
- dispatch:
190
- CPU: _abs__cpu
191
- CUDA: _abs__cuda
192
207
 
193
208
  - func: abs.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
194
209
  supports_named_tensor: True
210
+
211
+ - func: angle(Tensor self) -> Tensor
212
+ variants: function, method
213
+ supports_named_tensor: True
214
+ named_guard: False
215
+
216
+ - func: angle.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
217
+ named_guard: False
218
+ supports_named_tensor: True
219
+ dispatch:
220
+ CPU: _angle_out_cpu
221
+
222
+ - func: real(Tensor self) -> Tensor
223
+ variants: function, method
224
+ named_guard: False
225
+ supports_named_tensor: True
226
+
227
+ - func: real.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
228
+ named_guard: False
229
+ supports_named_tensor: True
230
+ dispatch:
231
+ CPU: _real_out_cpu
232
+
233
+ - func: imag(Tensor self) -> Tensor
234
+ variants: function, method
235
+ named_guard: False
236
+ supports_named_tensor: True
237
+
238
+ - func: imag.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
239
+ named_guard: False
240
+ supports_named_tensor: True
241
+ dispatch:
242
+ CPU: _imag_out_cpu
243
+
244
+ - func: conj(Tensor self) -> Tensor
245
+ variants: function, method
246
+ named_guard: False
247
+ supports_named_tensor: True
248
+
249
+ - func: conj.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
250
+ named_guard: False
251
+ supports_named_tensor: True
195
252
  dispatch:
196
- CPU: _abs_out_cpu
197
- CUDA: _abs_out_cuda
253
+ CPU: _conj_out_cpu
198
254
 
199
255
  - func: acos(Tensor self) -> Tensor
200
256
  use_c10_dispatcher: full
@@ -202,28 +258,18 @@
202
258
  variants: function, method
203
259
 
204
260
  - func: acos_(Tensor(a!) self) -> Tensor(a!)
205
- use_c10_dispatcher: unboxed_only
206
261
  supports_named_tensor: True
207
262
  variants: function, method
208
- dispatch:
209
- CPU: _acos__cpu
210
- CUDA: _acos__cuda
211
263
 
212
264
  - func: acos.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
213
265
  supports_named_tensor: True
214
- dispatch:
215
- CPU: _acos_out_cpu
216
- CUDA: _acos_out_cuda
217
266
 
218
267
  - func: avg_pool1d(Tensor self, int[1] kernel_size, int[1] stride=[], int[1] padding=0, bool ceil_mode=False, bool count_include_pad=True) -> Tensor
219
- use_c10_dispatcher: unboxed_only
220
268
 
221
269
  - func: adaptive_avg_pool1d(Tensor self, int[1] output_size) -> Tensor
222
- use_c10_dispatcher: unboxed_only
223
270
 
224
271
  # Return: (Tensor output, Tensor indices)
225
272
  - func: adaptive_max_pool1d(Tensor self, int[1] output_size) -> (Tensor, Tensor)
226
- use_c10_dispatcher: unboxed_only
227
273
 
228
274
  - func: add.Tensor(Tensor self, Tensor other, *, Scalar alpha=1) -> Tensor
229
275
  use_c10_dispatcher: full
@@ -237,7 +283,6 @@
237
283
  supports_named_tensor: True
238
284
 
239
285
  - func: add_.Tensor(Tensor(a!) self, Tensor other, *, Scalar alpha=1) -> Tensor(a!)
240
- use_c10_dispatcher: unboxed_only
241
286
  variants: method
242
287
  dispatch:
243
288
  CPU: add_
@@ -263,7 +308,6 @@
263
308
  supports_named_tensor: True
264
309
 
265
310
  - func: add_.Scalar(Tensor(a!) self, Scalar other, Scalar alpha=1) -> Tensor(a!)
266
- use_c10_dispatcher: unboxed_only
267
311
  variants: method
268
312
  supports_named_tensor: True
269
313
 
@@ -276,7 +320,6 @@
276
320
  supports_named_tensor: True
277
321
 
278
322
  - func: addmv_(Tensor(a!) self, Tensor mat, Tensor vec, *, Scalar beta=1, Scalar alpha=1) -> Tensor(a!)
279
- use_c10_dispatcher: unboxed_only
280
323
  variants: function, method
281
324
  dispatch:
282
325
  CPU: legacy::cpu::_th_addmv_
@@ -294,17 +337,14 @@
294
337
  variants: function, method
295
338
 
296
339
  - func: addr_(Tensor(a!) self, Tensor vec1, Tensor vec2, *, Scalar beta=1, Scalar alpha=1) -> Tensor(a!)
297
- use_c10_dispatcher: unboxed_only
298
340
  variants: method
299
341
 
300
342
  - func: addr.out(Tensor self, Tensor vec1, Tensor vec2, *, Scalar beta=1, Scalar alpha=1, Tensor(a!) out) -> Tensor(a!)
301
343
 
302
344
  - func: affine_grid_generator(Tensor theta, int[] size, bool align_corners) -> Tensor
303
- use_c10_dispatcher: unboxed_only
304
345
  variants: function
305
346
 
306
347
  - func: affine_grid_generator_backward(Tensor grad, int[] size, bool align_corners) -> Tensor
307
- use_c10_dispatcher: unboxed_only
308
348
  variants: function
309
349
 
310
350
  - func: all.dim(Tensor self, int dim, bool keepdim=False) -> Tensor
@@ -363,7 +403,6 @@
363
403
  variants: function, method
364
404
 
365
405
  - func: as_strided(Tensor(a) self, int[] size, int[] stride, int? storage_offset=None) -> Tensor(a)
366
- use_c10_dispatcher: unboxed_only
367
406
  variants: function, method
368
407
  dispatch:
369
408
  CPU: as_strided_tensorimpl
@@ -373,7 +412,6 @@
373
412
  supports_named_tensor: True
374
413
 
375
414
  - func: as_strided_(Tensor(a!) self, int[] size, int[] stride, int? storage_offset=None) -> Tensor(a!)
376
- use_c10_dispatcher: unboxed_only
377
415
  variants: function, method
378
416
  device_guard: False
379
417
 
@@ -383,18 +421,11 @@
383
421
  variants: function, method
384
422
 
385
423
  - func: asin_(Tensor(a!) self) -> Tensor(a!)
386
- use_c10_dispatcher: unboxed_only
387
424
  supports_named_tensor: True
388
425
  variants: function, method
389
- dispatch:
390
- CPU: _asin__cpu
391
- CUDA: _asin__cuda
392
426
 
393
427
  - func: asin.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
394
428
  supports_named_tensor: True
395
- dispatch:
396
- CPU: _asin_out_cpu
397
- CUDA: _asin_out_cuda
398
429
 
399
430
  - func: atan(Tensor self) -> Tensor
400
431
  use_c10_dispatcher: full
@@ -402,7 +433,6 @@
402
433
  variants: function, method
403
434
 
404
435
  - func: atan_(Tensor(a!) self) -> Tensor(a!)
405
- use_c10_dispatcher: unboxed_only
406
436
  supports_named_tensor: True
407
437
  variants: function, method
408
438
  dispatch:
@@ -423,14 +453,12 @@
423
453
  CUDA: baddbmm_cuda
424
454
 
425
455
  - func: baddbmm_(Tensor(a!) self, Tensor batch1, Tensor batch2, *, Scalar beta=1, Scalar alpha=1) -> Tensor(a!)
426
- use_c10_dispatcher: unboxed_only
427
456
  variants: method
428
457
  dispatch:
429
458
  CPU: baddbmm__cpu
430
459
  CUDA: baddbmm__cuda
431
460
 
432
461
  - func: _baddbmm_mkl_(Tensor(a!) self, Tensor batch1, Tensor batch2, *, Scalar beta=1, Scalar alpha=1) -> Tensor(a!)
433
- use_c10_dispatcher: unboxed_only
434
462
  variants: function
435
463
 
436
464
  - func: baddbmm.out(Tensor self, Tensor batch1, Tensor batch2, *, Scalar beta=1, Scalar alpha=1, Tensor(a!) out) -> Tensor(a!)
@@ -445,13 +473,12 @@
445
473
 
446
474
  - func: batch_norm(Tensor input, Tensor? weight, Tensor? bias, Tensor? running_mean, Tensor? running_var, bool training, float momentum, float eps, bool cudnn_enabled) -> Tensor
447
475
 
448
- - func: _batch_norm_impl_index(Tensor input, Tensor? weight, Tensor? bias, Tensor? running_mean, Tensor? running_var, bool training, float momentum, float eps, bool cudnn_enabled) -> (Tensor, Tensor, Tensor, int)
476
+ - func: _batch_norm_impl_index(Tensor input, Tensor? weight, Tensor? bias, Tensor? running_mean, Tensor? running_var, bool training, float momentum, float eps, bool cudnn_enabled) -> (Tensor, Tensor, Tensor, Tensor, int)
449
477
 
450
- - func: _batch_norm_impl_index_backward(int impl_index, Tensor input, Tensor grad_output, Tensor? weight, Tensor? running_mean, Tensor? running_var, Tensor? save_mean, Tensor? save_var_transform, bool train, float eps, bool[3] output_mask) -> (Tensor, Tensor, Tensor)
478
+ - func: _batch_norm_impl_index_backward(int impl_index, Tensor input, Tensor grad_output, Tensor? weight, Tensor? running_mean, Tensor? running_var, Tensor? save_mean, Tensor? save_var_transform, bool train, float eps, bool[3] output_mask, Tensor reservedSpace) -> (Tensor, Tensor, Tensor)
451
479
 
452
480
  # Sample bernoulli with values in `self` as probability.
453
481
  - func: bernoulli(Tensor self, *, Generator? generator=None) -> Tensor
454
- use_c10_dispatcher: 'unboxed_only'
455
482
  variants: function, method
456
483
  supports_named_tensor: True
457
484
 
@@ -460,7 +487,6 @@
460
487
  supports_named_tensor: True
461
488
 
462
489
  - func: bernoulli_.Tensor(Tensor(a!) self, Tensor p, *, Generator? generator=None) -> Tensor(a!)
463
- use_c10_dispatcher: 'unboxed_only'
464
490
  variants: method
465
491
  dispatch:
466
492
  CPU: bernoulli_tensor_cpu_
@@ -468,7 +494,6 @@
468
494
  supports_named_tensor: True
469
495
 
470
496
  - func: bernoulli_.float(Tensor(a!) self, float p=0.5, *, Generator? generator=None) -> Tensor(a!)
471
- use_c10_dispatcher: 'unboxed_only'
472
497
  variants: method
473
498
  dispatch:
474
499
  CPU: bernoulli_scalar_cpu_
@@ -479,7 +504,6 @@
479
504
  # There is no default valid on `p` here because it would introduce ambiguity
480
505
  # with `bernoulli(Tensor self, *, Generator? generator=None)` declaration.
481
506
  - func: bernoulli.p(Tensor self, float p, *, Generator? generator=None) -> Tensor
482
- use_c10_dispatcher: 'unboxed_only'
483
507
  variants: function, method
484
508
 
485
509
  - func: bilinear(Tensor input1, Tensor input2, Tensor weight, Tensor? bias) -> Tensor
@@ -502,7 +526,6 @@
502
526
  variants: function, method
503
527
 
504
528
  - func: bitwise_not_(Tensor(a!) self) -> Tensor(a!)
505
- use_c10_dispatcher: unboxed_only
506
529
  supports_named_tensor: True
507
530
  variants: method
508
531
 
@@ -513,12 +536,10 @@
513
536
  CUDA: bitwise_not_out
514
537
 
515
538
  - func: logical_not(Tensor self) -> Tensor
516
- use_c10_dispatcher: unboxed_only
517
539
  supports_named_tensor: True
518
540
  variants: function, method
519
541
 
520
542
  - func: logical_not_(Tensor(a!) self) -> Tensor(a!)
521
- use_c10_dispatcher: unboxed_only
522
543
  supports_named_tensor: True
523
544
  variants: method
524
545
 
@@ -529,12 +550,10 @@
529
550
  CUDA: logical_not_out
530
551
 
531
552
  - func: logical_xor(Tensor self, Tensor other) -> Tensor
532
- use_c10_dispatcher: unboxed_only
533
553
  variants: function, method
534
554
  supports_named_tensor: True
535
555
 
536
556
  - func: logical_xor_(Tensor(a!) self, Tensor other) -> Tensor(a!)
537
- use_c10_dispatcher: unboxed_only
538
557
  variants: method
539
558
  supports_named_tensor: True
540
559
 
@@ -564,11 +583,9 @@
564
583
  supports_named_tensor: True
565
584
 
566
585
  - func: broadcast_tensors(Tensor[] tensors) -> Tensor[]
567
- use_c10_dispatcher: unboxed_only
568
586
  device_guard: False
569
587
 
570
588
  - func: cat(Tensor[] tensors, int dim=0) -> Tensor
571
- use_c10_dispatcher: unboxed_only
572
589
  supports_named_tensor: True
573
590
 
574
591
  - func: cat.out(Tensor[] tensors, int dim=0, *, Tensor(a!) out) -> Tensor(a!)
@@ -586,7 +603,6 @@
586
603
  variants: function, method
587
604
 
588
605
  - func: ceil_(Tensor(a!) self) -> Tensor(a!)
589
- use_c10_dispatcher: unboxed_only
590
606
  supports_named_tensor: True
591
607
  variants: function, method
592
608
 
@@ -597,11 +613,9 @@
597
613
  CUDA: ceil_out
598
614
 
599
615
  - func: chain_matmul(Tensor[] matrices) -> Tensor
600
- use_c10_dispatcher: unboxed_only
601
616
  variants: function
602
617
 
603
618
  - func: chunk(Tensor(a) self, int chunks, int dim=0) -> Tensor(a)[]
604
- use_c10_dispatcher: unboxed_only
605
619
  variants: function, method
606
620
  device_guard: False
607
621
  supports_named_tensor: True
@@ -612,7 +626,6 @@
612
626
  variants: function, method
613
627
 
614
628
  - func: clamp_(Tensor(a!) self, Scalar? min=None, Scalar? max=None) -> Tensor(a!)
615
- use_c10_dispatcher: unboxed_only
616
629
  supports_named_tensor: True
617
630
  variants: function, method
618
631
  dispatch:
@@ -631,7 +644,6 @@
631
644
  variants: function, method
632
645
 
633
646
  - func: clamp_max_(Tensor(a!) self, Scalar max) -> Tensor(a!)
634
- use_c10_dispatcher: unboxed_only
635
647
  supports_named_tensor: True
636
648
  variants: function, method
637
649
  dispatch:
@@ -650,7 +662,6 @@
650
662
  variants: function, method
651
663
 
652
664
  - func: clamp_min_(Tensor(a!) self, Scalar min) -> Tensor(a!)
653
- use_c10_dispatcher: unboxed_only
654
665
  supports_named_tensor: True
655
666
  variants: function, method
656
667
  dispatch:
@@ -668,7 +679,6 @@
668
679
  device_guard: False
669
680
 
670
681
  - func: constant_pad_nd(Tensor self, int[] pad, Scalar value=0) -> Tensor
671
- use_c10_dispatcher: unboxed_only
672
682
  variants: function
673
683
 
674
684
  - func: contiguous(Tensor self, *, MemoryFormat memory_format=contiguous_format) -> Tensor
@@ -697,7 +707,6 @@
697
707
  use_c10_dispatcher: full
698
708
 
699
709
  - func: conv_tbc_backward(Tensor self, Tensor input, Tensor weight, Tensor bias, int pad) -> (Tensor, Tensor, Tensor)
700
- use_c10_dispatcher: unboxed_only
701
710
 
702
711
  # NB: we inherit the goofy argument order from PyTorch torch.nn.functional
703
712
  - func: conv_transpose1d(Tensor input, Tensor weight, Tensor? bias=None, int[1] stride=1, int[1] padding=0, int[1] output_padding=0, int groups=1, int[1] dilation=1) -> Tensor
@@ -707,7 +716,6 @@
707
716
  - func: conv_transpose3d.input(Tensor input, Tensor weight, Tensor? bias=None, int[3] stride=1, int[3] padding=0, int[3] output_padding=0, int groups=1, int[3] dilation=1) -> Tensor
708
717
 
709
718
  - func: copy_(Tensor(a!) self, Tensor src, bool non_blocking=False) -> Tensor(a!)
710
- use_c10_dispatcher: unboxed_only
711
719
  variants: method
712
720
  device_guard: False
713
721
  supports_named_tensor: True
@@ -722,7 +730,6 @@
722
730
  variants: function, method
723
731
 
724
732
  - func: cos_(Tensor(a!) self) -> Tensor(a!)
725
- use_c10_dispatcher: unboxed_only
726
733
  supports_named_tensor: True
727
734
  variants: function, method
728
735
  dispatch:
@@ -741,7 +748,6 @@
741
748
  variants: function, method
742
749
 
743
750
  - func: cosh_(Tensor(a!) self) -> Tensor(a!)
744
- use_c10_dispatcher: unboxed_only
745
751
  supports_named_tensor: True
746
752
  variants: function, method
747
753
  dispatch:
@@ -768,12 +774,12 @@
768
774
  dispatch:
769
775
  CUDA: cudnn_affine_grid_generator_backward
770
776
 
771
- - func: cudnn_batch_norm(Tensor input, Tensor weight, Tensor? bias, Tensor? running_mean, Tensor? running_var, bool training, float exponential_average_factor, float epsilon) -> (Tensor, Tensor, Tensor)
777
+ - func: cudnn_batch_norm(Tensor input, Tensor weight, Tensor? bias, Tensor? running_mean, Tensor? running_var, bool training, float exponential_average_factor, float epsilon) -> (Tensor, Tensor, Tensor, Tensor)
772
778
  dispatch:
773
779
  CUDA: cudnn_batch_norm
774
780
 
775
781
  # NB: You can only use this if you used cudnn_batch_norm training=True
776
- - func: cudnn_batch_norm_backward(Tensor input, Tensor grad_output, Tensor weight, Tensor? running_mean, Tensor? running_var, Tensor? save_mean, Tensor? save_var, float epsilon) -> (Tensor, Tensor, Tensor)
782
+ - func: cudnn_batch_norm_backward(Tensor input, Tensor grad_output, Tensor weight, Tensor? running_mean, Tensor? running_var, Tensor? save_mean, Tensor? save_var, float epsilon, Tensor reserveSpace) -> (Tensor, Tensor, Tensor)
777
783
  dispatch:
778
784
  CUDA: cudnn_batch_norm_backward
779
785
 
@@ -782,12 +788,10 @@
782
788
  CUDA: cudnn_convolution
783
789
 
784
790
  - func: cudnn_convolution_backward_input(int[] self_size, Tensor grad_output, Tensor weight, int[] padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic) -> Tensor
785
- use_c10_dispatcher: unboxed_only
786
791
  dispatch:
787
792
  CUDA: cudnn_convolution_backward_input
788
793
 
789
794
  - func: cudnn_convolution_backward(Tensor self, Tensor grad_output, Tensor weight, int[] padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic, bool[3] output_mask) -> (Tensor, Tensor, Tensor)
790
- use_c10_dispatcher: unboxed_only
791
795
  dispatch:
792
796
  CUDA: cudnn_convolution_backward
793
797
 
@@ -797,7 +801,6 @@
797
801
  CUDA: cudnn_convolution_backward_bias
798
802
 
799
803
  - func: cudnn_convolution_backward_weight(int[] weight_size, Tensor grad_output, Tensor self, int[] padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic) -> Tensor
800
- use_c10_dispatcher: unboxed_only
801
804
  dispatch:
802
805
  CUDA: cudnn_convolution_backward_weight
803
806
 
@@ -808,7 +811,6 @@
808
811
  # NB: output_padding not strictly needed here, but it's helpful for the float
809
812
  # backwards
810
813
  - func: cudnn_convolution_transpose_backward(Tensor self, Tensor grad_output, Tensor weight, int[] padding, int[] output_padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic, bool[3] output_mask) -> (Tensor, Tensor, Tensor)
811
- use_c10_dispatcher: unboxed_only
812
814
  dispatch:
813
815
  CUDA: cudnn_convolution_transpose_backward
814
816
 
@@ -818,12 +820,10 @@
818
820
  CUDA: cudnn_convolution_backward_bias
819
821
 
820
822
  - func: cudnn_convolution_transpose_backward_input(Tensor grad_output, Tensor weight, int[] padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic) -> Tensor
821
- use_c10_dispatcher: unboxed_only
822
823
  dispatch:
823
824
  CUDA: cudnn_convolution_transpose_backward_input
824
825
 
825
826
  - func: cudnn_convolution_transpose_backward_weight(int[] weight_size, Tensor grad_output, Tensor self, int[] padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic) -> Tensor
826
- use_c10_dispatcher: unboxed_only
827
827
  dispatch:
828
828
  CUDA: cudnn_convolution_transpose_backward_weight
829
829
 
@@ -834,7 +834,6 @@
834
834
  CUDA: cudnn_grid_sampler_forward
835
835
 
836
836
  - func: cudnn_grid_sampler_backward(Tensor self, Tensor grid, Tensor grad_output) -> (Tensor grad_self, Tensor grad_grid)
837
- use_c10_dispatcher: unboxed_only
838
837
  dispatch:
839
838
  CUDA: cudnn_grid_sampler_backward
840
839
 
@@ -867,20 +866,17 @@
867
866
  supports_named_tensor: True
868
867
 
869
868
  - func: ctc_loss.IntList(Tensor log_probs, Tensor targets, int[] input_lengths, int[] target_lengths, int blank=0, int reduction=Mean, bool zero_infinity=False) -> Tensor
870
- use_c10_dispatcher: unboxed_only
871
869
 
872
870
  # convenience function that converts to intlists for you
873
871
  - func: ctc_loss.Tensor(Tensor log_probs, Tensor targets, Tensor input_lengths, Tensor target_lengths, int blank=0, int reduction=Mean, bool zero_infinity=False) -> Tensor
874
872
  use_c10_dispatcher: full
875
873
 
876
874
  - func: _ctc_loss(Tensor log_probs, Tensor targets, int[] input_lengths, int[] target_lengths, int blank=0, bool zero_infinity=False) -> (Tensor, Tensor)
877
- use_c10_dispatcher: unboxed_only
878
875
  dispatch:
879
876
  CPU: ctc_loss_cpu
880
877
  CUDA: ctc_loss_gpu
881
878
 
882
879
  - func: _ctc_loss_backward(Tensor grad, Tensor log_probs, Tensor targets, int[] input_lengths, int[] target_lengths, Tensor neg_log_likelihood, Tensor log_alpha, int blank, bool zero_infinity=False) -> Tensor
883
- use_c10_dispatcher: unboxed_only
884
880
  dispatch:
885
881
  CPU: ctc_loss_backward_cpu
886
882
  CUDA: ctc_loss_backward_gpu
@@ -898,11 +894,9 @@
898
894
  variants: function, method
899
895
 
900
896
  - func: diagonal(Tensor(a) self, int offset=0, int dim1=0, int dim2=1) -> Tensor(a)
901
- use_c10_dispatcher: unboxed_only
902
897
  variants: function, method
903
898
 
904
899
  - func: fill_diagonal_(Tensor(a!) self, Scalar fill_value, bool wrap=False) -> Tensor(a!)
905
- use_c10_dispatcher: unboxed_only
906
900
  variants: method
907
901
 
908
902
  - func: div.Tensor(Tensor self, Tensor other) -> Tensor
@@ -916,7 +910,6 @@
916
910
  supports_named_tensor: True
917
911
 
918
912
  - func: div_.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
919
- use_c10_dispatcher: unboxed_only
920
913
  variants: method
921
914
  dispatch:
922
915
  CPU: div_
@@ -940,7 +933,6 @@
940
933
  supports_named_tensor: True
941
934
 
942
935
  - func: div_.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
943
- use_c10_dispatcher: unboxed_only
944
936
  variants: method
945
937
  supports_named_tensor: True
946
938
 
@@ -956,7 +948,6 @@
956
948
  supports_named_tensor: True
957
949
 
958
950
  - func: einsum(str equation, Tensor[] tensors) -> Tensor
959
- use_c10_dispatcher: unboxed_only
960
951
 
961
952
  - func: embedding(Tensor weight, Tensor indices, int padding_idx=-1, bool scale_grad_by_freq=False, bool sparse=False) -> Tensor
962
953
  use_c10_dispatcher: full
@@ -971,7 +962,6 @@
971
962
  CUDA: embedding_dense_backward_cuda
972
963
 
973
964
  - func: embedding_renorm_(Tensor(a!) self, Tensor indices, float max_norm, float norm_type) -> Tensor(a!)
974
- use_c10_dispatcher: unboxed_only
975
965
  dispatch:
976
966
  CPU: embedding_renorm_cpu_
977
967
  CUDA: embedding_renorm_cuda_
@@ -1027,6 +1017,9 @@
1027
1017
  - func: new_full(Tensor self, int[] size, Scalar fill_value, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
1028
1018
  variants: method
1029
1019
 
1020
+ - func: new_zeros(Tensor self, int[] size, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
1021
+ variants: method
1022
+
1030
1023
  # other overrides are to provide a more helpful error message that dtype is required
1031
1024
  - func: _empty_affine_quantized(int[] size, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None, float scale=1, int zero_point=0, MemoryFormat? memory_format=contiguous_format) -> Tensor
1032
1025
  dispatch:
@@ -1041,8 +1034,7 @@
1041
1034
  CPU: empty_per_channel_affine_quantized_other_backends_stub
1042
1035
  QuantizedCPU: empty_per_channel_affine_quantized_cpu
1043
1036
 
1044
- - func: resize_(Tensor(a!) self, int[] size) -> Tensor(a!)
1045
- use_c10_dispatcher: unboxed_only
1037
+ - func: resize_(Tensor(a!) self, int[] size, *, MemoryFormat? memory_format=None) -> Tensor(a!)
1046
1038
  supports_named_tensor: True
1047
1039
  variants: method
1048
1040
  device_guard: False
@@ -1054,12 +1046,11 @@
1054
1046
  - func: empty.out(int[] size, *, MemoryFormat? memory_format=None, Tensor(a!) out) -> Tensor(a!)
1055
1047
  device_guard: False
1056
1048
 
1057
- - func: empty_like(Tensor self) -> Tensor
1058
- use_c10_dispatcher: full
1049
+ - func: empty_like(Tensor self, *, MemoryFormat? memory_format=None) -> Tensor
1059
1050
  device_guard: False
1060
1051
  supports_named_tensor: True
1061
1052
 
1062
- - func: empty_like.dtype(Tensor self, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False, MemoryFormat? memory_format=contiguous_format) -> Tensor
1053
+ - func: empty_like.dtype(Tensor self, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False, MemoryFormat? memory_format=None) -> Tensor
1063
1054
  device_guard: False
1064
1055
  supports_named_tensor: True
1065
1056
 
@@ -1074,7 +1065,6 @@
1074
1065
  variants: function, method
1075
1066
 
1076
1067
  - func: erf_(Tensor(a!) self) -> Tensor(a!)
1077
- use_c10_dispatcher: unboxed_only
1078
1068
  supports_named_tensor: True
1079
1069
  variants: function, method
1080
1070
  dispatch:
@@ -1093,7 +1083,6 @@
1093
1083
  variants: function, method
1094
1084
 
1095
1085
  - func: erfc_(Tensor(a!) self) -> Tensor(a!)
1096
- use_c10_dispatcher: unboxed_only
1097
1086
  supports_named_tensor: True
1098
1087
  variants: function, method
1099
1088
  dispatch:
@@ -1112,7 +1101,6 @@
1112
1101
  variants: function, method
1113
1102
 
1114
1103
  - func: exp_(Tensor(a!) self) -> Tensor(a!)
1115
- use_c10_dispatcher: unboxed_only
1116
1104
  supports_named_tensor: True
1117
1105
  variants: function, method
1118
1106
  dispatch:
@@ -1131,7 +1119,6 @@
1131
1119
  variants: function, method
1132
1120
 
1133
1121
  - func: expm1_(Tensor(a!) self) -> Tensor(a!)
1134
- use_c10_dispatcher: unboxed_only
1135
1122
  supports_named_tensor: True
1136
1123
  variants: function, method
1137
1124
 
@@ -1142,7 +1129,6 @@
1142
1129
  CUDA: expm1_out
1143
1130
 
1144
1131
  - func: expand(Tensor(a) self, int[] size, *, bool implicit=False) -> Tensor(a)
1145
- use_c10_dispatcher: unboxed_only
1146
1132
  variants: method # This is method-only to match the previous tensor API. In the future we could make this a function too.
1147
1133
  device_guard: False
1148
1134
  supports_named_tensor: True
@@ -1179,17 +1165,15 @@
1179
1165
  variants: function, method
1180
1166
  supports_named_tensor: True
1181
1167
 
1182
- - func: flatten.DimnameList(Tensor self, DimnameList dims, Dimname out_dim) -> Tensor
1168
+ - func: flatten.DimnameList(Tensor self, Dimname[] dims, Dimname out_dim) -> Tensor
1183
1169
  variants: function, method
1184
1170
  supports_named_tensor: True
1185
1171
 
1186
1172
  - func: fill_.Scalar(Tensor(a!) self, Scalar value) -> Tensor(a!)
1187
- use_c10_dispatcher: unboxed_only
1188
1173
  supports_named_tensor: True
1189
1174
  variants: function, method
1190
1175
 
1191
1176
  - func: fill_.Tensor(Tensor(a!) self, Tensor value) -> Tensor(a!)
1192
- use_c10_dispatcher: unboxed_only
1193
1177
  supports_named_tensor: True
1194
1178
  variants: function, method
1195
1179
 
@@ -1199,7 +1183,6 @@
1199
1183
  variants: function, method
1200
1184
 
1201
1185
  - func: floor_(Tensor(a!) self) -> Tensor(a!)
1202
- use_c10_dispatcher: unboxed_only
1203
1186
  supports_named_tensor: True
1204
1187
  variants: function, method
1205
1188
 
@@ -1215,18 +1198,11 @@
1215
1198
  variants: function, method
1216
1199
 
1217
1200
  - func: frac_(Tensor(a!) self) -> Tensor(a!)
1218
- use_c10_dispatcher: unboxed_only
1219
1201
  supports_named_tensor: True
1220
1202
  variants: function, method
1221
- dispatch:
1222
- CPU: _frac__cpu
1223
- CUDA: _frac__cuda
1224
1203
 
1225
1204
  - func: frac.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
1226
1205
  supports_named_tensor: True
1227
- dispatch:
1228
- CPU: _frac_out_cpu
1229
- CUDA: _frac_out_cuda
1230
1206
 
1231
1207
  - func: full.names(int[] size, Scalar fill_value, *, Dimname[]? names, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
1232
1208
  device_guard: False
@@ -1235,10 +1211,11 @@
1235
1211
 
1236
1212
  - func: full.out(int[] size, Scalar fill_value, *, Tensor(a!) out) -> Tensor(a!)
1237
1213
 
1238
- - func: full_like(Tensor self, Scalar fill_value) -> Tensor
1239
- use_c10_dispatcher: full
1214
+ - func: full_like(Tensor self, Scalar fill_value, *, MemoryFormat? memory_format=None) -> Tensor
1215
+ supports_named_tensor: True
1240
1216
 
1241
- - func: full_like.dtype(Tensor self, Scalar fill_value, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False) -> Tensor
1217
+ - func: full_like.dtype(Tensor self, Scalar fill_value, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False, MemoryFormat? memory_format=None) -> Tensor
1218
+ supports_named_tensor: True
1242
1219
 
1243
1220
  - func: from_file(str filename, bool? shared=None, int? size=0, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
1244
1221
  dispatch:
@@ -1265,7 +1242,6 @@
1265
1242
  CUDA: grid_sampler_2d_cuda
1266
1243
 
1267
1244
  - func: grid_sampler_2d_backward(Tensor grad_output, Tensor input, Tensor grid, int interpolation_mode, int padding_mode, bool align_corners) -> (Tensor, Tensor)
1268
- use_c10_dispatcher: unboxed_only
1269
1245
  dispatch:
1270
1246
  CPU: grid_sampler_2d_backward_cpu
1271
1247
  CUDA: grid_sampler_2d_backward_cuda
@@ -1277,7 +1253,6 @@
1277
1253
  CUDA: grid_sampler_3d_cuda
1278
1254
 
1279
1255
  - func: grid_sampler_3d_backward(Tensor grad_output, Tensor input, Tensor grid, int interpolation_mode, int padding_mode, bool align_corners) -> (Tensor, Tensor)
1280
- use_c10_dispatcher: unboxed_only
1281
1256
  dispatch:
1282
1257
  CPU: grid_sampler_3d_backward_cpu
1283
1258
  CUDA: grid_sampler_3d_backward_cuda
@@ -1326,11 +1301,9 @@
1326
1301
  variants: function, method
1327
1302
 
1328
1303
  - func: irfft(Tensor self, int signal_ndim, bool normalized=False, bool onesided=True, int[] signal_sizes=[]) -> Tensor
1329
- use_c10_dispatcher: unboxed_only
1330
1304
  variants: function, method
1331
1305
 
1332
1306
  - func: _fft_with_size(Tensor self, int signal_ndim, bool complex_input, bool complex_output, bool inverse, int[] checked_signal_sizes, bool normalized, bool onesided, int[] output_sizes) -> Tensor
1333
- use_c10_dispatcher: unboxed_only
1334
1307
  variants: function
1335
1308
  dispatch:
1336
1309
  CPU: _fft_mkl
@@ -1342,16 +1315,17 @@
1342
1315
  - func: _cufft_get_plan_cache_max_size(int device_index) -> int
1343
1316
  use_c10_dispatcher: full
1344
1317
 
1345
- - func: _cufft_set_plan_cache_max_size(int device_index, int max_size) -> void
1318
+ - func: _cufft_set_plan_cache_max_size(int device_index, int max_size) -> ()
1319
+ use_c10_dispatcher: unboxed_only
1346
1320
 
1347
- - func: _cufft_clear_plan_cache(int device_index) -> void
1321
+ - func: _cufft_clear_plan_cache(int device_index) -> ()
1322
+ use_c10_dispatcher: unboxed_only
1348
1323
 
1349
1324
  - func: index.Tensor(Tensor self, Tensor?[] indices) -> Tensor
1350
1325
  variants: function, method
1351
1326
  # NB: This function is special-cased in tools/autograd/gen_variable_type.py
1352
1327
 
1353
1328
  - func: index_copy_(Tensor(a!) self, int dim, Tensor index, Tensor source) -> Tensor(a!)
1354
- use_c10_dispatcher: unboxed_only
1355
1329
  variants: method
1356
1330
 
1357
1331
  - func: index_copy(Tensor self, int dim, Tensor index, Tensor source) -> Tensor
@@ -1444,7 +1418,6 @@
1444
1418
  CUDA: kl_div_backward_cuda
1445
1419
 
1446
1420
  - func: kthvalue(Tensor self, int k, int dim=-1, bool keepdim=False) -> (Tensor values, Tensor indices)
1447
- use_c10_dispatcher: unboxed_only
1448
1421
  supports_named_tensor: True
1449
1422
  variants: function, method
1450
1423
 
@@ -1466,14 +1439,12 @@
1466
1439
  - func: native_layer_norm(Tensor input, Tensor? weight, Tensor? bias, int M, int N, float eps) -> (Tensor, Tensor, Tensor)
1467
1440
  dispatch:
1468
1441
  CPU: layer_norm_cpu
1442
+ CUDA: layer_norm_cuda
1469
1443
 
1470
1444
  - func: native_layer_norm_backward(Tensor grad_out, Tensor input, Tensor mean, Tensor rstd, Tensor? weight, int M, int N, bool[3] output_mask) -> (Tensor, Tensor, Tensor)
1471
1445
  dispatch:
1472
1446
  CPU: layer_norm_backward_cpu
1473
-
1474
- - func: native_layer_norm_double_backward(Tensor? ggI, Tensor? ggW, Tensor? ggb, Tensor gO, Tensor input, Tensor mean, Tensor rstd, Tensor? weight, int M, int N, bool[3] output_mask) -> (Tensor, Tensor, Tensor)
1475
- dispatch:
1476
- CPU: layer_norm_double_backward_cpu
1447
+ CUDA: layer_norm_backward_cuda
1477
1448
 
1478
1449
  - func: linear(Tensor input, Tensor weight, Tensor? bias=None) -> Tensor
1479
1450
  python_module: nn
@@ -1484,19 +1455,16 @@
1484
1455
  MkldnnCPU: mkldnn_linear
1485
1456
 
1486
1457
  - func: fbgemm_linear_int8_weight_fp32_activation(Tensor input, Tensor weight, Tensor packed, Tensor col_offsets, Scalar weight_scale, Scalar weight_zero_point, Tensor bias) -> Tensor
1487
- use_c10_dispatcher: unboxed_only
1488
1458
 
1489
1459
  - func: fbgemm_linear_int8_weight(Tensor input, Tensor weight, Tensor packed, Tensor col_offsets, Scalar weight_scale, Scalar weight_zero_point, Tensor bias) -> Tensor
1490
1460
  use_c10_dispatcher: full
1491
1461
 
1492
1462
  - func: fbgemm_linear_quantize_weight(Tensor input) -> (Tensor, Tensor, float, int)
1493
- use_c10_dispatcher: unboxed_only
1494
1463
 
1495
1464
  - func: fbgemm_pack_gemm_matrix_fp16(Tensor input) -> Tensor
1496
1465
  use_c10_dispatcher: full
1497
1466
 
1498
1467
  - func: fbgemm_linear_fp16_weight_fp32_activation(Tensor input, Tensor packed_weight, Tensor bias) -> Tensor
1499
- use_c10_dispatcher: unboxed_only
1500
1468
 
1501
1469
  - func: fbgemm_linear_fp16_weight(Tensor input, Tensor packed_weight, Tensor bias) -> Tensor
1502
1470
  use_c10_dispatcher: full
@@ -1520,7 +1488,6 @@
1520
1488
  variants: function, method
1521
1489
 
1522
1490
  - func: log_(Tensor(a!) self) -> Tensor(a!)
1523
- use_c10_dispatcher: unboxed_only
1524
1491
  supports_named_tensor: True
1525
1492
  variants: function, method
1526
1493
 
@@ -1536,18 +1503,14 @@
1536
1503
  variants: function, method
1537
1504
 
1538
1505
  - func: log10_(Tensor(a!) self) -> Tensor(a!)
1539
- use_c10_dispatcher: unboxed_only
1540
1506
  supports_named_tensor: True
1541
1507
  variants: function, method
1542
- dispatch:
1543
- CPU: _log10__cpu
1544
- CUDA: _log10__cuda
1545
1508
 
1546
1509
  - func: log10.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
1547
1510
  supports_named_tensor: True
1548
1511
  dispatch:
1549
- CPU: _log10_out_cpu
1550
- CUDA: _log10_out_cuda
1512
+ CPU: log10_out
1513
+ CUDA: log10_out
1551
1514
 
1552
1515
  - func: log1p(Tensor self) -> Tensor
1553
1516
  use_c10_dispatcher: full
@@ -1555,20 +1518,19 @@
1555
1518
  variants: function, method
1556
1519
 
1557
1520
  - func: log1p_(Tensor(a!) self) -> Tensor(a!)
1558
- use_c10_dispatcher: unboxed_only
1559
1521
  supports_named_tensor: True
1560
1522
  variants: function, method
1561
1523
  dispatch:
1562
- CPU: _log1p__cpu
1563
- CUDA: _log1p__cuda
1524
+ CPU: log1p_
1525
+ CUDA: log1p_
1564
1526
  SparseCPU: log1p_sparse_
1565
1527
  SparseCUDA: log1p_sparse_
1566
1528
 
1567
1529
  - func: log1p.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
1568
1530
  supports_named_tensor: True
1569
1531
  dispatch:
1570
- CPU: _log1p_out_cpu
1571
- CUDA: _log1p_out_cuda
1532
+ CPU: log1p_out
1533
+ CUDA: log1p_out
1572
1534
  SparseCPU: log1p_out_sparse
1573
1535
  SparseCUDA: log1p_out_sparse
1574
1536
 
@@ -1578,18 +1540,14 @@
1578
1540
  variants: function, method
1579
1541
 
1580
1542
  - func: log2_(Tensor(a!) self) -> Tensor(a!)
1581
- use_c10_dispatcher: unboxed_only
1582
1543
  supports_named_tensor: True
1583
1544
  variants: function, method
1584
- dispatch:
1585
- CPU: _log2__cpu
1586
- CUDA: _log2__cuda
1587
1545
 
1588
1546
  - func: log2.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
1589
1547
  supports_named_tensor: True
1590
1548
  dispatch:
1591
- CPU: _log2_out_cpu
1592
- CUDA: _log2_out_cuda
1549
+ CPU: log2_out
1550
+ CUDA: log2_out
1593
1551
 
1594
1552
  - func: logdet(Tensor self) -> Tensor
1595
1553
  use_c10_dispatcher: full
@@ -1603,11 +1561,11 @@
1603
1561
  CUDA: logspace_cuda_out
1604
1562
 
1605
1563
  # log_softmax allows positional dtype, unlike most operators, because kwonly is BC-breaking when loading jit models.
1606
- - func: log_softmax(Tensor self, int dim, ScalarType? dtype=None) -> Tensor
1564
+ - func: log_softmax.int(Tensor self, int dim, ScalarType? dtype=None) -> Tensor
1607
1565
  variants: function, method
1608
1566
  supports_named_tensor: True
1609
1567
 
1610
- - func: log_softmax(Tensor self, Dimname dim, *, ScalarType? dtype=None) -> Tensor
1568
+ - func: log_softmax.Dimname(Tensor self, Dimname dim, *, ScalarType? dtype=None) -> Tensor
1611
1569
  variants: function, method
1612
1570
  supports_named_tensor: True
1613
1571
 
@@ -1624,7 +1582,6 @@
1624
1582
  CUDA: log_softmax_backward_cuda
1625
1583
 
1626
1584
  - func: logsumexp(Tensor self, int[1] dim, bool keepdim=False) -> Tensor
1627
- use_c10_dispatcher: unboxed_only
1628
1585
  supports_named_tensor: True
1629
1586
  variants: function, method
1630
1587
 
@@ -1660,7 +1617,6 @@
1660
1617
  variants: function, method
1661
1618
 
1662
1619
  - func: max.dim(Tensor self, int dim, bool keepdim=False) -> (Tensor values, Tensor indices)
1663
- use_c10_dispatcher: unboxed_only
1664
1620
  variants: function, method
1665
1621
  supports_named_tensor: True
1666
1622
 
@@ -1668,7 +1624,6 @@
1668
1624
  supports_named_tensor: True
1669
1625
 
1670
1626
  - func: max_values(Tensor self, int[1] dim, bool keepdim=False) -> Tensor
1671
- use_c10_dispatcher: unboxed_only
1672
1627
  variants: function, method
1673
1628
 
1674
1629
  - func: max.names_dim(Tensor self, Dimname dim, bool keepdim=False) -> (Tensor values, Tensor indices)
@@ -1683,28 +1638,22 @@
1683
1638
 
1684
1639
  # Return: (Tensor output, Tensor indices)
1685
1640
  - func: max_pool1d_with_indices(Tensor self, int[1] kernel_size, int[1] stride=[], int[1] padding=0, int[1] dilation=1, bool ceil_mode=False) -> (Tensor, Tensor)
1686
- use_c10_dispatcher: unboxed_only
1687
1641
 
1688
1642
  - func: max_pool1d(Tensor self, int[1] kernel_size, int[1] stride=[], int[1] padding=0, int[1] dilation=1, bool ceil_mode=False) -> Tensor
1689
- use_c10_dispatcher: unboxed_only
1690
1643
 
1691
1644
  - func: max_pool2d(Tensor self, int[2] kernel_size, int[2] stride=[], int[2] padding=0, int[2] dilation=1, bool ceil_mode=False) -> Tensor
1692
- use_c10_dispatcher: unboxed_only
1693
1645
 
1694
1646
  - func: mkldnn_max_pool2d(Tensor self, int[2] kernel_size, int[2] stride=[], int[2] padding=0, int[2] dilation=1, bool ceil_mode=False) -> Tensor
1695
- use_c10_dispatcher: unboxed_only
1696
1647
  requires_tensor: True
1697
1648
  dispatch:
1698
1649
  MkldnnCPU: mkldnn_max_pool2d
1699
1650
 
1700
1651
  - func: quantized_max_pool2d(Tensor self, int[2] kernel_size, int[2] stride=[], int[2] padding=0, int[2] dilation=1, bool ceil_mode=False) -> Tensor
1701
- use_c10_dispatcher: unboxed_only
1702
1652
  requires_tensor: True
1703
1653
  dispatch:
1704
1654
  QuantizedCPU: quantized_max_pool2d
1705
1655
 
1706
1656
  - func: max_pool3d(Tensor self, int[3] kernel_size, int[3] stride=[], int[3] padding=0, int[3] dilation=1, bool ceil_mode=False) -> Tensor
1707
- use_c10_dispatcher: unboxed_only
1708
1657
 
1709
1658
  # The CPU and GPU dispatch variants are named weirdly here because otherwise there
1710
1659
  # are namespacing issues in C++
@@ -1734,18 +1683,11 @@
1734
1683
  - func: mean.names_dim(Tensor self, Dimname[1] dim, bool keepdim=False, *, ScalarType? dtype=None) -> Tensor
1735
1684
  variants: function, method
1736
1685
  supports_named_tensor: True
1737
- dispatch:
1738
- CPU: mean_cpu_gpu
1739
- CUDA: mean_cpu_gpu
1740
1686
 
1741
1687
  - func: mean.names_out(Tensor self, Dimname[1] dim, bool keepdim=False, *, ScalarType? dtype=None, Tensor(a!) out) -> Tensor(a!)
1742
1688
  supports_named_tensor: True
1743
- dispatch:
1744
- CPU: mean_out_cpu_gpu
1745
- CUDA: mean_out_cpu_gpu
1746
1689
 
1747
1690
  - func: median.dim(Tensor self, int dim, bool keepdim=False) -> (Tensor values, Tensor indices)
1748
- use_c10_dispatcher: unboxed_only
1749
1691
  supports_named_tensor: True
1750
1692
  variants: function, method
1751
1693
 
@@ -1760,7 +1702,6 @@
1760
1702
  supports_named_tensor: True
1761
1703
 
1762
1704
  - func: min.dim(Tensor self, int dim, bool keepdim=False) -> (Tensor values, Tensor indices)
1763
- use_c10_dispatcher: unboxed_only
1764
1705
  variants: function, method
1765
1706
  supports_named_tensor: True
1766
1707
 
@@ -1768,7 +1709,6 @@
1768
1709
  supports_named_tensor: True
1769
1710
 
1770
1711
  - func: min_values(Tensor self, int[1] dim, bool keepdim=False) -> Tensor
1771
- use_c10_dispatcher: unboxed_only
1772
1712
  variants: function, method
1773
1713
 
1774
1714
  - func: min.names_dim(Tensor self, Dimname dim, bool keepdim=False) -> (Tensor values, Tensor indices)
@@ -1784,13 +1724,10 @@
1784
1724
  - func: mkldnn_convolution(Tensor self, Tensor weight, Tensor? bias, int[] padding, int[] stride, int[] dilation, int groups) -> Tensor
1785
1725
 
1786
1726
  - func: mkldnn_convolution_backward_input(int[] self_size, Tensor grad_output, Tensor weight, int[] padding, int[] stride, int[] dilation, int groups, bool bias_defined) -> Tensor
1787
- use_c10_dispatcher: unboxed_only
1788
1727
 
1789
1728
  - func: mkldnn_convolution_backward_weights(int[] weight_size, Tensor grad_output, Tensor self, int[] padding, int[] stride, int[] dilation, int groups, bool bias_defined) -> (Tensor, Tensor)
1790
- use_c10_dispatcher: unboxed_only
1791
1729
 
1792
1730
  - func: mkldnn_convolution_backward(Tensor self, Tensor grad_output, Tensor weight, int[] padding, int[] stride, int[] dilation, int groups, bool[3] output_mask) -> (Tensor, Tensor, Tensor)
1793
- use_c10_dispatcher: unboxed_only
1794
1731
 
1795
1732
  - func: miopen_batch_norm(Tensor input, Tensor weight, Tensor? bias, Tensor? running_mean, Tensor? running_var, bool training, float exponential_average_factor, float epsilon) -> (Tensor, Tensor, Tensor)
1796
1733
  dispatch:
@@ -1805,12 +1742,10 @@
1805
1742
  CUDA: miopen_convolution
1806
1743
 
1807
1744
  - func: miopen_convolution_backward_input(int[] self_size, Tensor grad_output, Tensor weight, int[] padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic) -> Tensor
1808
- use_c10_dispatcher: unboxed_only
1809
1745
  dispatch:
1810
1746
  CUDA: miopen_convolution_backward_input
1811
1747
 
1812
1748
  - func: miopen_convolution_backward(Tensor self, Tensor grad_output, Tensor weight, int[] padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic, bool[3] output_mask) -> (Tensor, Tensor, Tensor)
1813
- use_c10_dispatcher: unboxed_only
1814
1749
  dispatch:
1815
1750
  CUDA: miopen_convolution_backward
1816
1751
 
@@ -1820,7 +1755,6 @@
1820
1755
  CUDA: miopen_convolution_backward_bias
1821
1756
 
1822
1757
  - func: miopen_convolution_backward_weight(int[] weight_size, Tensor grad_output, Tensor self, int[] padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic) -> Tensor
1823
- use_c10_dispatcher: unboxed_only
1824
1758
  dispatch:
1825
1759
  CUDA: miopen_convolution_backward_weight
1826
1760
 
@@ -1831,17 +1765,14 @@
1831
1765
  # NB: output_padding not strictly needed here, but it's helpful for the float
1832
1766
  # backwards
1833
1767
  - func: miopen_convolution_transpose_backward(Tensor self, Tensor grad_output, Tensor weight, int[] padding, int[] output_padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic, bool[3] output_mask) -> (Tensor, Tensor, Tensor)
1834
- use_c10_dispatcher: unboxed_only
1835
1768
  dispatch:
1836
1769
  CUDA: miopen_convolution_transpose_backward
1837
1770
 
1838
1771
  - func: miopen_convolution_transpose_backward_input(Tensor grad_output, Tensor weight, int[] padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic) -> Tensor
1839
- use_c10_dispatcher: unboxed_only
1840
1772
  dispatch:
1841
1773
  CUDA: miopen_convolution_transpose_backward_input
1842
1774
 
1843
1775
  - func: miopen_convolution_transpose_backward_weight(int[] weight_size, Tensor grad_output, Tensor self, int[] padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic) -> Tensor
1844
- use_c10_dispatcher: unboxed_only
1845
1776
  dispatch:
1846
1777
  CUDA: miopen_convolution_transpose_backward_weight
1847
1778
 
@@ -1850,17 +1781,14 @@
1850
1781
  CUDA: miopen_depthwise_convolution
1851
1782
 
1852
1783
  - func: miopen_depthwise_convolution_backward_input(int[] self_size, Tensor grad_output, Tensor weight, int[] padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic) -> Tensor
1853
- use_c10_dispatcher: unboxed_only
1854
1784
  dispatch:
1855
1785
  CUDA: miopen_depthwise_convolution_backward_input
1856
1786
 
1857
1787
  - func: miopen_depthwise_convolution_backward(Tensor self, Tensor grad_output, Tensor weight, int[] padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic, bool[3] output_mask) -> (Tensor, Tensor, Tensor)
1858
- use_c10_dispatcher: unboxed_only
1859
1788
  dispatch:
1860
1789
  CUDA: miopen_depthwise_convolution_backward
1861
1790
 
1862
1791
  - func: miopen_depthwise_convolution_backward_weight(int[] weight_size, Tensor grad_output, Tensor self, int[] padding, int[] stride, int[] dilation, int groups, bool benchmark, bool deterministic) -> Tensor
1863
- use_c10_dispatcher: unboxed_only
1864
1792
  dispatch:
1865
1793
  CUDA: miopen_depthwise_convolution_backward_weight
1866
1794
 
@@ -1894,7 +1822,6 @@
1894
1822
  use_c10_dispatcher: full
1895
1823
 
1896
1824
  - func: mode(Tensor self, int dim=-1, bool keepdim=False) -> (Tensor values, Tensor indices)
1897
- use_c10_dispatcher: unboxed_only
1898
1825
  supports_named_tensor: True
1899
1826
  variants: function, method
1900
1827
 
@@ -1920,7 +1847,6 @@
1920
1847
  supports_named_tensor: True
1921
1848
 
1922
1849
  - func: mul_.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
1923
- use_c10_dispatcher: unboxed_only
1924
1850
  variants: method
1925
1851
  dispatch:
1926
1852
  CPU: mul_
@@ -1945,7 +1871,6 @@
1945
1871
  variants: function, method
1946
1872
 
1947
1873
  - func: mul_.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
1948
- use_c10_dispatcher: unboxed_only
1949
1874
  variants: method
1950
1875
 
1951
1876
  - func: mv(Tensor self, Tensor vec) -> Tensor
@@ -1967,7 +1892,6 @@
1967
1892
  variants: function, method
1968
1893
 
1969
1894
  - func: mvlgamma_(Tensor(a!) self, int p) -> Tensor(a!)
1970
- use_c10_dispatcher: unboxed_only
1971
1895
  variants: method
1972
1896
 
1973
1897
  - func: narrow_copy(Tensor self, int dim, int start, int length) -> Tensor
@@ -1980,7 +1904,6 @@
1980
1904
  SparseCUDA: narrow_copy_sparse
1981
1905
 
1982
1906
  - func: narrow(Tensor(a) self, int dim, int start, int length) -> Tensor(a)
1983
- use_c10_dispatcher: unboxed_only
1984
1907
  variants: function, method
1985
1908
  device_guard: False
1986
1909
  supports_named_tensor: True
@@ -1992,7 +1915,6 @@
1992
1915
  MkldnnCPU: mkldnn_batch_norm
1993
1916
 
1994
1917
  - func: batch_norm_stats(Tensor input, float eps) -> (Tensor, Tensor)
1995
- use_c10_dispatcher: unboxed_only
1996
1918
  dispatch:
1997
1919
  CUDA: batch_norm_stats_cuda
1998
1920
 
@@ -2000,6 +1922,10 @@
2000
1922
  dispatch:
2001
1923
  CUDA: batch_norm_elemt_cuda
2002
1924
 
1925
+ - func: batch_norm_elemt.out(Tensor input, Tensor? weight, Tensor? bias, Tensor mean, Tensor invstd, float eps, *, Tensor(a!) out) -> Tensor(a!)
1926
+ dispatch:
1927
+ CUDA: batch_norm_elemt_cuda_out
1928
+
2003
1929
  # for backward compatibility
2004
1930
  - func: batch_norm_gather_stats(Tensor input, Tensor mean, Tensor invstd, Tensor? running_mean, Tensor? running_var, float momentum, float eps, int count) -> (Tensor, Tensor)
2005
1931
  dispatch:
@@ -2030,19 +1956,16 @@
2030
1956
  - func: _nnpack_available() -> bool
2031
1957
  use_c10_dispatcher: full
2032
1958
 
2033
- - func: _nnpack_spatial_convolution(Tensor input, Tensor weight, Tensor? bias, int[2] padding) -> Tensor
1959
+ - func: _nnpack_spatial_convolution(Tensor input, Tensor weight, Tensor? bias, int[2] padding, int[2] stride=1) -> Tensor
2034
1960
  variants: function
2035
1961
 
2036
1962
  - func: _nnpack_spatial_convolution_backward(Tensor input, Tensor grad_output, Tensor weight, int[2] padding, bool[3] output_mask) -> (Tensor, Tensor, Tensor)
2037
- use_c10_dispatcher: unboxed_only
2038
1963
  variants: function
2039
1964
 
2040
1965
  - func: _nnpack_spatial_convolution_backward_input(Tensor input, Tensor grad_output, Tensor weight, int[2] padding) -> Tensor
2041
- use_c10_dispatcher: unboxed_only
2042
1966
  variants: function
2043
1967
 
2044
1968
  - func: _nnpack_spatial_convolution_backward_weight(Tensor input, int[] weightsize, Tensor grad_output, int[2] padding) -> Tensor
2045
- use_c10_dispatcher: unboxed_only
2046
1969
  variants: function
2047
1970
 
2048
1971
  - func: ones.names(int[] size, *, Dimname[]? names, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
@@ -2052,16 +1975,18 @@
2052
1975
 
2053
1976
  - func: ones.out(int[] size, *, Tensor(a!) out) -> Tensor(a!)
2054
1977
 
2055
- - func: ones_like(Tensor self) -> Tensor
2056
- use_c10_dispatcher: full
1978
+ - func: ones_like(Tensor self, *, MemoryFormat? memory_format=None) -> Tensor
1979
+ supports_named_tensor: True
2057
1980
 
2058
- - func: ones_like.dtype(Tensor self, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False) -> Tensor
1981
+ - func: ones_like.dtype(Tensor self, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False, MemoryFormat? memory_format=None) -> Tensor
1982
+ supports_named_tensor: True
2059
1983
 
2060
1984
  - func: pairwise_distance(Tensor x1, Tensor x2, float p=2, float eps=1e-06, bool keepdim=False) -> Tensor
2061
1985
  use_c10_dispatcher: full
2062
1986
 
2063
- - func: cdist(Tensor x1, Tensor x2, float p=2) -> Tensor
1987
+ - func: cdist(Tensor x1, Tensor x2, float p=2, int? compute_mode=None) -> Tensor
2064
1988
  use_c10_dispatcher: full
1989
+ supports_named_tensor: True
2065
1990
 
2066
1991
  - func: _cdist_backward(Tensor grad, Tensor x1, Tensor x2, float p, Tensor cdist) -> Tensor
2067
1992
  use_c10_dispatcher: full
@@ -2080,7 +2005,6 @@
2080
2005
  variants: function
2081
2006
 
2082
2007
  - func: permute(Tensor(a) self, int[] dims) -> Tensor(a)
2083
- use_c10_dispatcher: unboxed_only
2084
2008
  variants: method # This is method-only to match the previous tensor API. In the future we could make this a function too.
2085
2009
 
2086
2010
  # Only exposed from C++ -- in Python,
@@ -2091,7 +2015,6 @@
2091
2015
  # behavior on Windows, for reasons I don't understand
2092
2016
  # (maybe related to capital letter collation somehow...)
2093
2017
  - func: numpy_T(Tensor(a) self) -> Tensor(a)
2094
- use_c10_dispatcher: unboxed_only
2095
2018
  variants: method
2096
2019
 
2097
2020
  - func: pixel_shuffle(Tensor self, int upscale_factor) -> Tensor
@@ -2130,10 +2053,11 @@
2130
2053
 
2131
2054
  - func: rand.generator_out(int[] size, *, Generator? generator, Tensor(a!) out) -> Tensor(a!)
2132
2055
 
2133
- - func: rand_like(Tensor self) -> Tensor
2134
- use_c10_dispatcher: full
2056
+ - func: rand_like(Tensor self, *, MemoryFormat? memory_format=None) -> Tensor
2057
+ supports_named_tensor: True
2135
2058
 
2136
- - func: rand_like.dtype(Tensor self, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False) -> Tensor
2059
+ - func: rand_like.dtype(Tensor self, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False, MemoryFormat? memory_format=None) -> Tensor
2060
+ supports_named_tensor: True
2137
2061
 
2138
2062
  - func: randint(int high, int[] size, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
2139
2063
 
@@ -2151,15 +2075,13 @@
2151
2075
 
2152
2076
  - func: randint.low_generator_out(int low, int high, int[] size, *, Generator? generator, Tensor(a!) out) -> Tensor(a!)
2153
2077
 
2154
- - func: randint_like(Tensor self, int high) -> Tensor
2155
- use_c10_dispatcher: full
2078
+ - func: randint_like(Tensor self, int high, *, MemoryFormat? memory_format=None) -> Tensor
2156
2079
 
2157
- - func: randint_like.low(Tensor self, int low, int high) -> Tensor
2158
- use_c10_dispatcher: full
2080
+ - func: randint_like.low(Tensor self, int low, int high, *, MemoryFormat? memory_format=None) -> Tensor
2159
2081
 
2160
- - func: randint_like.dtype(Tensor self, int high, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False) -> Tensor
2082
+ - func: randint_like.dtype(Tensor self, int high, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False, MemoryFormat? memory_format=None) -> Tensor
2161
2083
 
2162
- - func: randint_like.low_dtype(Tensor self, int low, int high, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False) -> Tensor
2084
+ - func: randint_like.low_dtype(Tensor self, int low, int high, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False, MemoryFormat? memory_format=None) -> Tensor
2163
2085
 
2164
2086
  - func: randn(int[] size, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
2165
2087
 
@@ -2175,10 +2097,11 @@
2175
2097
 
2176
2098
  - func: randn.generator_out(int[] size, *, Generator? generator, Tensor(a!) out) -> Tensor(a!)
2177
2099
 
2178
- - func: randn_like(Tensor self) -> Tensor
2179
- use_c10_dispatcher: full
2100
+ - func: randn_like(Tensor self, *, MemoryFormat? memory_format=None) -> Tensor
2101
+ supports_named_tensor: True
2180
2102
 
2181
- - func: randn_like.dtype(Tensor self, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False) -> Tensor
2103
+ - func: randn_like.dtype(Tensor self, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False, MemoryFormat? memory_format=None) -> Tensor
2104
+ supports_named_tensor: True
2182
2105
 
2183
2106
  - func: randperm(int n, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
2184
2107
 
@@ -2206,7 +2129,6 @@
2206
2129
  variants: function, method
2207
2130
 
2208
2131
  - func: reciprocal_(Tensor(a!) self) -> Tensor(a!)
2209
- use_c10_dispatcher: unboxed_only
2210
2132
  supports_named_tensor: True
2211
2133
  variants: function, method
2212
2134
  dispatch:
@@ -2225,7 +2147,6 @@
2225
2147
  variants: function, method
2226
2148
 
2227
2149
  - func: neg_(Tensor(a!) self) -> Tensor(a!)
2228
- use_c10_dispatcher: unboxed_only
2229
2150
  supports_named_tensor: True
2230
2151
  variants: function, method
2231
2152
 
@@ -2236,7 +2157,6 @@
2236
2157
  CUDA: neg_out
2237
2158
 
2238
2159
  - func: repeat(Tensor self, int[] repeats) -> Tensor
2239
- use_c10_dispatcher: unboxed_only
2240
2160
  variants: method # This is method-only to match the previous tensor API. In the future we could make this a function too.
2241
2161
 
2242
2162
  - func: repeat_interleave.Tensor(Tensor repeats) -> Tensor
@@ -2255,13 +2175,11 @@
2255
2175
  variants: function, method
2256
2176
 
2257
2177
  - func: reshape(Tensor self, int[] shape) -> Tensor
2258
- use_c10_dispatcher: unboxed_only
2259
2178
  variants: function, method
2260
2179
  device_guard: False
2261
2180
  supports_named_tensor: True
2262
2181
 
2263
2182
  - func: _mkldnn_reshape(Tensor self, int[] shape) -> Tensor
2264
- use_c10_dispatcher: unboxed_only
2265
2183
  device_guard: False
2266
2184
  requires_tensor: True
2267
2185
  dispatch:
@@ -2278,7 +2196,6 @@
2278
2196
  variants: function, method
2279
2197
 
2280
2198
  - func: round_(Tensor(a!) self) -> Tensor(a!)
2281
- use_c10_dispatcher: unboxed_only
2282
2199
  supports_named_tensor: True
2283
2200
  variants: function, method
2284
2201
 
@@ -2289,10 +2206,8 @@
2289
2206
  CUDA: round_out
2290
2207
 
2291
2208
  - func: rrelu(Tensor self, Scalar lower=0.125, Scalar upper=0.3333333333333333, bool training=False, Generator? generator=None) -> Tensor
2292
- use_c10_dispatcher: 'unboxed_only'
2293
2209
 
2294
2210
  - func: rrelu_(Tensor(a!) self, Scalar lower=0.125, Scalar upper=0.3333333333333333, bool training=False, Generator? generator=None) -> Tensor(a!)
2295
- use_c10_dispatcher: 'unboxed_only'
2296
2211
 
2297
2212
  - func: relu(Tensor self) -> Tensor
2298
2213
  use_c10_dispatcher: full
@@ -2305,7 +2220,6 @@
2305
2220
  supports_named_tensor: True
2306
2221
 
2307
2222
  - func: relu_(Tensor(a!) self) -> Tensor(a!)
2308
- use_c10_dispatcher: unboxed_only
2309
2223
  supports_named_tensor: True
2310
2224
  variants: function, method
2311
2225
  dispatch:
@@ -2322,7 +2236,6 @@
2322
2236
  CUDA: prelu_cuda
2323
2237
 
2324
2238
  - func: prelu_backward(Tensor grad_output, Tensor self, Tensor weight) -> (Tensor, Tensor)
2325
- use_c10_dispatcher: unboxed_only
2326
2239
  variants: function, method
2327
2240
  dispatch:
2328
2241
  CPU: prelu_backward_cpu
@@ -2362,7 +2275,6 @@
2362
2275
  variants: function, method
2363
2276
 
2364
2277
  - func: rsqrt_(Tensor(a!) self) -> Tensor(a!)
2365
- use_c10_dispatcher: unboxed_only
2366
2278
  supports_named_tensor: True
2367
2279
  variants: function, method
2368
2280
 
@@ -2378,7 +2290,6 @@
2378
2290
  supports_named_tensor: True
2379
2291
 
2380
2292
  - func: select.int(Tensor(a) self, int dim, int index) -> Tensor(a)
2381
- use_c10_dispatcher: unboxed_only
2382
2293
  variants: function, method
2383
2294
  device_guard: False
2384
2295
  supports_named_tensor: True
@@ -2387,13 +2298,11 @@
2387
2298
  use_c10_dispatcher: full
2388
2299
 
2389
2300
  - func: selu_(Tensor(a!) self) -> Tensor(a!)
2390
- use_c10_dispatcher: unboxed_only
2391
2301
 
2392
2302
  - func: celu(Tensor self, Scalar alpha=1.0) -> Tensor
2393
2303
  use_c10_dispatcher: full
2394
2304
 
2395
2305
  - func: celu_(Tensor(a!) self, Scalar alpha=1.0) -> Tensor(a!)
2396
- use_c10_dispatcher: unboxed_only
2397
2306
 
2398
2307
 
2399
2308
  - func: sigmoid(Tensor self) -> Tensor
@@ -2406,19 +2315,15 @@
2406
2315
  MkldnnCPU: mkldnn_sigmoid
2407
2316
 
2408
2317
  - func: sigmoid_(Tensor(a!) self) -> Tensor(a!)
2409
- use_c10_dispatcher: unboxed_only
2410
2318
  supports_named_tensor: True
2411
2319
  variants: function, method
2412
2320
  dispatch:
2413
- CPU: _sigmoid__cpu
2414
- CUDA: _sigmoid__cuda
2321
+ CPU: sigmoid_
2322
+ CUDA: sigmoid_
2415
2323
  MkldnnCPU: mkldnn_sigmoid_
2416
2324
 
2417
2325
  - func: sigmoid.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
2418
2326
  supports_named_tensor: True
2419
- dispatch:
2420
- CPU: _sigmoid_out_cpu
2421
- CUDA: _sigmoid_out_cuda
2422
2327
 
2423
2328
  - func: sin(Tensor self) -> Tensor
2424
2329
  use_c10_dispatcher: full
@@ -2426,18 +2331,14 @@
2426
2331
  variants: function, method
2427
2332
 
2428
2333
  - func: sin_(Tensor(a!) self) -> Tensor(a!)
2429
- use_c10_dispatcher: unboxed_only
2430
2334
  supports_named_tensor: True
2431
2335
  variants: function, method
2432
- dispatch:
2433
- CPU: _sin__cpu
2434
- CUDA: _sin__cuda
2435
2336
 
2436
2337
  - func: sin.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
2437
2338
  supports_named_tensor: True
2438
2339
  dispatch:
2439
- CPU: _sin_out_cpu
2440
- CUDA: _sin_out_cuda
2340
+ CPU: sin_out
2341
+ CUDA: sin_out
2441
2342
 
2442
2343
  - func: sinh(Tensor self) -> Tensor
2443
2344
  use_c10_dispatcher: full
@@ -2445,26 +2346,32 @@
2445
2346
  variants: function, method
2446
2347
 
2447
2348
  - func: sinh_(Tensor(a!) self) -> Tensor(a!)
2448
- use_c10_dispatcher: unboxed_only
2449
2349
  supports_named_tensor: True
2450
2350
  variants: function, method
2451
- dispatch:
2452
- CPU: _sinh__cpu
2453
- CUDA: _sinh__cuda
2454
2351
 
2455
2352
  - func: sinh.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
2456
2353
  supports_named_tensor: True
2457
- dispatch:
2458
- CPU: _sinh_out_cpu
2459
- CUDA: _sinh_out_cuda
2460
2354
 
2355
+ # Returns a copy of this `Variable` that is detached from its autograd graph.
2356
+ # This method is OK to call if the `Variable` is a view.
2357
+ #
2358
+ # NOTE: Previously, if we change the tensor metadata (e.g. sizes / strides /
2359
+ # storage / storage_offset) of a tensor created from `detach()`, those metadata
2360
+ # in the original tensor will also be updated. However, the new behavior is that
2361
+ # those metadata changes to the detached tensor will not update the original tensor
2362
+ # anymore, and in the `detach()` function we need to set `allow_tensor_metadata_change_`
2363
+ # to false to make such changes explicitly illegal, in order to prevent users from
2364
+ # changing metadata of the detached tensor and expecting the original tensor to also
2365
+ # be updated.
2461
2366
  - func: detach(Tensor self) -> Tensor
2462
2367
  use_c10_dispatcher: full
2463
2368
  supports_named_tensor: True
2464
2369
  variants: function, method
2465
2370
 
2371
+ # Like `detach()`, but modifies this `Variable` in-place. This method may
2372
+ # only be called on non-view `Variable`s. You can use `is_view()` to check
2373
+ # this. If this `Variable` is a view, throws an `std::runtime_error()`.
2466
2374
  - func: detach_(Tensor(a!) self) -> Tensor(a!)
2467
- use_c10_dispatcher: unboxed_only
2468
2375
  supports_named_tensor: True
2469
2376
  variants: function, method
2470
2377
 
@@ -2480,13 +2387,11 @@
2480
2387
  supports_named_tensor: True
2481
2388
 
2482
2389
  - func: slice.Tensor(Tensor(a) self, int dim=0, int start=0, int end=9223372036854775807, int step=1) -> Tensor(a)
2483
- use_c10_dispatcher: unboxed_only
2484
2390
  variants: function, method
2485
2391
  device_guard: False
2486
2392
  supports_named_tensor: True
2487
2393
 
2488
2394
  - func: slogdet(Tensor self) -> (Tensor sign, Tensor logabsdet)
2489
- use_c10_dispatcher: unboxed_only
2490
2395
  variants: function, method
2491
2396
 
2492
2397
  - func: smm(Tensor self, Tensor mat2) -> Tensor
@@ -2494,11 +2399,11 @@
2494
2399
  variants: function, method
2495
2400
 
2496
2401
  # softmax allows positional dtype, unlike most operators, because kwonly is BC-breaking when loading jit models.
2497
- - func: softmax(Tensor self, int dim, ScalarType? dtype=None) -> Tensor
2402
+ - func: softmax.int(Tensor self, int dim, ScalarType? dtype=None) -> Tensor
2498
2403
  variants: function, method
2499
2404
  supports_named_tensor: True
2500
2405
 
2501
- - func: softmax(Tensor self, Dimname dim, *, ScalarType? dtype=None) -> Tensor
2406
+ - func: softmax.Dimname(Tensor self, Dimname dim, *, ScalarType? dtype=None) -> Tensor
2502
2407
  variants: function, method
2503
2408
  supports_named_tensor: True
2504
2409
 
@@ -2516,25 +2421,21 @@
2516
2421
  CUDA: softmax_backward_cuda
2517
2422
 
2518
2423
  - func: split.Tensor(Tensor(a) self, int split_size, int dim=0) -> Tensor(a)[]
2519
- use_c10_dispatcher: unboxed_only
2520
2424
  variants: function, method
2521
2425
  device_guard: False
2522
2426
  supports_named_tensor: True
2523
2427
 
2524
2428
  - func: split_with_sizes(Tensor self, int[] split_sizes, int dim=0) -> Tensor[]
2525
- use_c10_dispatcher: unboxed_only
2526
2429
  variants: function, method
2527
2430
  device_guard: False
2528
2431
  supports_named_tensor: True
2529
2432
 
2530
2433
  - func: squeeze(Tensor(a) self) -> Tensor(a)
2531
- use_c10_dispatcher: unboxed_only
2532
2434
  supports_named_tensor: True
2533
2435
  variants: function, method
2534
2436
  device_guard: False
2535
2437
 
2536
2438
  - func: squeeze.dim(Tensor(a) self, int dim) -> Tensor(a)
2537
- use_c10_dispatcher: unboxed_only
2538
2439
  supports_named_tensor: True
2539
2440
  variants: function, method
2540
2441
  device_guard: False
@@ -2545,12 +2446,10 @@
2545
2446
  device_guard: False
2546
2447
 
2547
2448
  - func: squeeze_(Tensor(a!) self) -> Tensor(a!)
2548
- use_c10_dispatcher: unboxed_only
2549
2449
  variants: method
2550
2450
  device_guard: False
2551
2451
 
2552
2452
  - func: squeeze_.dim(Tensor(a!) self, int dim) -> Tensor(a!)
2553
- use_c10_dispatcher: unboxed_only
2554
2453
  variants: method
2555
2454
  device_guard: False
2556
2455
 
@@ -2570,7 +2469,6 @@
2570
2469
  SparseCUDA: _sspaddmm_out_cuda
2571
2470
 
2572
2471
  - func: stack(Tensor[] tensors, int dim=0) -> Tensor
2573
- use_c10_dispatcher: unboxed_only
2574
2472
 
2575
2473
  - func: stack.out(Tensor[] tensors, int dim=0, *, Tensor(a!) out) -> Tensor(a!)
2576
2474
 
@@ -2611,7 +2509,6 @@
2611
2509
  supports_named_tensor: True
2612
2510
 
2613
2511
  - func: sum_to_size(Tensor self, int[] size) -> Tensor
2614
- use_c10_dispatcher: unboxed_only
2615
2512
  variants: method
2616
2513
  device_guard: False
2617
2514
 
@@ -2621,18 +2518,11 @@
2621
2518
  variants: function, method
2622
2519
 
2623
2520
  - func: sqrt_(Tensor(a!) self) -> Tensor(a!)
2624
- use_c10_dispatcher: unboxed_only
2625
2521
  supports_named_tensor: True
2626
2522
  variants: function, method
2627
- dispatch:
2628
- CPU: _sqrt__cpu
2629
- CUDA: _sqrt__cuda
2630
2523
 
2631
2524
  - func: sqrt.out(Tensor self, *, Tensor(a!) out) -> Tensor(a!)
2632
2525
  supports_named_tensor: True
2633
- dispatch:
2634
- CPU: _sqrt_out_cpu
2635
- CUDA: _sqrt_out_cuda
2636
2526
 
2637
2527
  - func: std(Tensor self, bool unbiased=True) -> Tensor
2638
2528
  use_c10_dispatcher: full
@@ -2640,17 +2530,14 @@
2640
2530
  supports_named_tensor: True
2641
2531
 
2642
2532
  - func: std.dim(Tensor self, int[1] dim, bool unbiased=True, bool keepdim=False) -> Tensor
2643
- use_c10_dispatcher: unboxed_only
2644
2533
  variants: function, method
2645
2534
  supports_named_tensor: True
2646
2535
 
2647
2536
  - func: std_mean(Tensor self, bool unbiased=True) -> (Tensor, Tensor)
2648
- use_c10_dispatcher: unboxed_only
2649
2537
  variants: function
2650
2538
  supports_named_tensor: True
2651
2539
 
2652
2540
  - func: std_mean.dim(Tensor self, int[1] dim, bool unbiased=True, bool keepdim=False) -> (Tensor, Tensor)
2653
- use_c10_dispatcher: unboxed_only
2654
2541
  variants: function
2655
2542
  supports_named_tensor: True
2656
2543
 
@@ -2688,13 +2575,11 @@
2688
2575
 
2689
2576
 
2690
2577
  - func: t(Tensor(a) self) -> Tensor(a)
2691
- use_c10_dispatcher: unboxed_only
2692
2578
  device_guard: False
2693
2579
  variants: function, method
2694
2580
  supports_named_tensor: True
2695
2581
 
2696
2582
  - func: t_(Tensor(a!) self) -> Tensor(a!)
2697
- use_c10_dispatcher: unboxed_only
2698
2583
  device_guard: False
2699
2584
  variants: method
2700
2585
 
@@ -2704,7 +2589,6 @@
2704
2589
  variants: function, method
2705
2590
 
2706
2591
  - func: tan_(Tensor(a!) self) -> Tensor(a!)
2707
- use_c10_dispatcher: unboxed_only
2708
2592
  supports_named_tensor: True
2709
2593
  variants: function, method
2710
2594
  dispatch:
@@ -2723,7 +2607,6 @@
2723
2607
  variants: function, method
2724
2608
 
2725
2609
  - func: tanh_(Tensor(a!) self) -> Tensor(a!)
2726
- use_c10_dispatcher: unboxed_only
2727
2610
  supports_named_tensor: True
2728
2611
  variants: function, method
2729
2612
  dispatch:
@@ -2737,7 +2620,6 @@
2737
2620
  CUDA: _tanh_out_cuda
2738
2621
 
2739
2622
  - func: tensordot(Tensor self, Tensor other, int[] dims_self, int[] dims_other) -> Tensor
2740
- use_c10_dispatcher: unboxed_only
2741
2623
  variants: function
2742
2624
 
2743
2625
  # TODO: namespace threshold in 'nn'
@@ -2747,7 +2629,6 @@
2747
2629
  supports_named_tensor: True
2748
2630
 
2749
2631
  - func: threshold_(Tensor(a!) self, Scalar threshold, Scalar value) -> Tensor(a!)
2750
- use_c10_dispatcher: unboxed_only
2751
2632
  variants: function
2752
2633
  supports_named_tensor: True
2753
2634
 
@@ -2759,7 +2640,6 @@
2759
2640
  variants: function
2760
2641
 
2761
2642
  - func: transpose.int(Tensor(a) self, int dim0, int dim1) -> Tensor(a)
2762
- use_c10_dispatcher: unboxed_only
2763
2643
  variants: function, method
2764
2644
  device_guard: False
2765
2645
  supports_named_tensor: True
@@ -2777,12 +2657,10 @@
2777
2657
  MkldnnCPU: mkldnn_transpose
2778
2658
 
2779
2659
  - func: transpose_(Tensor(a!) self, int dim0, int dim1) -> Tensor(a!)
2780
- use_c10_dispatcher: unboxed_only
2781
2660
  variants: method
2782
2661
  device_guard: False
2783
2662
 
2784
2663
  - func: _mkldnn_transpose_(Tensor(a!) self, int dim0, int dim1) -> Tensor(a!)
2785
- use_c10_dispatcher: unboxed_only
2786
2664
  device_guard: False
2787
2665
  requires_tensor: True
2788
2666
  dispatch:
@@ -2794,14 +2672,12 @@
2794
2672
  variants: function
2795
2673
 
2796
2674
  - func: flip(Tensor self, int[] dims) -> Tensor
2797
- use_c10_dispatcher: unboxed_only
2798
2675
  variants: function, method
2799
2676
  dispatch:
2800
2677
  CPU: flip_cpu
2801
2678
  CUDA: flip_cuda
2802
2679
 
2803
2680
  - func: roll(Tensor self, int[1] shifts, int[1] dims=[]) -> Tensor
2804
- use_c10_dispatcher: unboxed_only
2805
2681
  variants: function, method
2806
2682
  dispatch:
2807
2683
  CPU: roll_cpu
@@ -2810,7 +2686,6 @@
2810
2686
  # default int[] value [0,1] should not add space after comma, since native_parse.py uses ', ' to split args
2811
2687
 
2812
2688
  - func: rot90(Tensor self, int k=1, int[] dims=[0,1]) -> Tensor
2813
- use_c10_dispatcher: unboxed_only
2814
2689
  variants: function, method
2815
2690
 
2816
2691
  - func: trapz.x(Tensor y, Tensor x, *, int dim=-1) -> Tensor
@@ -2820,7 +2695,6 @@
2820
2695
  use_c10_dispatcher: full
2821
2696
 
2822
2697
  - func: _trilinear(Tensor i1, Tensor i2, Tensor i3, int[] expand1, int[] expand2, int[] expand3, int[] sumdim, int unroll_dim=1) -> Tensor
2823
- use_c10_dispatcher: unboxed_only
2824
2698
 
2825
2699
  - func: triplet_margin_loss(Tensor anchor, Tensor positive, Tensor negative, float margin=1.0, float p=2, float eps=1e-06, bool swap=False, int reduction=Mean) -> Tensor
2826
2700
  use_c10_dispatcher: full
@@ -2831,7 +2705,6 @@
2831
2705
  variants: function, method
2832
2706
 
2833
2707
  - func: trunc_(Tensor(a!) self) -> Tensor(a!)
2834
- use_c10_dispatcher: unboxed_only
2835
2708
  supports_named_tensor: True
2836
2709
  variants: function, method
2837
2710
 
@@ -2850,28 +2723,24 @@
2850
2723
  variants: function
2851
2724
 
2852
2725
  - func: _unique(Tensor self, bool sorted=True, bool return_inverse=False) -> (Tensor, Tensor)
2853
- use_c10_dispatcher: unboxed_only
2854
2726
  variants: function
2855
2727
  dispatch:
2856
2728
  CPU: _unique_cpu
2857
2729
  CUDA: _unique_cuda
2858
2730
 
2859
2731
  - func: unique_dim(Tensor self, int dim, bool sorted=True, bool return_inverse=False, bool return_counts=False) -> (Tensor, Tensor, Tensor)
2860
- use_c10_dispatcher: unboxed_only
2861
2732
  variants: function
2862
2733
  dispatch:
2863
2734
  CPU: unique_dim_cpu
2864
2735
  CUDA: unique_dim_cuda
2865
2736
 
2866
2737
  - func: unique_consecutive(Tensor self, bool return_inverse=False, bool return_counts=False, int? dim=None) -> (Tensor, Tensor, Tensor)
2867
- use_c10_dispatcher: unboxed_only
2868
2738
  variants: function
2869
2739
  dispatch:
2870
2740
  CPU: unique_consecutive_cpu
2871
2741
  CUDA: unique_consecutive_cuda
2872
2742
 
2873
2743
  - func: unique_dim_consecutive(Tensor self, int dim, bool return_inverse=False, bool return_counts=False) -> (Tensor, Tensor, Tensor)
2874
- use_c10_dispatcher: unboxed_only
2875
2744
  variants: function
2876
2745
  dispatch:
2877
2746
  CPU: unique_dim_consecutive_cpu
@@ -2882,22 +2751,18 @@
2882
2751
  # Please don't rely on these two operators, they will be removed soon
2883
2752
 
2884
2753
  - func: _unique2(Tensor self, bool sorted=True, bool return_inverse=False, bool return_counts=False) -> (Tensor, Tensor, Tensor)
2885
- use_c10_dispatcher: unboxed_only
2886
2754
  variants: function
2887
2755
  dispatch:
2888
2756
  CPU: _unique2_cpu
2889
2757
  CUDA: _unique2_cuda
2890
2758
 
2891
2759
  - func: _unsafe_view(Tensor self, int[] size) -> Tensor
2892
- use_c10_dispatcher: unboxed_only
2893
2760
 
2894
2761
  - func: unsqueeze(Tensor(a) self, int dim) -> Tensor(a)
2895
- use_c10_dispatcher: unboxed_only
2896
2762
  variants: function, method
2897
2763
  device_guard: False
2898
2764
 
2899
2765
  - func: unsqueeze_(Tensor(a!) self, int dim) -> Tensor(a!)
2900
- use_c10_dispatcher: unboxed_only
2901
2766
  variants: method
2902
2767
  device_guard: False
2903
2768
 
@@ -2907,7 +2772,6 @@
2907
2772
  supports_named_tensor: True
2908
2773
 
2909
2774
  - func: var.dim(Tensor self, int[1] dim, bool unbiased=True, bool keepdim=False) -> Tensor
2910
- use_c10_dispatcher: unboxed_only
2911
2775
  variants: function, method
2912
2776
  supports_named_tensor: True
2913
2777
 
@@ -2922,12 +2786,10 @@
2922
2786
  supports_named_tensor: True
2923
2787
 
2924
2788
  - func: var_mean(Tensor self, bool unbiased=True) -> (Tensor, Tensor)
2925
- use_c10_dispatcher: unboxed_only
2926
2789
  variants: function
2927
2790
  supports_named_tensor: True
2928
2791
 
2929
2792
  - func: var_mean.dim(Tensor self, int[1] dim, bool unbiased=True, bool keepdim=False) -> (Tensor, Tensor)
2930
- use_c10_dispatcher: unboxed_only
2931
2793
  variants: function
2932
2794
  supports_named_tensor: True
2933
2795
 
@@ -2948,7 +2810,6 @@
2948
2810
  variants: function, method
2949
2811
 
2950
2812
  - func: where(Tensor condition) -> Tensor[]
2951
- use_c10_dispatcher: unboxed_only
2952
2813
  variants: function
2953
2814
 
2954
2815
  - func: _s_where(Tensor condition, Tensor self, Tensor other) -> Tensor
@@ -2959,7 +2820,6 @@
2959
2820
  CUDA: _s_where_cuda
2960
2821
 
2961
2822
  - func: norm_except_dim(Tensor v, int pow=2, int dim=0) -> Tensor
2962
- use_c10_dispatcher: unboxed_only
2963
2823
  variants: function
2964
2824
 
2965
2825
  # VariableType::_weight_norm does not want to be given a gap in the autograd graph,
@@ -2969,19 +2829,16 @@
2969
2829
  variants: function
2970
2830
 
2971
2831
  - func: _weight_norm_cuda_interface(Tensor v, Tensor g, int dim=0) -> (Tensor, Tensor)
2972
- use_c10_dispatcher: unboxed_only
2973
2832
  variants: function
2974
2833
  dispatch:
2975
2834
  CUDA: weight_norm_cuda
2976
2835
 
2977
2836
  - func: _weight_norm_cuda_interface_backward(Tensor grad_w, Tensor saved_v, Tensor saved_g, Tensor saved_norms, int dim) -> (Tensor, Tensor)
2978
- use_c10_dispatcher: unboxed_only
2979
2837
  variants: function
2980
2838
  dispatch:
2981
2839
  CUDA: weight_norm_cuda_backward
2982
2840
 
2983
2841
  - func: _weight_norm_differentiable_backward(Tensor grad_w, Tensor saved_v, Tensor saved_g, Tensor saved_norms, int dim) -> (Tensor, Tensor)
2984
- use_c10_dispatcher: unboxed_only
2985
2842
  variants: function
2986
2843
 
2987
2844
  - func: zeros.names(int[] size, *, Dimname[]? names, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
@@ -2991,10 +2848,11 @@
2991
2848
 
2992
2849
  - func: zeros.out(int[] size, *, Tensor(a!) out) -> Tensor(a!)
2993
2850
 
2994
- - func: zeros_like(Tensor self) -> Tensor
2995
- use_c10_dispatcher: full
2851
+ - func: zeros_like(Tensor self, *, MemoryFormat? memory_format=None) -> Tensor
2852
+ supports_named_tensor: True
2996
2853
 
2997
- - func: zeros_like.dtype(Tensor self, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False) -> Tensor
2854
+ - func: zeros_like.dtype(Tensor self, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False, MemoryFormat? memory_format=None) -> Tensor
2855
+ supports_named_tensor: True
2998
2856
 
2999
2857
  - func: _standard_gamma_grad(Tensor self, Tensor output) -> Tensor
3000
2858
  use_c10_dispatcher: full
@@ -3004,7 +2862,6 @@
3004
2862
  CUDA: _standard_gamma_grad_cuda
3005
2863
 
3006
2864
  - func: _standard_gamma(Tensor self, Generator? generator=None) -> Tensor
3007
- use_c10_dispatcher: 'unboxed_only'
3008
2865
  variants: function
3009
2866
  dispatch:
3010
2867
  CPU: _s_gamma_cpu
@@ -3017,14 +2874,12 @@
3017
2874
  CUDA: _dirichlet_grad_cuda
3018
2875
 
3019
2876
  - func: _sample_dirichlet(Tensor self, Generator? generator=None) -> Tensor
3020
- use_c10_dispatcher: 'unboxed_only'
3021
2877
  variants: function
3022
2878
  dispatch:
3023
2879
  CPU: _s_dirichlet_cpu
3024
2880
  CUDA: _s_dirichlet_cuda
3025
2881
 
3026
2882
  - func: poisson(Tensor self, Generator? generator=None) -> Tensor
3027
- use_c10_dispatcher: 'unboxed_only'
3028
2883
  dispatch:
3029
2884
  CPU: _s_poisson_cpu
3030
2885
  CUDA: _s_poisson_cuda
@@ -3045,12 +2900,10 @@
3045
2900
  - func: _sparse_sum.dtype(Tensor self, *, ScalarType dtype) -> Tensor
3046
2901
 
3047
2902
  - func: _sparse_sum.dim(Tensor self, int[1] dim) -> Tensor
3048
- use_c10_dispatcher: unboxed_only
3049
2903
 
3050
2904
  - func: _sparse_sum.dim_dtype(Tensor self, int[1] dim, *, ScalarType dtype) -> Tensor
3051
2905
 
3052
2906
  - func: _sparse_sum_backward(Tensor grad, Tensor self, int[] dim) -> Tensor
3053
- use_c10_dispatcher: unboxed_only
3054
2907
  dispatch:
3055
2908
  SparseCPU: _sparse_sum_backward_cpu
3056
2909
  SparseCUDA: _sparse_sum_backward_cuda
@@ -3066,7 +2919,6 @@
3066
2919
  variants: function, method
3067
2920
 
3068
2921
  - func: norm.ScalarOpt_dim(Tensor self, Scalar? p, int[1] dim, bool keepdim=False) -> Tensor
3069
- use_c10_dispatcher: unboxed_only
3070
2922
  variants: function, method
3071
2923
 
3072
2924
  - func: norm.dtype_out(Tensor self, Scalar? p, int[1] dim, bool keepdim, *, ScalarType dtype, Tensor(a!) out) -> Tensor(a!)
@@ -3088,7 +2940,6 @@
3088
2940
  variants: function
3089
2941
 
3090
2942
  - func: frobenius_norm.dim(Tensor self, int[1] dim, bool keepdim=False) -> Tensor
3091
- use_c10_dispatcher: unboxed_only
3092
2943
  variants: function
3093
2944
 
3094
2945
  - func: frobenius_norm.out(Tensor self, int[1] dim, bool keepdim=False, *, Tensor(a!) out) -> Tensor(a!)
@@ -3102,14 +2953,12 @@
3102
2953
  variants: function
3103
2954
 
3104
2955
  - func: nuclear_norm.dim(Tensor self, int[2] dim, bool keepdim=False) -> Tensor
3105
- use_c10_dispatcher: unboxed_only
3106
2956
  variants: function
3107
2957
 
3108
2958
  - func: nuclear_norm.dim_out(Tensor self, int[2] dim, bool keepdim=False, *, Tensor(a!) out) -> Tensor(a!)
3109
2959
  variants: function
3110
2960
 
3111
- - func: clone(Tensor self) -> Tensor
3112
- use_c10_dispatcher: full
2961
+ - func: clone(Tensor self, *, MemoryFormat? memory_format=None) -> Tensor
3113
2962
  variants: function, method
3114
2963
  dispatch:
3115
2964
  CPU: clone
@@ -3120,8 +2969,7 @@
3120
2969
  QuantizedCPU: quantized_clone
3121
2970
  supports_named_tensor: True
3122
2971
 
3123
- - func: resize_as_(Tensor(a!) self, Tensor the_template) -> Tensor(a!)
3124
- use_c10_dispatcher: unboxed_only
2972
+ - func: resize_as_(Tensor(a!) self, Tensor the_template, *, MemoryFormat? memory_format=None) -> Tensor(a!)
3125
2973
  supports_named_tensor: True
3126
2974
  variants: function, method
3127
2975
 
@@ -3144,12 +2992,11 @@
3144
2992
  SparseCUDA: pow_sparse_scalar
3145
2993
 
3146
2994
  - func: zero_(Tensor(a!) self) -> Tensor(a!)
3147
- use_c10_dispatcher: unboxed_only
3148
2995
  supports_named_tensor: True
3149
2996
  variants: method, function
3150
2997
  dispatch:
3151
- CPU: legacy::cpu::_th_zero_
3152
- CUDA: legacy::cuda::_th_zero_
2998
+ CPU: zero_
2999
+ CUDA: zero_
3153
3000
  SparseCPU: zero_sparse_
3154
3001
  SparseCUDA: zero_sparse_
3155
3002
  MkldnnCPU: mkldnn_zero_
@@ -3173,7 +3020,6 @@
3173
3020
  supports_named_tensor: True
3174
3021
 
3175
3022
  - func: sub_.Tensor(Tensor(a!) self, Tensor other, *, Scalar alpha=1) -> Tensor(a!)
3176
- use_c10_dispatcher: unboxed_only
3177
3023
  variants: method
3178
3024
  dispatch:
3179
3025
  CPU: sub_
@@ -3189,7 +3035,6 @@
3189
3035
  supports_named_tensor: True
3190
3036
 
3191
3037
  - func: sub_.Scalar(Tensor(a!) self, Scalar other, Scalar alpha=1) -> Tensor(a!)
3192
- use_c10_dispatcher: unboxed_only
3193
3038
  variants: method
3194
3039
  supports_named_tensor: True
3195
3040
 
@@ -3229,7 +3074,6 @@
3229
3074
  supports_named_tensor: True
3230
3075
 
3231
3076
  - func: addmm_(Tensor(a!) self, Tensor mat1, Tensor mat2, *, Scalar beta=1, Scalar alpha=1) -> Tensor(a!)
3232
- use_c10_dispatcher: unboxed_only
3233
3077
  variants: method
3234
3078
  dispatch:
3235
3079
  CPU: legacy::cpu::_th_addmm_
@@ -3380,7 +3224,6 @@
3380
3224
  requires_tensor: True
3381
3225
 
3382
3226
  - func: sparse_resize_(Tensor(a!) self, int[] size, int sparse_dim, int dense_dim) -> Tensor(a!)
3383
- use_c10_dispatcher: unboxed_only
3384
3227
  variants: method
3385
3228
  dispatch:
3386
3229
  SparseCPU: sparse_resize_
@@ -3388,7 +3231,6 @@
3388
3231
  requires_tensor: True
3389
3232
 
3390
3233
  - func: sparse_resize_and_clear_(Tensor(a!) self, int[] size, int sparse_dim, int dense_dim) -> Tensor(a!)
3391
- use_c10_dispatcher: unboxed_only
3392
3234
  variants: method
3393
3235
  dispatch:
3394
3236
  SparseCPU: sparse_resize_and_clear_
@@ -3488,7 +3330,6 @@
3488
3330
 
3489
3331
 
3490
3332
  - func: _indices(Tensor(a) self) -> Tensor(a)
3491
- use_c10_dispatcher: unboxed_only
3492
3333
  variants: method
3493
3334
  dispatch:
3494
3335
  SparseCPU: _indices_sparse
@@ -3497,7 +3338,6 @@
3497
3338
  device_guard: False
3498
3339
 
3499
3340
  - func: _values(Tensor(a) self) -> Tensor(a)
3500
- use_c10_dispatcher: unboxed_only
3501
3341
  variants: method
3502
3342
  dispatch:
3503
3343
  SparseCPU: _values_sparse
@@ -3509,7 +3349,6 @@
3509
3349
  # a bit unsafe. Similar to _indices and _values, this is useful for implementing
3510
3350
  # custom sparse operations in Python/C++ extension.
3511
3351
  - func: _coalesced_(Tensor(a!) self, bool coalesced) -> Tensor(a!)
3512
- use_c10_dispatcher: unboxed_only
3513
3352
  variants: method
3514
3353
  dispatch:
3515
3354
  SparseCPU: _coalesced_sparse_
@@ -3518,7 +3357,6 @@
3518
3357
  device_guard: False
3519
3358
 
3520
3359
  - func: indices(Tensor(a) self) -> Tensor(a)
3521
- use_c10_dispatcher: unboxed_only
3522
3360
  variants: method
3523
3361
  dispatch:
3524
3362
  SparseCPU: indices_sparse
@@ -3527,7 +3365,6 @@
3527
3365
  device_guard: False
3528
3366
 
3529
3367
  - func: values(Tensor(a) self) -> Tensor(a)
3530
- use_c10_dispatcher: unboxed_only
3531
3368
  variants: method
3532
3369
  dispatch:
3533
3370
  SparseCPU: values_sparse
@@ -3550,21 +3387,13 @@
3550
3387
  requires_tensor: True
3551
3388
 
3552
3389
  - func: copy_sparse_to_sparse_(Tensor(a!) self, Tensor src, bool non_blocking=False) -> Tensor(a!)
3553
- use_c10_dispatcher: unboxed_only
3554
3390
  variants: function
3555
3391
  dispatch:
3556
3392
  SparseCPU: copy_sparse_
3557
3393
  SparseCUDA: copy_sparse_
3558
3394
  requires_tensor: True
3559
3395
 
3560
- - func: numel(Tensor self) -> int
3561
- use_c10_dispatcher: full
3562
- variants: function, method
3563
- device_guard: False
3564
- supports_named_tensor: True
3565
-
3566
3396
  - func: unbind.int(Tensor(a) self, int dim=0) -> Tensor(a)[]
3567
- use_c10_dispatcher: unboxed_only
3568
3397
  variants: function, method
3569
3398
  supports_named_tensor: True
3570
3399
 
@@ -3593,7 +3422,6 @@
3593
3422
  CPU: dense_to_mkldnn
3594
3423
 
3595
3424
  - func: mkldnn_reorder_conv2d_weight(Tensor self, int[2] padding=0, int[2] stride=1, int[2] dilation=1, int groups=1) -> Tensor
3596
- use_c10_dispatcher: unboxed_only
3597
3425
  variants: function
3598
3426
  python_module: nn
3599
3427
  dispatch:
@@ -3631,13 +3459,11 @@
3631
3459
  QuantizedCPU: q_zero_point_quant
3632
3460
 
3633
3461
  - func: q_per_channel_scales(Tensor self) -> Tensor
3634
- use_c10_dispatcher: unboxed_only
3635
3462
  variants: function, method
3636
3463
  dispatch:
3637
3464
  QuantizedCPU: q_per_channel_scales_quant
3638
3465
 
3639
3466
  - func: q_per_channel_zero_points(Tensor self) -> Tensor
3640
- use_c10_dispatcher: unboxed_only
3641
3467
  variants: function, method
3642
3468
  dispatch:
3643
3469
  QuantizedCPU: q_per_channel_zero_points_quant
@@ -3659,7 +3485,6 @@
3659
3485
  CPU: make_per_tensor_quantized_tensor_cpu
3660
3486
 
3661
3487
  - func: _make_per_channel_quantized_tensor(Tensor self, Tensor scale, Tensor zero_point, int axis) -> Tensor
3662
- use_c10_dispatcher: unboxed_only
3663
3488
  dispatch:
3664
3489
  CPU: make_per_channel_quantized_tensor_cpu
3665
3490
 
@@ -3696,31 +3521,28 @@
3696
3521
  # to(Device) must not exist because all constructors of Device also works for
3697
3522
  # TensorOptions. Otherwise, an ambiguity error is thrown.
3698
3523
  # See NOTE [ TensorOptions Constructors ].
3699
- - func: to.dtype_layout(Tensor self, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False, bool non_blocking=False, bool copy=False) -> Tensor
3524
+ - func: to.dtype_layout(Tensor self, *, ScalarType dtype, Layout layout, Device device, bool pin_memory=False, bool non_blocking=False, bool copy=False, MemoryFormat? memory_format=None) -> Tensor
3700
3525
  variants: method
3701
3526
  device_guard: False
3702
3527
  supports_named_tensor: True
3703
3528
 
3704
- - func: to.device(Tensor self, Device device, ScalarType dtype, bool non_blocking=False, bool copy=False) -> Tensor
3529
+ - func: to.device(Tensor self, Device device, ScalarType dtype, bool non_blocking=False, bool copy=False, MemoryFormat? memory_format=None) -> Tensor
3705
3530
  variants: method
3706
3531
  device_guard: False
3707
3532
  supports_named_tensor: True
3708
3533
 
3709
- - func: to.dtype(Tensor self, ScalarType dtype, bool non_blocking=False, bool copy=False) -> Tensor
3534
+ - func: to.dtype(Tensor self, ScalarType dtype, bool non_blocking=False, bool copy=False, MemoryFormat? memory_format=None) -> Tensor
3710
3535
  variants: method
3711
3536
  device_guard: False
3712
3537
  supports_named_tensor: True
3713
3538
 
3714
- - func: to.other(Tensor self, Tensor other, bool non_blocking=False, bool copy=False) -> Tensor
3715
- use_c10_dispatcher: full
3539
+ - func: to.other(Tensor self, Tensor other, bool non_blocking=False, bool copy=False, MemoryFormat? memory_format=None) -> Tensor
3716
3540
  variants: method
3717
3541
  device_guard: False
3718
3542
 
3719
3543
  - func: meshgrid(Tensor[] tensors) -> Tensor[]
3720
- use_c10_dispatcher: unboxed_only
3721
3544
 
3722
3545
  - func: cartesian_prod(Tensor[] tensors) -> Tensor
3723
- use_c10_dispatcher: unboxed_only
3724
3546
  variants: function
3725
3547
 
3726
3548
  - func: combinations(Tensor self, int r=2, bool with_replacement=False) -> Tensor
@@ -3774,7 +3596,6 @@
3774
3596
  CUDA: _thnn_fused_gru_cell_cuda
3775
3597
 
3776
3598
  - func: _thnn_fused_gru_cell_backward(Tensor grad_hy, Tensor workspace, bool has_bias) -> (Tensor, Tensor, Tensor, Tensor, Tensor)
3777
- use_c10_dispatcher: unboxed_only
3778
3599
  dispatch:
3779
3600
  CUDA: _thnn_fused_gru_cell_backward_cuda
3780
3601
 
@@ -3782,28 +3603,20 @@
3782
3603
 
3783
3604
  # RNN cells and layers
3784
3605
  - func: lstm.input(Tensor input, Tensor[] hx, Tensor[] params, bool has_biases, int num_layers, float dropout, bool train, bool bidirectional, bool batch_first) -> (Tensor, Tensor, Tensor)
3785
- use_c10_dispatcher: unboxed_only
3786
3606
 
3787
3607
  - func: lstm.data(Tensor data, Tensor batch_sizes, Tensor[] hx, Tensor[] params, bool has_biases, int num_layers, float dropout, bool train, bool bidirectional) -> (Tensor, Tensor, Tensor)
3788
- use_c10_dispatcher: unboxed_only
3789
3608
 
3790
3609
  - func: 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)
3791
- use_c10_dispatcher: unboxed_only
3792
3610
 
3793
3611
  - func: gru.data(Tensor data, Tensor batch_sizes, Tensor hx, Tensor[] params, bool has_biases, int num_layers, float dropout, bool train, bool bidirectional) -> (Tensor, Tensor)
3794
- use_c10_dispatcher: unboxed_only
3795
3612
 
3796
3613
  - func: rnn_tanh.input(Tensor input, Tensor hx, Tensor[] params, bool has_biases, int num_layers, float dropout, bool train, bool bidirectional, bool batch_first) -> (Tensor, Tensor)
3797
- use_c10_dispatcher: unboxed_only
3798
3614
 
3799
3615
  - func: rnn_tanh.data(Tensor data, Tensor batch_sizes, Tensor hx, Tensor[] params, bool has_biases, int num_layers, float dropout, bool train, bool bidirectional) -> (Tensor, Tensor)
3800
- use_c10_dispatcher: unboxed_only
3801
3616
 
3802
3617
  - func: rnn_relu.input(Tensor input, Tensor hx, Tensor[] params, bool has_biases, int num_layers, float dropout, bool train, bool bidirectional, bool batch_first) -> (Tensor, Tensor)
3803
- use_c10_dispatcher: unboxed_only
3804
3618
 
3805
3619
  - func: rnn_relu.data(Tensor data, Tensor batch_sizes, Tensor hx, Tensor[] params, bool has_biases, int num_layers, float dropout, bool train, bool bidirectional) -> (Tensor, Tensor)
3806
- use_c10_dispatcher: unboxed_only
3807
3620
 
3808
3621
  - func: lstm_cell(Tensor input, Tensor[] hx, Tensor w_ih, Tensor w_hh, Tensor? b_ih=None, Tensor? b_hh=None) -> (Tensor, Tensor)
3809
3622
 
@@ -3816,17 +3629,16 @@
3816
3629
  # Quantized RNN layers
3817
3630
  - 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)
3818
3631
 
3632
+ - 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)
3633
+
3819
3634
  # Quantized GRU layers
3820
3635
 
3821
3636
  - 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)
3822
- use_c10_dispatcher: unboxed_only
3823
3637
 
3824
3638
  - func: quantized_gru.data(Tensor data, Tensor batch_sizes, Tensor hx, Tensor[] params, bool has_biases, int num_layers, float dropout, bool train, bool bidirectional) -> (Tensor, Tensor)
3825
- use_c10_dispatcher: unboxed_only
3826
3639
 
3827
3640
  # Quantized RNN cells
3828
3641
  - func: quantized_lstm_cell(Tensor input, Tensor[] hx, Tensor w_ih, Tensor w_hh, Tensor b_ih, Tensor b_hh, Tensor packed_ih, Tensor packed_hh, Tensor col_offsets_ih, Tensor col_offsets_hh, Scalar scale_ih, Scalar scale_hh, Scalar zero_point_ih, Scalar zero_point_hh) -> (Tensor, Tensor)
3829
- use_c10_dispatcher: unboxed_only
3830
3642
 
3831
3643
  - func: quantized_gru_cell(Tensor input, Tensor hx, Tensor w_ih, Tensor w_hh, Tensor b_ih, Tensor b_hh, Tensor packed_ih, Tensor packed_hh, Tensor col_offsets_ih, Tensor col_offsets_hh, Scalar scale_ih, Scalar scale_hh, Scalar zero_point_ih, Scalar zero_point_hh) -> Tensor
3832
3644
  use_c10_dispatcher: full
@@ -3839,13 +3651,10 @@
3839
3651
 
3840
3652
  # PackedSequence utilities
3841
3653
  - func: _pack_padded_sequence(Tensor input, Tensor lengths, bool batch_first) -> (Tensor, Tensor)
3842
- use_c10_dispatcher: unboxed_only
3843
3654
 
3844
3655
  - func: _pack_padded_sequence_backward(Tensor grad, int[] input_size, Tensor batch_sizes, bool batch_first) -> Tensor
3845
- use_c10_dispatcher: unboxed_only
3846
3656
 
3847
3657
  - func: _pad_packed_sequence(Tensor data, Tensor batch_sizes, bool batch_first, Scalar padding_value, int total_length) -> (Tensor, Tensor)
3848
- use_c10_dispatcher: unboxed_only
3849
3658
 
3850
3659
  # wrappers for legacy TH methods
3851
3660
 
@@ -3853,8 +3662,8 @@
3853
3662
  variants: method
3854
3663
  device_guard: False
3855
3664
  dispatch:
3856
- CPU: legacy::cpu::_th_set_
3857
- CUDA: legacy::cuda::_th_set_
3665
+ CPU: set_
3666
+ CUDA: set_
3858
3667
 
3859
3668
  - func: set_.source_Storage_storage_offset(Tensor(a!) self, Storage source, int storage_offset, int[] size, int[] stride=[]) -> Tensor(a!)
3860
3669
  variants: method
@@ -3865,7 +3674,6 @@
3865
3674
  QuantizedCPU: set_storage
3866
3675
 
3867
3676
  - func: set_.source_Tensor(Tensor(a!) self, Tensor source) -> Tensor(a!)
3868
- use_c10_dispatcher: unboxed_only
3869
3677
  variants: method
3870
3678
  device_guard: False
3871
3679
  dispatch:
@@ -3873,11 +3681,10 @@
3873
3681
  CUDA: legacy::cuda::_th_set_
3874
3682
 
3875
3683
  - func: set_(Tensor(a!) self) -> Tensor(a!)
3876
- use_c10_dispatcher: unboxed_only
3877
3684
  variants: method
3878
3685
  dispatch:
3879
- CPU: legacy::cpu::_th_set_
3880
- CUDA: legacy::cuda::_th_set_
3686
+ CPU: set_cpu_
3687
+ CUDA: set_cuda_
3881
3688
 
3882
3689
  - func: set_quantizer_(Tensor(a!) self, ConstQuantizerPtr quantizer) -> Tensor(a!)
3883
3690
  variants: method
@@ -3889,11 +3696,10 @@
3889
3696
  variants: method
3890
3697
  device_guard: False
3891
3698
  dispatch:
3892
- CPU: legacy::cpu::_th_is_set_to
3893
- CUDA: legacy::cuda::_th_is_set_to
3699
+ CPU: is_set_to
3700
+ CUDA: is_set_to
3894
3701
 
3895
3702
  - func: masked_fill_.Scalar(Tensor(a!) self, Tensor mask, Scalar value) -> Tensor(a!)
3896
- use_c10_dispatcher: unboxed_only
3897
3703
  variants: method
3898
3704
  dispatch:
3899
3705
  CPU: masked_fill__cpu
@@ -3906,7 +3712,6 @@
3906
3712
  supports_named_tensor: True
3907
3713
 
3908
3714
  - func: masked_fill_.Tensor(Tensor(a!) self, Tensor mask, Tensor value) -> Tensor(a!)
3909
- use_c10_dispatcher: unboxed_only
3910
3715
  variants: method
3911
3716
  dispatch:
3912
3717
  CPU: masked_fill__cpu
@@ -3919,7 +3724,6 @@
3919
3724
  supports_named_tensor: True
3920
3725
 
3921
3726
  - func: masked_scatter_(Tensor(a!) self, Tensor mask, Tensor source) -> Tensor(a!)
3922
- use_c10_dispatcher: unboxed_only
3923
3727
  variants: method
3924
3728
  dispatch:
3925
3729
  CPU: masked_scatter__cpu
@@ -3930,7 +3734,6 @@
3930
3734
  variants: function, method
3931
3735
 
3932
3736
  - func: view(Tensor(a) self, int[] size) -> Tensor(a)
3933
- use_c10_dispatcher: unboxed_only
3934
3737
  variants: method
3935
3738
  device_guard: False
3936
3739
  dispatch:
@@ -3940,17 +3743,15 @@
3940
3743
  QuantizedCPU: view
3941
3744
 
3942
3745
  - func: put_(Tensor(a!) self, Tensor index, Tensor source, bool accumulate=False) -> Tensor(a!)
3943
- use_c10_dispatcher: unboxed_only
3944
3746
  variants: method
3945
3747
  dispatch:
3946
3748
  CPU: legacy::cpu::_th_put_
3947
3749
  CUDA: legacy::cuda::_th_put_
3948
3750
 
3949
3751
  - func: index_add_(Tensor(a!) self, int dim, Tensor index, Tensor source) -> Tensor(a!)
3950
- use_c10_dispatcher: unboxed_only
3951
3752
  variants: method
3952
3753
  dispatch:
3953
- CPU: legacy::cpu::_th_index_add_
3754
+ CPU: index_add_cpu_
3954
3755
  CUDA: legacy::cuda::_th_index_add_
3955
3756
 
3956
3757
  - func: index_add(Tensor self, int dim, Tensor index, Tensor source) -> Tensor
@@ -3960,50 +3761,47 @@
3960
3761
  - func: index_add.dimname(Tensor self, Dimname dim, Tensor index, Tensor source) -> Tensor
3961
3762
  variants: function, method
3962
3763
 
3963
- - func: index_fill_.Scalar(Tensor(a!) self, int dim, Tensor index, Scalar value) -> Tensor(a!)
3964
- use_c10_dispatcher: unboxed_only
3764
+ - func: index_fill_.int_Scalar(Tensor(a!) self, int dim, Tensor index, Scalar value) -> Tensor(a!)
3965
3765
  variants: method
3966
3766
  supports_named_tensor: True
3967
3767
  dispatch:
3968
3768
  CPU: legacy::cpu::_th_index_fill_
3969
3769
  CUDA: legacy::cuda::_th_index_fill_
3970
3770
 
3971
- - func: index_fill.Scalar(Tensor self, int dim, Tensor index, Scalar value) -> Tensor
3771
+ - func: index_fill.int_Scalar(Tensor self, int dim, Tensor index, Scalar value) -> Tensor
3972
3772
  use_c10_dispatcher: full
3973
3773
  supports_named_tensor: True
3974
3774
  variants: function, method
3975
3775
 
3976
- - func: index_fill_.Tensor(Tensor(a!) self, int dim, Tensor index, Tensor value) -> Tensor(a!)
3977
- use_c10_dispatcher: unboxed_only
3776
+ - func: index_fill_.int_Tensor(Tensor(a!) self, int dim, Tensor index, Tensor value) -> Tensor(a!)
3978
3777
  variants: method
3979
3778
  dispatch:
3980
- CPU: legacy::cpu::_th_index_fill_
3981
- CUDA: legacy::cuda::_th_index_fill_
3779
+ CPU: index_fill_
3780
+ CUDA: index_fill_
3982
3781
  supports_named_tensor: True
3983
3782
 
3984
- - func: index_fill.Tensor(Tensor self, int dim, Tensor index, Tensor value) -> Tensor
3783
+ - func: index_fill.int_Tensor(Tensor self, int dim, Tensor index, Tensor value) -> Tensor
3985
3784
  use_c10_dispatcher: full
3986
3785
  variants: function, method
3987
3786
  supports_named_tensor: True
3988
3787
 
3989
- - func: index_fill_.dimname_Scalar(Tensor(a!) self, Dimname dim, Tensor index, Scalar value) -> Tensor(a!)
3788
+ - func: index_fill_.Dimname_Scalar(Tensor(a!) self, Dimname dim, Tensor index, Scalar value) -> Tensor(a!)
3990
3789
  variants: method
3991
3790
  supports_named_tensor: True
3992
3791
 
3993
- - func: index_fill_.dimname_Scalar(Tensor(a!) self, Dimname dim, Tensor index, Tensor value) -> Tensor(a!)
3792
+ - func: index_fill_.Dimname_Tensor(Tensor(a!) self, Dimname dim, Tensor index, Tensor value) -> Tensor(a!)
3994
3793
  variants: method
3995
3794
  supports_named_tensor: True
3996
3795
 
3997
- - func: index_fill.dimname_Scalar(Tensor self, Dimname dim, Tensor index, Scalar value) -> Tensor
3796
+ - func: index_fill.Dimname_Scalar(Tensor self, Dimname dim, Tensor index, Scalar value) -> Tensor
3998
3797
  variants: function, method
3999
3798
  supports_named_tensor: True
4000
3799
 
4001
- - func: index_fill.dimname_Tensor(Tensor self, Dimname dim, Tensor index, Tensor value) -> Tensor
3800
+ - func: index_fill.Dimname_Tensor(Tensor self, Dimname dim, Tensor index, Tensor value) -> Tensor
4002
3801
  variants: function, method
4003
3802
  supports_named_tensor: True
4004
3803
 
4005
3804
  - func: scatter_.src(Tensor(a!) self, int dim, Tensor index, Tensor src) -> Tensor(a!)
4006
- use_c10_dispatcher: unboxed_only
4007
3805
  variants: method
4008
3806
  dispatch:
4009
3807
  CPU: legacy::cpu::_th_scatter_
@@ -4014,7 +3812,6 @@
4014
3812
  variants: function, method
4015
3813
 
4016
3814
  - func: scatter_.value(Tensor(a!) self, int dim, Tensor index, Scalar value) -> Tensor(a!)
4017
- use_c10_dispatcher: unboxed_only
4018
3815
  variants: method
4019
3816
  dispatch:
4020
3817
  CPU: legacy::cpu::_th_scatter_
@@ -4031,7 +3828,6 @@
4031
3828
  variants: function, method
4032
3829
 
4033
3830
  - func: scatter_add_(Tensor(a!) self, int dim, Tensor index, Tensor src) -> Tensor(a!)
4034
- use_c10_dispatcher: unboxed_only
4035
3831
  variants: method
4036
3832
  dispatch:
4037
3833
  CPU: legacy::cpu::_th_scatter_add_
@@ -4045,51 +3841,39 @@
4045
3841
  variants: function, method
4046
3842
 
4047
3843
  - func: lt_.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
4048
- use_c10_dispatcher: unboxed_only
4049
3844
  variants: method
4050
3845
 
4051
3846
  - func: lt_.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
4052
- use_c10_dispatcher: unboxed_only
4053
3847
  variants: method
4054
3848
 
4055
3849
  - func: gt_.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
4056
- use_c10_dispatcher: unboxed_only
4057
3850
  variants: method
4058
3851
 
4059
3852
  - func: gt_.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
4060
- use_c10_dispatcher: unboxed_only
4061
3853
  variants: method
4062
3854
 
4063
3855
  - func: le_.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
4064
- use_c10_dispatcher: unboxed_only
4065
3856
  variants: method
4066
3857
 
4067
3858
  - func: le_.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
4068
- use_c10_dispatcher: unboxed_only
4069
3859
  variants: method
4070
3860
 
4071
3861
  - func: ge_.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
4072
- use_c10_dispatcher: unboxed_only
4073
3862
  variants: method
4074
3863
 
4075
3864
  - func: ge_.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
4076
- use_c10_dispatcher: unboxed_only
4077
3865
  variants: method
4078
3866
 
4079
3867
  - func: eq_.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
4080
- use_c10_dispatcher: unboxed_only
4081
3868
  variants: method
4082
3869
 
4083
3870
  - func: eq_.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
4084
- use_c10_dispatcher: unboxed_only
4085
3871
  variants: method
4086
3872
 
4087
3873
  - func: ne_.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
4088
- use_c10_dispatcher: unboxed_only
4089
3874
  variants: method
4090
3875
 
4091
3876
  - func: ne_.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
4092
- use_c10_dispatcher: unboxed_only
4093
3877
  variants: method
4094
3878
 
4095
3879
  - func: __and__.Scalar(Tensor self, Scalar other) -> Tensor
@@ -4107,14 +3891,12 @@
4107
3891
  CUDA: legacy::cuda::_th_and
4108
3892
 
4109
3893
  - func: __iand__.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
4110
- use_c10_dispatcher: unboxed_only
4111
3894
  variants: method
4112
3895
  dispatch:
4113
3896
  CPU: legacy::cpu::_th_iand_
4114
3897
  CUDA: legacy::cuda::_th_iand_
4115
3898
 
4116
3899
  - func: __iand__.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
4117
- use_c10_dispatcher: unboxed_only
4118
3900
  variants: method
4119
3901
  dispatch:
4120
3902
  CPU: legacy::cpu::_th_iand_
@@ -4135,46 +3917,54 @@
4135
3917
  CUDA: legacy::cuda::_th_or
4136
3918
 
4137
3919
  - func: __ior__.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
4138
- use_c10_dispatcher: unboxed_only
4139
3920
  variants: method
4140
3921
  dispatch:
4141
3922
  CPU: legacy::cpu::_th_ior_
4142
3923
  CUDA: legacy::cuda::_th_ior_
4143
3924
 
4144
3925
  - func: __ior__.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
4145
- use_c10_dispatcher: unboxed_only
4146
3926
  variants: method
4147
3927
  dispatch:
4148
3928
  CPU: legacy::cpu::_th_ior_
4149
3929
  CUDA: legacy::cuda::_th_ior_
4150
3930
 
3931
+ - func: bitwise_xor.Tensor_out(Tensor self, Tensor other, *, Tensor(a!) out) -> Tensor(a!)
3932
+ variants: function
3933
+ dispatch:
3934
+ CPU: bitwise_xor_out
3935
+ CUDA: bitwise_xor_out
3936
+
3937
+ - func: bitwise_xor.Scalar_out(Tensor self, Scalar other, *, Tensor(a!) out) -> Tensor(a!)
3938
+ variants: function
3939
+ dispatch:
3940
+ CPU: bitwise_xor_out
3941
+ CUDA: bitwise_xor_out
3942
+
3943
+ - func: bitwise_xor.Scalar(Tensor self, Scalar other) -> Tensor
3944
+ variants: method, function
3945
+
3946
+ - func: bitwise_xor.Tensor(Tensor self, Tensor other) -> Tensor
3947
+ variants: method, function
3948
+
3949
+ - func: bitwise_xor_.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
3950
+ variants: method
3951
+
3952
+ - func: bitwise_xor_.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
3953
+ variants: method
3954
+
4151
3955
  - func: __xor__.Scalar(Tensor self, Scalar other) -> Tensor
4152
3956
  use_c10_dispatcher: full
4153
3957
  variants: method, function
4154
- dispatch:
4155
- CPU: legacy::cpu::_th_xor
4156
- CUDA: legacy::cuda::_th_xor
4157
3958
 
4158
3959
  - func: __xor__.Tensor(Tensor self, Tensor other) -> Tensor
4159
3960
  use_c10_dispatcher: full
4160
3961
  variants: method, function
4161
- dispatch:
4162
- CPU: legacy::cpu::_th_xor
4163
- CUDA: legacy::cuda::_th_xor
4164
3962
 
4165
3963
  - func: __ixor__.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
4166
- use_c10_dispatcher: unboxed_only
4167
3964
  variants: method
4168
- dispatch:
4169
- CPU: legacy::cpu::_th_ixor_
4170
- CUDA: legacy::cuda::_th_ixor_
4171
3965
 
4172
3966
  - func: __ixor__.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
4173
- use_c10_dispatcher: unboxed_only
4174
3967
  variants: method
4175
- dispatch:
4176
- CPU: legacy::cpu::_th_ixor_
4177
- CUDA: legacy::cuda::_th_ixor_
4178
3968
 
4179
3969
  - func: __lshift__.Scalar(Tensor self, Scalar other) -> Tensor
4180
3970
  use_c10_dispatcher: full
@@ -4191,14 +3981,12 @@
4191
3981
  CUDA: legacy::cuda::_th_lshift
4192
3982
 
4193
3983
  - func: __ilshift__.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
4194
- use_c10_dispatcher: unboxed_only
4195
3984
  variants: method
4196
3985
  dispatch:
4197
3986
  CPU: legacy::cpu::_th_ilshift_
4198
3987
  CUDA: legacy::cuda::_th_ilshift_
4199
3988
 
4200
3989
  - func: __ilshift__.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
4201
- use_c10_dispatcher: unboxed_only
4202
3990
  variants: method
4203
3991
  dispatch:
4204
3992
  CPU: legacy::cpu::_th_ilshift_
@@ -4219,21 +4007,18 @@
4219
4007
  CUDA: legacy::cuda::_th_rshift
4220
4008
 
4221
4009
  - func: __irshift__.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
4222
- use_c10_dispatcher: unboxed_only
4223
4010
  variants: method
4224
4011
  dispatch:
4225
4012
  CPU: legacy::cpu::_th_irshift_
4226
4013
  CUDA: legacy::cuda::_th_irshift_
4227
4014
 
4228
4015
  - func: __irshift__.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
4229
- use_c10_dispatcher: unboxed_only
4230
4016
  variants: method
4231
4017
  dispatch:
4232
4018
  CPU: legacy::cpu::_th_irshift_
4233
4019
  CUDA: legacy::cuda::_th_irshift_
4234
4020
 
4235
4021
  - func: lgamma_(Tensor(a!) self) -> Tensor(a!)
4236
- use_c10_dispatcher: unboxed_only
4237
4022
  supports_named_tensor: True
4238
4023
  variants: method
4239
4024
  dispatch:
@@ -4241,43 +4026,36 @@
4241
4026
  CUDA: _lgamma__cuda
4242
4027
 
4243
4028
  - func: atan2_(Tensor(a!) self, Tensor other) -> Tensor(a!)
4244
- use_c10_dispatcher: unboxed_only
4245
4029
  supports_named_tensor: True
4246
4030
  variants: method
4247
4031
 
4248
4032
  - func: tril_(Tensor(a!) self, int diagonal=0) -> Tensor(a!)
4249
- use_c10_dispatcher: unboxed_only
4250
4033
  variants: method
4251
4034
  dispatch:
4252
4035
  CPU: tril_cpu_
4253
4036
  CUDA: tril_cuda_
4254
4037
 
4255
4038
  - func: triu_(Tensor(a!) self, int diagonal=0) -> Tensor(a!)
4256
- use_c10_dispatcher: unboxed_only
4257
4039
  variants: method
4258
4040
  dispatch:
4259
4041
  CPU: triu_cpu_
4260
4042
  CUDA: triu_cuda_
4261
4043
 
4262
4044
  - func: digamma_(Tensor(a!) self) -> Tensor(a!)
4263
- use_c10_dispatcher: unboxed_only
4264
4045
  supports_named_tensor: True
4265
4046
  variants: method
4266
4047
 
4267
4048
  - func: polygamma_(Tensor(a!) self, int n) -> Tensor(a!)
4268
- use_c10_dispatcher: unboxed_only
4269
4049
  supports_named_tensor: True
4270
4050
  variants: method
4271
4051
 
4272
4052
  - func: renorm_(Tensor(a!) self, Scalar p, int dim, Scalar maxnorm) -> Tensor(a!)
4273
- use_c10_dispatcher: unboxed_only
4274
4053
  variants: method
4275
4054
  dispatch:
4276
4055
  CPU: legacy::cpu::_th_renorm_
4277
4056
  CUDA: legacy::cuda::_th_renorm_
4278
4057
 
4279
4058
  - func: pow_.Scalar(Tensor(a!) self, Scalar exponent) -> Tensor(a!)
4280
- use_c10_dispatcher: unboxed_only
4281
4059
  supports_named_tensor: True
4282
4060
  variants: method
4283
4061
  dispatch:
@@ -4285,7 +4063,6 @@
4285
4063
  CUDA: pow_
4286
4064
 
4287
4065
  - func: pow_.Tensor(Tensor(a!) self, Tensor exponent) -> Tensor(a!)
4288
- use_c10_dispatcher: unboxed_only
4289
4066
  supports_named_tensor: True
4290
4067
  variants: method
4291
4068
  dispatch:
@@ -4293,49 +4070,42 @@
4293
4070
  CUDA: pow_
4294
4071
 
4295
4072
  - func: lerp_.Scalar(Tensor(a!) self, Tensor end, Scalar weight) -> Tensor(a!)
4296
- use_c10_dispatcher: unboxed_only
4297
4073
  variants: method
4298
4074
  dispatch:
4299
4075
  CPU: lerp_cpu_scalar_
4300
4076
  CUDA: lerp_cuda_scalar_
4301
4077
 
4302
4078
  - func: lerp_.Tensor(Tensor(a!) self, Tensor end, Tensor weight) -> Tensor(a!)
4303
- use_c10_dispatcher: unboxed_only
4304
4079
  variants: method
4305
4080
  dispatch:
4306
4081
  CPU: lerp_cpu_tensor_
4307
4082
  CUDA: lerp_cuda_tensor_
4308
4083
 
4309
4084
  - func: fmod_.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
4310
- use_c10_dispatcher: unboxed_only
4311
4085
  variants: method
4312
4086
  dispatch:
4313
4087
  CPU: legacy::cpu::_th_fmod_
4314
4088
  CUDA: legacy::cuda::_th_fmod_
4315
4089
 
4316
4090
  - func: fmod_.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
4317
- use_c10_dispatcher: unboxed_only
4318
4091
  variants: method
4319
4092
  dispatch:
4320
4093
  CPU: legacy::cpu::_th_fmod_
4321
4094
  CUDA: legacy::cuda::_th_fmod_
4322
4095
 
4323
4096
  - func: remainder_.Scalar(Tensor(a!) self, Scalar other) -> Tensor(a!)
4324
- use_c10_dispatcher: unboxed_only
4325
4097
  variants: method
4326
4098
  dispatch:
4327
4099
  CPU: legacy::cpu::_th_remainder_
4328
4100
  CUDA: legacy::cuda::_th_remainder_
4329
4101
 
4330
4102
  - func: remainder_.Tensor(Tensor(a!) self, Tensor other) -> Tensor(a!)
4331
- use_c10_dispatcher: unboxed_only
4332
4103
  variants: method
4333
4104
  dispatch:
4334
4105
  CPU: legacy::cpu::_th_remainder_
4335
4106
  CUDA: legacy::cuda::_th_remainder_
4336
4107
 
4337
4108
  - func: addbmm_(Tensor(a!) self, Tensor batch1, Tensor batch2, *, Scalar beta=1, Scalar alpha=1) -> Tensor(a!)
4338
- use_c10_dispatcher: unboxed_only
4339
4109
  variants: method
4340
4110
  dispatch:
4341
4111
  CPU: legacy::cpu::_th_addbmm_
@@ -4354,11 +4124,10 @@
4354
4124
  CUDA: legacy::cuda::_th_addbmm
4355
4125
 
4356
4126
  - func: addcdiv_(Tensor(a!) self, Tensor tensor1, Tensor tensor2, *, Scalar value=1) -> Tensor(a!)
4357
- use_c10_dispatcher: unboxed_only
4358
4127
  variants: method
4128
+ supports_named_tensor: True
4359
4129
 
4360
4130
  - func: random_.from(Tensor(a!) self, int from, int to, *, Generator? generator=None) -> Tensor(a!)
4361
- use_c10_dispatcher: 'unboxed_only'
4362
4131
  variants: method
4363
4132
  dispatch:
4364
4133
  CPU: legacy::cpu::_th_random_
@@ -4366,7 +4135,6 @@
4366
4135
  supports_named_tensor: True
4367
4136
 
4368
4137
  - func: random_.to(Tensor(a!) self, int to, *, Generator? generator=None) -> Tensor(a!)
4369
- use_c10_dispatcher: 'unboxed_only'
4370
4138
  variants: method
4371
4139
  dispatch:
4372
4140
  CPU: legacy::cpu::_th_random_
@@ -4374,7 +4142,6 @@
4374
4142
  supports_named_tensor: True
4375
4143
 
4376
4144
  - func: random_(Tensor(a!) self, *, Generator? generator=None) -> Tensor(a!)
4377
- use_c10_dispatcher: 'unboxed_only'
4378
4145
  variants: method
4379
4146
  dispatch:
4380
4147
  CPU: legacy::cpu::_th_random_
@@ -4382,7 +4149,6 @@
4382
4149
  supports_named_tensor: True
4383
4150
 
4384
4151
  - func: uniform_(Tensor(a!) self, float from=0, float to=1, *, Generator? generator=None) -> Tensor(a!)
4385
- use_c10_dispatcher: 'unboxed_only'
4386
4152
  variants: method
4387
4153
  dispatch:
4388
4154
  CPU: legacy::cpu::_th_uniform_
@@ -4390,7 +4156,6 @@
4390
4156
  supports_named_tensor: True
4391
4157
 
4392
4158
  - func: normal_(Tensor(a!) self, float mean=0, float std=1, *, Generator? generator=None) -> Tensor(a!)
4393
- use_c10_dispatcher: 'unboxed_only'
4394
4159
  variants: method
4395
4160
  dispatch:
4396
4161
  CPU: legacy::cpu::_th_normal_
@@ -4398,7 +4163,6 @@
4398
4163
  supports_named_tensor: True
4399
4164
 
4400
4165
  - func: cauchy_(Tensor(a!) self, float median=0, float sigma=1, *, Generator? generator=None) -> Tensor(a!)
4401
- use_c10_dispatcher: 'unboxed_only'
4402
4166
  variants: method
4403
4167
  dispatch:
4404
4168
  CPU: legacy::cpu::_th_cauchy_
@@ -4406,7 +4170,6 @@
4406
4170
  supports_named_tensor: True
4407
4171
 
4408
4172
  - func: log_normal_(Tensor(a!) self, float mean=1, float std=2, *, Generator? generator=None) -> Tensor(a!)
4409
- use_c10_dispatcher: 'unboxed_only'
4410
4173
  variants: method
4411
4174
  dispatch:
4412
4175
  CPU: legacy::cpu::_th_log_normal_
@@ -4414,7 +4177,6 @@
4414
4177
  supports_named_tensor: True
4415
4178
 
4416
4179
  - func: exponential_(Tensor(a!) self, float lambd=1, *, Generator? generator=None) -> Tensor(a!)
4417
- use_c10_dispatcher: 'unboxed_only'
4418
4180
  variants: method
4419
4181
  dispatch:
4420
4182
  CPU: legacy::cpu::_th_exponential_
@@ -4422,7 +4184,6 @@
4422
4184
  supports_named_tensor: True
4423
4185
 
4424
4186
  - func: geometric_(Tensor(a!) self, float p, *, Generator? generator=None) -> Tensor(a!)
4425
- use_c10_dispatcher: 'unboxed_only'
4426
4187
  variants: method
4427
4188
  dispatch:
4428
4189
  CPU: legacy::cpu::_th_geometric_
@@ -4734,7 +4495,6 @@
4734
4495
  CUDA: legacy::cuda::_th_nonzero
4735
4496
 
4736
4497
  - func: nonzero_numpy(Tensor self) -> Tensor[]
4737
- use_c10_dispatcher: unboxed_only
4738
4498
  variants: method, function
4739
4499
 
4740
4500
  - func: gather.out(Tensor self, int dim, Tensor index, *, bool sparse_grad=False, Tensor(a!) out) -> Tensor(a!)
@@ -4758,20 +4518,24 @@
4758
4518
  use_c10_dispatcher: full
4759
4519
 
4760
4520
  - func: addcmul.out(Tensor self, Tensor tensor1, Tensor tensor2, *, Scalar value=1, Tensor(a!) out) -> Tensor(a!)
4521
+ supports_named_tensor: True
4761
4522
 
4762
4523
  - func: addcmul(Tensor self, Tensor tensor1, Tensor tensor2, *, Scalar value=1) -> Tensor
4763
4524
  use_c10_dispatcher: full
4764
4525
  variants: method, function
4526
+ supports_named_tensor: True
4765
4527
 
4766
4528
  - func: addcmul_(Tensor(a!) self, Tensor tensor1, Tensor tensor2, *, Scalar value=1) -> Tensor(a!)
4767
- use_c10_dispatcher: unboxed_only
4768
4529
  variants: method
4530
+ supports_named_tensor: True
4769
4531
 
4770
4532
  - func: addcdiv.out(Tensor self, Tensor tensor1, Tensor tensor2, *, Scalar value=1, Tensor(a!) out) -> Tensor(a!)
4533
+ supports_named_tensor: True
4771
4534
 
4772
4535
  - func: addcdiv(Tensor self, Tensor tensor1, Tensor tensor2, *, Scalar value=1) -> Tensor
4773
4536
  use_c10_dispatcher: full
4774
4537
  variants: method, function
4538
+ supports_named_tensor: True
4775
4539
 
4776
4540
  - func: lstsq.X(Tensor self, Tensor A, *, Tensor(a!) X, Tensor(b!) qr) -> (Tensor(a!) solution, Tensor(b!) QR)
4777
4541
  dispatch:
@@ -4779,7 +4543,6 @@
4779
4543
  CUDA: legacy::cuda::_th_gels_out
4780
4544
 
4781
4545
  - func: lstsq(Tensor self, Tensor A) -> (Tensor solution, Tensor QR)
4782
- use_c10_dispatcher: unboxed_only
4783
4546
  variants: method, function
4784
4547
  dispatch:
4785
4548
  CPU: legacy::cpu::_th_gels
@@ -4788,11 +4551,9 @@
4788
4551
  - func: triangular_solve.X(Tensor self, Tensor A, bool upper=True, bool transpose=False, bool unitriangular=False, *, Tensor(a!) X, Tensor(b!) M) -> (Tensor(a!) solution, Tensor(b!) cloned_coefficient)
4789
4552
 
4790
4553
  - func: triangular_solve(Tensor self, Tensor A, bool upper=True, bool transpose=False, bool unitriangular=False) -> (Tensor solution, Tensor cloned_coefficient)
4791
- use_c10_dispatcher: unboxed_only
4792
4554
  variants: method, function
4793
4555
 
4794
4556
  - func: _triangular_solve_helper(Tensor self, Tensor A, bool upper, bool transpose, bool unitriangular) -> (Tensor, Tensor)
4795
- use_c10_dispatcher: unboxed_only
4796
4557
  variants: function
4797
4558
  dispatch:
4798
4559
  CPU: _triangular_solve_helper_cpu
@@ -4801,11 +4562,9 @@
4801
4562
  - func: symeig.e(Tensor self, bool eigenvectors=False, bool upper=True, *, Tensor(a!) e, Tensor(b!) V) -> (Tensor(a!) eigenvalues, Tensor(b!) eigenvectors)
4802
4563
 
4803
4564
  - func: symeig(Tensor self, bool eigenvectors=False, bool upper=True) -> (Tensor eigenvalues, Tensor eigenvectors)
4804
- use_c10_dispatcher: unboxed_only
4805
4565
  variants: method, function
4806
4566
 
4807
4567
  - func: _symeig_helper(Tensor self, bool eigenvectors, bool upper) -> (Tensor, Tensor)
4808
- use_c10_dispatcher: unboxed_only
4809
4568
  variants: function
4810
4569
  dispatch:
4811
4570
  CPU: _symeig_helper_cpu
@@ -4817,7 +4576,6 @@
4817
4576
  CUDA: legacy::cuda::_th_eig_out
4818
4577
 
4819
4578
  - func: eig(Tensor self, bool eigenvectors=False) -> (Tensor eigenvalues, Tensor eigenvectors)
4820
- use_c10_dispatcher: unboxed_only
4821
4579
  variants: method, function
4822
4580
  dispatch:
4823
4581
  CPU: legacy::cpu::_th_eig
@@ -4826,11 +4584,9 @@
4826
4584
  - func: svd.U(Tensor self, bool some=True, bool compute_uv=True, *, Tensor(a!) U, Tensor(b!) S, Tensor(c!) V) -> (Tensor(a!) U, Tensor(b!) S, Tensor(c!) V)
4827
4585
 
4828
4586
  - func: svd(Tensor self, bool some=True, bool compute_uv=True) -> (Tensor U, Tensor S, Tensor V)
4829
- use_c10_dispatcher: unboxed_only
4830
4587
  variants: method, function
4831
4588
 
4832
4589
  - func: _svd_helper(Tensor self, bool some, bool compute_uv) -> (Tensor, Tensor, Tensor)
4833
- use_c10_dispatcher: unboxed_only
4834
4590
  variants: function
4835
4591
  dispatch:
4836
4592
  CPU: _svd_helper_cpu
@@ -4863,13 +4619,11 @@
4863
4619
  CUDA: _cholesky_solve_helper_cuda
4864
4620
 
4865
4621
  - func: solve(Tensor self, Tensor A) -> (Tensor solution, Tensor LU)
4866
- use_c10_dispatcher: unboxed_only
4867
4622
  variants: function, method
4868
4623
 
4869
4624
  - func: solve.solution(Tensor self, Tensor A, *, Tensor(a!) solution, Tensor(b!) lu) -> (Tensor(a!) solution, Tensor(b!) LU)
4870
4625
 
4871
4626
  - func: _solve_helper(Tensor self, Tensor A) -> (Tensor, Tensor)
4872
- use_c10_dispatcher: unboxed_only
4873
4627
  variants: function
4874
4628
  dispatch:
4875
4629
  CPU: _solve_helper_cpu
@@ -4890,11 +4644,9 @@
4890
4644
  - func: qr.Q(Tensor self, bool some=True, *, Tensor(a!) Q, Tensor(b!) R) -> (Tensor(a!) Q, Tensor(b!) R)
4891
4645
 
4892
4646
  - func: qr(Tensor self, bool some=True) -> (Tensor Q, Tensor R)
4893
- use_c10_dispatcher: unboxed_only
4894
4647
  variants: method, function
4895
4648
 
4896
4649
  - func: _qr_helper(Tensor self, bool some) -> (Tensor, Tensor)
4897
- use_c10_dispatcher: unboxed_only
4898
4650
  variants: function
4899
4651
  dispatch:
4900
4652
  CPU: _qr_helper_cpu
@@ -4906,7 +4658,6 @@
4906
4658
  CUDA: legacy::cuda::_th_geqrf_out
4907
4659
 
4908
4660
  - func: geqrf(Tensor self) -> (Tensor a, Tensor tau)
4909
- use_c10_dispatcher: unboxed_only
4910
4661
  variants: method, function
4911
4662
  dispatch:
4912
4663
  CPU: legacy::cpu::_th_geqrf
@@ -4933,7 +4684,6 @@
4933
4684
  CPU: legacy::cpu::_th_ormqr
4934
4685
 
4935
4686
  - func: _lu_with_info(Tensor self, bool pivot=True, bool check_errors=True) -> (Tensor, Tensor, Tensor)
4936
- use_c10_dispatcher: unboxed_only
4937
4687
  variants: function
4938
4688
  dispatch:
4939
4689
  CPU: _lu_with_info_cpu
@@ -4959,21 +4709,18 @@
4959
4709
  CUDA: multinomial_out
4960
4710
 
4961
4711
  - func: multinomial(Tensor self, int num_samples, bool replacement=False, *, Generator? generator=None) -> Tensor
4962
- use_c10_dispatcher: 'unboxed_only'
4963
4712
  variants: method, function
4964
4713
  dispatch:
4965
4714
  CPU: multinomial
4966
4715
  CUDA: multinomial
4967
4716
 
4968
4717
  - func: _multinomial_alias_setup(Tensor probs) -> (Tensor, Tensor)
4969
- use_c10_dispatcher: unboxed_only
4970
4718
  variants: function
4971
4719
  dispatch:
4972
4720
  CPU: legacy::cpu::_th_multinomial_alias_setup
4973
4721
  CUDA: legacy::cuda::_th_multinomial_alias_setup
4974
4722
 
4975
4723
  - func: _multinomial_alias_draw(Tensor J, Tensor q, int num_samples, *, Generator? generator=None) -> Tensor
4976
- use_c10_dispatcher: 'unboxed_only'
4977
4724
  variants: function
4978
4725
  dispatch:
4979
4726
  CPU: legacy::cpu::_th_multinomial_alias_draw
@@ -5018,7 +4765,6 @@
5018
4765
  CUDA: erfinv
5019
4766
 
5020
4767
  - func: erfinv_(Tensor(a!) self) -> Tensor(a!)
5021
- use_c10_dispatcher: unboxed_only
5022
4768
  supports_named_tensor: True
5023
4769
  variants: method
5024
4770
  dispatch:
@@ -5032,12 +4778,10 @@
5032
4778
  CUDA: _erfinv_out_cuda
5033
4779
 
5034
4780
  - func: sign(Tensor self) -> Tensor
5035
- use_c10_dispatcher: unboxed_only
5036
4781
  variants: function, method
5037
4782
  supports_named_tensor: True
5038
4783
 
5039
4784
  - func: sign_(Tensor(a!) self) -> Tensor(a!)
5040
- use_c10_dispatcher: unboxed_only
5041
4785
  variants: method
5042
4786
  supports_named_tensor: True
5043
4787
 
@@ -5202,7 +4946,6 @@
5202
4946
  CUDA: legacy::cuda::_th_sort_out
5203
4947
 
5204
4948
  - func: sort(Tensor self, int dim=-1, bool descending=False) -> (Tensor values, Tensor indices)
5205
- use_c10_dispatcher: unboxed_only
5206
4949
  variants: method, function
5207
4950
  dispatch:
5208
4951
  CPU: legacy::cpu::_th_sort
@@ -5227,7 +4970,6 @@
5227
4970
  CUDA: legacy::cuda::_th_topk_out
5228
4971
 
5229
4972
  - func: topk(Tensor self, int k, int dim=-1, bool largest=True, bool sorted=True) -> (Tensor values, Tensor indices)
5230
- use_c10_dispatcher: unboxed_only
5231
4973
  variants: method, function
5232
4974
  dispatch:
5233
4975
  CPU: topk
@@ -5257,11 +4999,11 @@
5257
4999
  CUDA: legacy::cuda::_th_renorm
5258
5000
 
5259
5001
  - func: unfold(Tensor(a) self, int dimension, int size, int step) -> Tensor(a)
5260
- use_c10_dispatcher: unboxed_only
5261
5002
  variants: method
5003
+ device_guard: False
5262
5004
  dispatch:
5263
- CPU: legacy::cpu::_th_unfold
5264
- CUDA: legacy::cuda::_th_unfold
5005
+ CPU: unfold
5006
+ CUDA: unfold
5265
5007
 
5266
5008
  - func: equal(Tensor self, Tensor other) -> bool
5267
5009
  use_c10_dispatcher: full
@@ -5270,6 +5012,7 @@
5270
5012
  CPU: legacy::cpu::_th_equal
5271
5013
  CUDA: legacy::cuda::_th_equal
5272
5014
  QuantizedCPU: quantized_equal
5015
+ supports_named_tensor: True
5273
5016
 
5274
5017
  - func: pow.Tensor_Tensor_out(Tensor self, Tensor exponent, *, Tensor(a!) out) -> Tensor(a!)
5275
5018
  supports_named_tensor: True
@@ -5304,7 +5047,6 @@
5304
5047
  CUDA: normal_out_cuda
5305
5048
 
5306
5049
  - func: normal.Tensor_float(Tensor mean, float std=1, *, Generator? generator=None) -> Tensor
5307
- use_c10_dispatcher: 'unboxed_only'
5308
5050
  dispatch:
5309
5051
  CPU: legacy::cpu::_th_normal
5310
5052
  CUDA: normal_cuda
@@ -5315,7 +5057,6 @@
5315
5057
  CUDA: normal_out_cuda
5316
5058
 
5317
5059
  - func: normal.float_Tensor(float mean, Tensor std, *, Generator? generator=None) -> Tensor
5318
- use_c10_dispatcher: 'unboxed_only'
5319
5060
  dispatch:
5320
5061
  CPU: legacy::cpu::_th_normal
5321
5062
  CUDA: normal_cuda
@@ -5326,7 +5067,6 @@
5326
5067
  CUDA: normal_out_cuda
5327
5068
 
5328
5069
  - func: normal.Tensor_Tensor(Tensor mean, Tensor std, *, Generator? generator=None) -> Tensor
5329
- use_c10_dispatcher: 'unboxed_only'
5330
5070
  dispatch:
5331
5071
  CPU: legacy::cpu::_th_normal
5332
5072
  CUDA: normal_cuda
@@ -5336,7 +5076,6 @@
5336
5076
  - func: normal.float_float_out(float mean, float std, int[] size, *, Generator? generator=None, Tensor(a!) out) -> Tensor(a!)
5337
5077
 
5338
5078
  - func: alias(Tensor(a) self) -> Tensor(a)
5339
- use_c10_dispatcher: unboxed_only
5340
5079
  variants: method, function
5341
5080
  supports_named_tensor: True
5342
5081
 
@@ -5347,7 +5086,6 @@
5347
5086
  CUDA: legacy::cuda::_th_addr
5348
5087
 
5349
5088
  - func: _addr_(Tensor(a!) self, Tensor vec1, Tensor vec2, *, Scalar beta=1, Scalar alpha=1) -> Tensor(a!)
5350
- use_c10_dispatcher: unboxed_only
5351
5089
  dispatch:
5352
5090
  CPU: legacy::cpu::_th_addr_
5353
5091
  CUDA: legacy::cuda::_th_addr_
@@ -5358,7 +5096,6 @@
5358
5096
  CUDA: legacy::cuda::_th_addr_out
5359
5097
 
5360
5098
  - func: _index_copy_(Tensor(a!) self, int dim, Tensor index, Tensor source) -> Tensor(a!)
5361
- use_c10_dispatcher: unboxed_only
5362
5099
  dispatch:
5363
5100
  CPU: legacy::cpu::_th_index_copy_
5364
5101
  CUDA: legacy::cuda::_th_index_copy_
@@ -5400,7 +5137,6 @@
5400
5137
  supports_named_tensor: True
5401
5138
 
5402
5139
  - func: _cat(Tensor[] tensors, int dim=0) -> Tensor
5403
- use_c10_dispatcher: unboxed_only
5404
5140
  dispatch:
5405
5141
  CPU: legacy::cpu::_th_cat
5406
5142
  CUDA: legacy::cuda::_th_cat
@@ -5411,7 +5147,6 @@
5411
5147
  CUDA: legacy::cuda::_th_cat_out
5412
5148
 
5413
5149
  - func: _mode(Tensor self, int dim=-1, bool keepdim=False) -> (Tensor, Tensor)
5414
- use_c10_dispatcher: unboxed_only
5415
5150
  dispatch:
5416
5151
  CPU: legacy::cpu::_th_mode
5417
5152
  CUDA: legacy::cuda::_th_mode
@@ -5422,7 +5157,6 @@
5422
5157
  CUDA: legacy::cuda::_th_mode_out
5423
5158
 
5424
5159
  - func: _max(Tensor self, int dim, bool keepdim=False) -> (Tensor, Tensor)
5425
- use_c10_dispatcher: unboxed_only
5426
5160
  dispatch:
5427
5161
  CPU: legacy::cpu::_th_max
5428
5162
  CUDA: legacy::cuda::_th_max
@@ -5433,7 +5167,6 @@
5433
5167
  CUDA: legacy::cuda::_th_max_out
5434
5168
 
5435
5169
  - func: _min(Tensor self, int dim, bool keepdim=False) -> (Tensor, Tensor)
5436
- use_c10_dispatcher: unboxed_only
5437
5170
  dispatch:
5438
5171
  CPU: legacy::cpu::_th_min
5439
5172
  CUDA: legacy::cuda::_th_min
@@ -5471,78 +5204,63 @@
5471
5204
 
5472
5205
  - func: mse_loss.out(Tensor self, Tensor target, int reduction=Mean, *, Tensor(a!) out) -> Tensor(a!)
5473
5206
  python_module: nn
5474
- dispatch:
5475
- CPU: legacy::cpu::_thnn_mse_loss_forward_out
5476
- CUDA: legacy::cuda::_thnn_mse_loss_forward_out
5477
5207
 
5478
5208
  - func: mse_loss(Tensor self, Tensor target, int reduction=Mean) -> Tensor
5479
5209
  use_c10_dispatcher: full
5480
5210
  python_module: nn
5481
- dispatch:
5482
- CPU: legacy::cpu::_thnn_mse_loss_forward
5483
- CUDA: legacy::cuda::_thnn_mse_loss_forward
5484
5211
 
5485
5212
  - func: mse_loss_backward.grad_input(Tensor grad_output, Tensor self, Tensor target, int reduction, *, Tensor(a!) grad_input) -> Tensor(a!)
5486
5213
  python_module: nn
5487
5214
  dispatch:
5488
- CPU: legacy::cpu::_thnn_mse_loss_backward_out
5489
- CUDA: legacy::cuda::_thnn_mse_loss_backward_out
5215
+ CPU: mse_loss_backward_out
5216
+ CUDA: mse_loss_backward_out
5490
5217
 
5491
5218
  - func: mse_loss_backward(Tensor grad_output, Tensor self, Tensor target, int reduction) -> Tensor
5492
5219
  use_c10_dispatcher: full
5493
5220
  python_module: nn
5494
5221
  dispatch:
5495
- CPU: legacy::cpu::_thnn_mse_loss_backward
5496
- CUDA: legacy::cuda::_thnn_mse_loss_backward
5222
+ CPU: mse_loss_backward
5223
+ CUDA: mse_loss_backward
5497
5224
 
5498
5225
  - func: l1_loss.out(Tensor self, Tensor target, int reduction=Mean, *, Tensor(a!) out) -> Tensor(a!)
5499
5226
  python_module: nn
5500
- dispatch:
5501
- CPU: legacy::cpu::_thnn_l1_loss_forward_out
5502
- CUDA: legacy::cuda::_thnn_l1_loss_forward_out
5503
5227
 
5504
5228
  - func: l1_loss(Tensor self, Tensor target, int reduction=Mean) -> Tensor
5505
5229
  use_c10_dispatcher: full
5506
5230
  python_module: nn
5507
- dispatch:
5508
- CPU: legacy::cpu::_thnn_l1_loss_forward
5509
- CUDA: legacy::cuda::_thnn_l1_loss_forward
5510
5231
 
5511
5232
  - func: l1_loss_backward.grad_input(Tensor grad_output, Tensor self, Tensor target, int reduction, *, Tensor(a!) grad_input) -> Tensor(a!)
5512
5233
  python_module: nn
5513
5234
  dispatch:
5514
- CPU: legacy::cpu::_thnn_l1_loss_backward_out
5515
- CUDA: legacy::cuda::_thnn_l1_loss_backward_out
5235
+ CPU: l1_loss_backward_out
5236
+ CUDA: l1_loss_backward_out
5516
5237
 
5517
5238
  - func: l1_loss_backward(Tensor grad_output, Tensor self, Tensor target, int reduction) -> Tensor
5518
5239
  use_c10_dispatcher: full
5519
5240
  python_module: nn
5520
- dispatch:
5521
- CPU: legacy::cpu::_thnn_l1_loss_backward
5522
- CUDA: legacy::cuda::_thnn_l1_loss_backward
5523
5241
 
5524
5242
  - func: multi_margin_loss.out(Tensor self, Tensor target, Scalar p=1, Scalar margin=1, Tensor? weight=None, int reduction=Mean, *, Tensor(a!) out) -> Tensor(a!)
5525
5243
  python_module: nn
5526
5244
  dispatch:
5527
- CPU: legacy::cpu::_thnn_multi_margin_loss_forward_out
5245
+ CPU: multi_margin_loss_cpu_out
5528
5246
  CUDA: legacy::cuda::_thnn_multi_margin_loss_forward_out
5529
5247
 
5530
5248
  - func: multi_margin_loss(Tensor self, Tensor target, Scalar p=1, Scalar margin=1, Tensor? weight=None, int reduction=Mean) -> Tensor
5531
5249
  python_module: nn
5532
5250
  dispatch:
5533
- CPU: legacy::cpu::_thnn_multi_margin_loss_forward
5251
+ CPU: multi_margin_loss_cpu
5534
5252
  CUDA: legacy::cuda::_thnn_multi_margin_loss_forward
5535
5253
 
5536
5254
  - func: multi_margin_loss_backward.grad_input(Tensor grad_output, Tensor self, Tensor target, Scalar p, Scalar margin, Tensor? weight=None, int reduction=Mean, *, Tensor(a!) grad_input) -> Tensor(a!)
5537
5255
  python_module: nn
5538
5256
  dispatch:
5539
- CPU: legacy::cpu::_thnn_multi_margin_loss_backward_out
5257
+ CPU: multi_margin_loss_cpu_backward_out
5540
5258
  CUDA: legacy::cuda::_thnn_multi_margin_loss_backward_out
5541
5259
 
5542
5260
  - func: multi_margin_loss_backward(Tensor grad_output, Tensor self, Tensor target, Scalar p, Scalar margin, Tensor? weight=None, int reduction=Mean) -> Tensor
5543
5261
  python_module: nn
5544
5262
  dispatch:
5545
- CPU: legacy::cpu::_thnn_multi_margin_loss_backward
5263
+ CPU: multi_margin_loss_cpu_backward
5546
5264
  CUDA: legacy::cuda::_thnn_multi_margin_loss_backward
5547
5265
 
5548
5266
  - func: multilabel_margin_loss.out(Tensor self, Tensor target, int reduction=Mean, *, Tensor(a!) out) -> Tensor(a!)
@@ -5555,27 +5273,26 @@
5555
5273
  - func: multilabel_margin_loss_forward.output(Tensor self, Tensor target, int reduction, *, Tensor(a!) output, Tensor(b!) is_target) -> (Tensor(a!), Tensor(b!))
5556
5274
  python_module: nn
5557
5275
  dispatch:
5558
- CPU: legacy::cpu::_thnn_multilabel_margin_loss_forward_out
5276
+ CPU: multilabel_margin_loss_forward_out_cpu
5559
5277
  CUDA: legacy::cuda::_thnn_multilabel_margin_loss_forward_out
5560
5278
 
5561
5279
  - func: multilabel_margin_loss_forward(Tensor self, Tensor target, int reduction) -> (Tensor output, Tensor is_target)
5562
- use_c10_dispatcher: unboxed_only
5563
5280
  python_module: nn
5564
5281
  dispatch:
5565
- CPU: legacy::cpu::_thnn_multilabel_margin_loss_forward
5282
+ CPU: multilabel_margin_loss_forward_cpu
5566
5283
  CUDA: legacy::cuda::_thnn_multilabel_margin_loss_forward
5567
5284
 
5568
5285
  - func: multilabel_margin_loss_backward.grad_input(Tensor grad_output, Tensor self, Tensor target, int reduction, Tensor is_target, *, Tensor(a!) grad_input) -> Tensor(a!)
5569
5286
  python_module: nn
5570
5287
  dispatch:
5571
- CPU: legacy::cpu::_thnn_multilabel_margin_loss_backward_out
5288
+ CPU: multilabel_margin_loss_backward_cpu_out
5572
5289
  CUDA: legacy::cuda::_thnn_multilabel_margin_loss_backward_out
5573
5290
 
5574
5291
  - func: multilabel_margin_loss_backward(Tensor grad_output, Tensor self, Tensor target, int reduction, Tensor is_target) -> Tensor
5575
5292
  use_c10_dispatcher: full
5576
5293
  python_module: nn
5577
5294
  dispatch:
5578
- CPU: legacy::cpu::_thnn_multilabel_margin_loss_backward
5295
+ CPU: multilabel_margin_loss_backward_cpu
5579
5296
  CUDA: legacy::cuda::_thnn_multilabel_margin_loss_backward
5580
5297
 
5581
5298
  - func: nll_loss.out(Tensor self, Tensor target, Tensor? weight=None, int reduction=Mean, int ignore_index=-100, *, Tensor(a!) out) -> Tensor(a!)
@@ -5587,25 +5304,25 @@
5587
5304
  - func: nll_loss_forward.output(Tensor self, Tensor target, Tensor? weight, int reduction, int ignore_index, *, Tensor(a!) output, Tensor(b!) total_weight) -> (Tensor(a!), Tensor(b!))
5588
5305
  python_module: nn
5589
5306
  dispatch:
5590
- CPU: legacy::cpu::_thnn_nll_loss_forward_out
5307
+ CPU: nll_loss_forward_out_cpu
5591
5308
  CUDA: legacy::cuda::_thnn_nll_loss_forward_out
5592
5309
 
5593
5310
  - func: nll_loss_forward(Tensor self, Tensor target, Tensor? weight, int reduction, int ignore_index) -> (Tensor output, Tensor total_weight)
5594
5311
  python_module: nn
5595
5312
  dispatch:
5596
- CPU: legacy::cpu::_thnn_nll_loss_forward
5313
+ CPU: nll_loss_forward_cpu
5597
5314
  CUDA: legacy::cuda::_thnn_nll_loss_forward
5598
5315
 
5599
5316
  - func: nll_loss_backward.grad_input(Tensor grad_output, Tensor self, Tensor target, Tensor? weight, int reduction, int ignore_index, Tensor total_weight, *, Tensor(a!) grad_input) -> Tensor(a!)
5600
5317
  python_module: nn
5601
5318
  dispatch:
5602
- CPU: legacy::cpu::_thnn_nll_loss_backward_out
5319
+ CPU: nll_loss_backward_out_cpu
5603
5320
  CUDA: legacy::cuda::_thnn_nll_loss_backward_out
5604
5321
 
5605
5322
  - func: nll_loss_backward(Tensor grad_output, Tensor self, Tensor target, Tensor? weight, int reduction, int ignore_index, Tensor total_weight) -> Tensor
5606
5323
  python_module: nn
5607
5324
  dispatch:
5608
- CPU: legacy::cpu::_thnn_nll_loss_backward
5325
+ CPU: nll_loss_backward_cpu
5609
5326
  CUDA: legacy::cuda::_thnn_nll_loss_backward
5610
5327
 
5611
5328
  - func: nll_loss2d.out(Tensor self, Tensor target, Tensor? weight=None, int reduction=Mean, int ignore_index=-100, *, Tensor(a!) out) -> Tensor(a!)
@@ -5617,52 +5334,46 @@
5617
5334
  - func: nll_loss2d_forward.output(Tensor self, Tensor target, Tensor? weight, int reduction, int ignore_index, *, Tensor(a!) output, Tensor(b!) total_weight) -> (Tensor(a!), Tensor(b!))
5618
5335
  python_module: nn
5619
5336
  dispatch:
5620
- CPU: legacy::cpu::_thnn_nll_loss2d_forward_out
5337
+ CPU: nll_loss2d_forward_out_cpu
5621
5338
  CUDA: legacy::cuda::_thnn_nll_loss2d_forward_out
5622
5339
 
5623
5340
  - func: nll_loss2d_forward(Tensor self, Tensor target, Tensor? weight, int reduction, int ignore_index) -> (Tensor output, Tensor total_weight)
5624
5341
  python_module: nn
5625
5342
  dispatch:
5626
- CPU: legacy::cpu::_thnn_nll_loss2d_forward
5343
+ CPU: nll_loss2d_forward_cpu
5627
5344
  CUDA: legacy::cuda::_thnn_nll_loss2d_forward
5628
5345
 
5629
5346
  - func: nll_loss2d_backward.grad_input(Tensor grad_output, Tensor self, Tensor target, Tensor? weight, int reduction, int ignore_index, Tensor total_weight, *, Tensor(a!) grad_input) -> Tensor(a!)
5630
5347
  python_module: nn
5631
5348
  dispatch:
5632
- CPU: legacy::cpu::_thnn_nll_loss2d_backward_out
5349
+ CPU: nll_loss2d_backward_out_cpu
5633
5350
  CUDA: legacy::cuda::_thnn_nll_loss2d_backward_out
5634
5351
 
5635
5352
  - func: nll_loss2d_backward(Tensor grad_output, Tensor self, Tensor target, Tensor? weight, int reduction, int ignore_index, Tensor total_weight) -> Tensor
5636
5353
  python_module: nn
5637
5354
  dispatch:
5638
- CPU: legacy::cpu::_thnn_nll_loss2d_backward
5355
+ CPU: nll_loss2d_backward_cpu
5639
5356
  CUDA: legacy::cuda::_thnn_nll_loss2d_backward
5640
5357
 
5641
5358
  - func: smooth_l1_loss.out(Tensor self, Tensor target, int reduction=Mean, *, Tensor(a!) out) -> Tensor(a!)
5642
5359
  python_module: nn
5643
5360
  dispatch:
5644
- CPU: legacy::cpu::_thnn_smooth_l1_loss_forward_out
5645
- CUDA: legacy::cuda::_thnn_smooth_l1_loss_forward_out
5361
+ CPU: smooth_l1_loss_out
5362
+ CUDA: smooth_l1_loss_out
5646
5363
 
5647
5364
  - func: smooth_l1_loss(Tensor self, Tensor target, int reduction=Mean) -> Tensor
5648
5365
  use_c10_dispatcher: full
5649
5366
  python_module: nn
5650
- dispatch:
5651
- CPU: legacy::cpu::_thnn_smooth_l1_loss_forward
5652
- CUDA: legacy::cuda::_thnn_smooth_l1_loss_forward
5653
5367
 
5654
5368
  - func: smooth_l1_loss_backward.grad_input(Tensor grad_output, Tensor self, Tensor target, int reduction, *, Tensor(a!) grad_input) -> Tensor(a!)
5655
5369
  python_module: nn
5656
5370
  dispatch:
5657
- CPU: legacy::cpu::_thnn_smooth_l1_loss_backward_out
5658
- CUDA: legacy::cuda::_thnn_smooth_l1_loss_backward_out
5371
+ CPU: smooth_l1_loss_backward_out
5372
+ CUDA: smooth_l1_loss_backward_out
5659
5373
 
5660
5374
  - func: smooth_l1_loss_backward(Tensor grad_output, Tensor self, Tensor target, int reduction) -> Tensor
5661
5375
  use_c10_dispatcher: full
5662
5376
  python_module: nn
5663
- dispatch:
5664
- CPU: legacy::cpu::_thnn_smooth_l1_loss_backward
5665
- CUDA: legacy::cuda::_thnn_smooth_l1_loss_backward
5666
5377
 
5667
5378
  - func: soft_margin_loss.out(Tensor self, Tensor target, int reduction=Mean, *, Tensor(a!) out) -> Tensor(a!)
5668
5379
  python_module: nn
@@ -5717,7 +5428,6 @@
5717
5428
  CUDA: legacy::cuda::_thnn_elu_backward
5718
5429
 
5719
5430
  - func: elu_(Tensor(a!) self, Scalar alpha=1, Scalar scale=1, Scalar input_scale=1) -> Tensor(a!)
5720
- use_c10_dispatcher: unboxed_only
5721
5431
  python_module: nn
5722
5432
  dispatch:
5723
5433
  CPU: legacy::cpu::_thnn_elu_forward_
@@ -5776,7 +5486,6 @@
5776
5486
  CUDA: legacy::cuda::_thnn_hardtanh_backward
5777
5487
 
5778
5488
  - func: hardtanh_(Tensor(a!) self, Scalar min_val=-1, Scalar max_val=1) -> Tensor(a!)
5779
- use_c10_dispatcher: unboxed_only
5780
5489
  python_module: nn
5781
5490
  dispatch:
5782
5491
  CPU: legacy::cpu::_thnn_hardtanh_forward_
@@ -5809,7 +5518,6 @@
5809
5518
  CUDA: legacy::cuda::_thnn_leaky_relu_backward
5810
5519
 
5811
5520
  - func: leaky_relu_(Tensor(a!) self, Scalar negative_slope=0.01) -> Tensor(a!)
5812
- use_c10_dispatcher: unboxed_only
5813
5521
  python_module: nn
5814
5522
  dispatch:
5815
5523
  CPU: legacy::cpu::_thnn_leaky_relu_forward_
@@ -5829,7 +5537,6 @@
5829
5537
  CUDA: legacy::cuda::_thnn_log_sigmoid_forward_out
5830
5538
 
5831
5539
  - func: log_sigmoid_forward(Tensor self) -> (Tensor output, Tensor buffer)
5832
- use_c10_dispatcher: unboxed_only
5833
5540
  python_module: nn
5834
5541
  dispatch:
5835
5542
  CPU: legacy::cpu::_thnn_log_sigmoid_forward
@@ -5855,7 +5562,6 @@
5855
5562
  CUDA: legacy::cuda::_thnn_rrelu_with_noise_forward_out
5856
5563
 
5857
5564
  - func: rrelu_with_noise(Tensor self, Tensor noise, Scalar lower=0.125, Scalar upper=0.3333333333333333, bool training=False, Generator? generator=None) -> Tensor
5858
- use_c10_dispatcher: 'unboxed_only'
5859
5565
  python_module: nn
5860
5566
  dispatch:
5861
5567
  CPU: legacy::cpu::_thnn_rrelu_with_noise_forward
@@ -5875,7 +5581,6 @@
5875
5581
  CUDA: legacy::cuda::_thnn_rrelu_with_noise_backward
5876
5582
 
5877
5583
  - func: rrelu_with_noise_(Tensor(a!) self, Tensor noise, Scalar lower=0.125, Scalar upper=0.3333333333333333, bool training=False, Generator? generator=None) -> Tensor(a!)
5878
- use_c10_dispatcher: 'unboxed_only'
5879
5584
  python_module: nn
5880
5585
  dispatch:
5881
5586
  CPU: legacy::cpu::_thnn_rrelu_with_noise_forward_
@@ -5941,17 +5646,14 @@
5941
5646
  MkldnnCPU: mkldnn_adaptive_avg_pool2d_out
5942
5647
 
5943
5648
  - func: adaptive_avg_pool2d(Tensor self, int[2] output_size) -> Tensor
5944
- use_c10_dispatcher: unboxed_only
5945
5649
  python_module: nn
5946
5650
 
5947
5651
  - func: mkldnn_adaptive_avg_pool2d(Tensor self, int[2] output_size) -> Tensor
5948
- use_c10_dispatcher: unboxed_only
5949
5652
  dispatch:
5950
5653
  MkldnnCPU: mkldnn_adaptive_avg_pool2d
5951
5654
  requires_tensor: True
5952
5655
 
5953
5656
  - func: _adaptive_avg_pool2d(Tensor self, int[2] output_size) -> Tensor
5954
- use_c10_dispatcher: unboxed_only
5955
5657
  dispatch:
5956
5658
  CPU: adaptive_avg_pool2d_cpu
5957
5659
  CUDA: adaptive_avg_pool2d_cuda
@@ -5971,7 +5673,6 @@
5971
5673
  CUDA: adaptive_avg_pool3d_out_cuda
5972
5674
 
5973
5675
  - func: adaptive_avg_pool3d(Tensor self, int[3] output_size) -> Tensor
5974
- use_c10_dispatcher: unboxed_only
5975
5676
  python_module: nn
5976
5677
  dispatch:
5977
5678
  CPU: adaptive_avg_pool3d_cpu
@@ -5999,7 +5700,6 @@
5999
5700
 
6000
5701
  # Return: (Tensor output, Tensor indices)
6001
5702
  - func: adaptive_max_pool2d(Tensor self, int[2] output_size) -> (Tensor, Tensor)
6002
- use_c10_dispatcher: unboxed_only
6003
5703
  python_module: nn
6004
5704
  dispatch:
6005
5705
  CPU: adaptive_max_pool2d_cpu
@@ -6027,7 +5727,6 @@
6027
5727
 
6028
5728
  # Return: (Tensor output, Tensor indices)
6029
5729
  - func: adaptive_max_pool3d(Tensor self, int[3] output_size) -> (Tensor, Tensor)
6030
- use_c10_dispatcher: unboxed_only
6031
5730
  python_module: nn
6032
5731
  dispatch:
6033
5732
  CPU: adaptive_max_pool3d_cpu
@@ -6054,7 +5753,6 @@
6054
5753
  MkldnnCPU: mkldnn_avg_pool2d_out
6055
5754
 
6056
5755
  - func: avg_pool2d(Tensor self, int[2] kernel_size, int[2] stride=[], int[2] padding=0, bool ceil_mode=False, bool count_include_pad=True, int? divisor_override=None) -> Tensor
6057
- use_c10_dispatcher: unboxed_only
6058
5756
  python_module: nn
6059
5757
  dispatch:
6060
5758
  CPU: avg_pool2d_cpu
@@ -6069,7 +5767,6 @@
6069
5767
  CUDA: avg_pool2d_backward_out_cuda
6070
5768
 
6071
5769
  - func: avg_pool2d_backward(Tensor grad_output, Tensor self, int[2] kernel_size, int[2] stride, int[2] padding, bool ceil_mode, bool count_include_pad, int? divisor_override) -> Tensor
6072
- use_c10_dispatcher: unboxed_only
6073
5770
  python_module: nn
6074
5771
  dispatch:
6075
5772
  CPU: avg_pool2d_backward_cpu
@@ -6082,7 +5779,6 @@
6082
5779
  CUDA: avg_pool3d_out_cuda
6083
5780
 
6084
5781
  - func: avg_pool3d(Tensor self, int[3] kernel_size, int[3] stride=[], int[3] padding=0, bool ceil_mode=False, bool count_include_pad=True, int? divisor_override=None) -> Tensor
6085
- use_c10_dispatcher: unboxed_only
6086
5782
  python_module: nn
6087
5783
  dispatch:
6088
5784
  CPU: avg_pool3d_cpu
@@ -6095,7 +5791,6 @@
6095
5791
  CUDA: avg_pool3d_backward_out_cuda
6096
5792
 
6097
5793
  - func: avg_pool3d_backward(Tensor grad_output, Tensor self, int[3] kernel_size, int[3] stride, int[3] padding, bool ceil_mode, bool count_include_pad, int? divisor_override) -> Tensor
6098
- use_c10_dispatcher: unboxed_only
6099
5794
  python_module: nn
6100
5795
  dispatch:
6101
5796
  CPU: avg_pool3d_backward_cpu
@@ -6110,7 +5805,6 @@
6110
5805
 
6111
5806
  # Return: (Tensor output, Tensor indices)
6112
5807
  - func: fractional_max_pool2d(Tensor self, int[2] kernel_size, int[2] output_size, Tensor random_samples) -> (Tensor, Tensor)
6113
- use_c10_dispatcher: unboxed_only
6114
5808
  python_module: nn
6115
5809
  dispatch:
6116
5810
  CPU: fractional_max_pool2d_cpu
@@ -6123,7 +5817,6 @@
6123
5817
  CUDA: fractional_max_pool2d_backward_out_cuda
6124
5818
 
6125
5819
  - func: fractional_max_pool2d_backward(Tensor grad_output, Tensor self, int[2] kernel_size, int[2] output_size, Tensor indices) -> Tensor
6126
- use_c10_dispatcher: unboxed_only
6127
5820
  python_module: nn
6128
5821
  dispatch:
6129
5822
  CPU: fractional_max_pool2d_backward_cpu
@@ -6138,7 +5831,6 @@
6138
5831
 
6139
5832
  # Return: (Tensor output, Tensor indices)
6140
5833
  - func: fractional_max_pool3d(Tensor self, int[3] kernel_size, int[3] output_size, Tensor random_samples) -> (Tensor, Tensor)
6141
- use_c10_dispatcher: unboxed_only
6142
5834
  python_module: nn
6143
5835
  dispatch:
6144
5836
  CPU: fractional_max_pool3d_cpu
@@ -6151,7 +5843,6 @@
6151
5843
  CUDA: fractional_max_pool3d_backward_out_cuda
6152
5844
 
6153
5845
  - func: fractional_max_pool3d_backward(Tensor grad_output, Tensor self, int[3] kernel_size, int[3] output_size, Tensor indices) -> Tensor
6154
- use_c10_dispatcher: unboxed_only
6155
5846
  python_module: nn
6156
5847
  dispatch:
6157
5848
  CPU: fractional_max_pool3d_backward_cpu
@@ -6166,7 +5857,6 @@
6166
5857
 
6167
5858
  # Return: (Tensor output, Tensor indices)
6168
5859
  - func: max_pool2d_with_indices(Tensor self, int[2] kernel_size, int[2] stride=[], int[2] padding=0, int[2] dilation=1, bool ceil_mode=False) -> (Tensor, Tensor)
6169
- use_c10_dispatcher: unboxed_only
6170
5860
  python_module: nn
6171
5861
  dispatch:
6172
5862
  CPU: max_pool2d_with_indices_cpu
@@ -6179,7 +5869,6 @@
6179
5869
  CUDA: max_pool2d_with_indices_backward_out_cuda
6180
5870
 
6181
5871
  - func: max_pool2d_with_indices_backward(Tensor grad_output, Tensor self, int[2] kernel_size, int[2] stride, int[2] padding, int[2] dilation, bool ceil_mode, Tensor indices) -> Tensor
6182
- use_c10_dispatcher: unboxed_only
6183
5872
  python_module: nn
6184
5873
  dispatch:
6185
5874
  CPU: max_pool2d_with_indices_backward_cpu
@@ -6194,7 +5883,6 @@
6194
5883
 
6195
5884
  # Return: (Tensor output, Tensor indices)
6196
5885
  - func: max_pool3d_with_indices(Tensor self, int[3] kernel_size, int[3] stride=[], int[3] padding=0, int[3] dilation=1, bool ceil_mode=False) -> (Tensor, Tensor)
6197
- use_c10_dispatcher: unboxed_only
6198
5886
  python_module: nn
6199
5887
  dispatch:
6200
5888
  CPU: max_pool3d_with_indices_cpu
@@ -6207,7 +5895,6 @@
6207
5895
  CUDA: max_pool3d_with_indices_backward_out_cuda
6208
5896
 
6209
5897
  - func: max_pool3d_with_indices_backward(Tensor grad_output, Tensor self, int[3] kernel_size, int[3] stride, int[3] padding, int[3] dilation, bool ceil_mode, Tensor indices) -> Tensor
6210
- use_c10_dispatcher: unboxed_only
6211
5898
  python_module: nn
6212
5899
  dispatch:
6213
5900
  CPU: max_pool3d_with_indices_backward_cpu
@@ -6220,7 +5907,6 @@
6220
5907
  CUDA: max_unpooling2d_forward_out_cuda
6221
5908
 
6222
5909
  - func: max_unpool2d(Tensor self, Tensor indices, int[2] output_size) -> Tensor
6223
- use_c10_dispatcher: unboxed_only
6224
5910
  python_module: nn
6225
5911
  dispatch:
6226
5912
  CPU: max_unpooling2d_forward_cpu
@@ -6233,7 +5919,6 @@
6233
5919
  CUDA: max_unpooling2d_backward_out_cuda
6234
5920
 
6235
5921
  - func: max_unpool2d_backward(Tensor grad_output, Tensor self, Tensor indices, int[2] output_size) -> Tensor
6236
- use_c10_dispatcher: unboxed_only
6237
5922
  python_module: nn
6238
5923
  dispatch:
6239
5924
  CPU: max_unpooling2d_backward_cpu
@@ -6246,7 +5931,6 @@
6246
5931
  CUDA: max_unpooling3d_forward_out_cuda
6247
5932
 
6248
5933
  - func: max_unpool3d(Tensor self, Tensor indices, int[3] output_size, int[3] stride, int[3] padding) -> Tensor
6249
- use_c10_dispatcher: unboxed_only
6250
5934
  python_module: nn
6251
5935
  dispatch:
6252
5936
  CPU: max_unpooling3d_forward_cpu
@@ -6259,7 +5943,6 @@
6259
5943
  CUDA: max_unpooling3d_backward_out_cuda
6260
5944
 
6261
5945
  - func: max_unpool3d_backward(Tensor grad_output, Tensor self, Tensor indices, int[3] output_size, int[3] stride, int[3] padding) -> Tensor
6262
- use_c10_dispatcher: unboxed_only
6263
5946
  python_module: nn
6264
5947
  dispatch:
6265
5948
  CPU: max_unpooling3d_backward_cpu
@@ -6272,7 +5955,6 @@
6272
5955
  CUDA: reflection_pad1d_out_cuda
6273
5956
 
6274
5957
  - func: reflection_pad1d(Tensor self, int[2] padding) -> Tensor
6275
- use_c10_dispatcher: unboxed_only
6276
5958
  python_module: nn
6277
5959
  dispatch:
6278
5960
  CPU: reflection_pad1d_cpu
@@ -6285,7 +5967,6 @@
6285
5967
  CUDA: reflection_pad1d_backward_out_cuda
6286
5968
 
6287
5969
  - func: reflection_pad1d_backward(Tensor grad_output, Tensor self, int[2] padding) -> Tensor
6288
- use_c10_dispatcher: unboxed_only
6289
5970
  python_module: nn
6290
5971
  dispatch:
6291
5972
  CPU: reflection_pad1d_backward_cpu
@@ -6298,7 +5979,6 @@
6298
5979
  CUDA: reflection_pad2d_out_cuda
6299
5980
 
6300
5981
  - func: reflection_pad2d(Tensor self, int[4] padding) -> Tensor
6301
- use_c10_dispatcher: unboxed_only
6302
5982
  python_module: nn
6303
5983
  dispatch:
6304
5984
  CPU: reflection_pad2d_cpu
@@ -6311,7 +5991,6 @@
6311
5991
  CUDA: reflection_pad2d_backward_out_cuda
6312
5992
 
6313
5993
  - func: reflection_pad2d_backward(Tensor grad_output, Tensor self, int[4] padding) -> Tensor
6314
- use_c10_dispatcher: unboxed_only
6315
5994
  python_module: nn
6316
5995
  dispatch:
6317
5996
  CPU: reflection_pad2d_backward_cpu
@@ -6324,7 +6003,6 @@
6324
6003
  CUDA: replication_pad1d_out_cuda
6325
6004
 
6326
6005
  - func: replication_pad1d(Tensor self, int[2] padding) -> Tensor
6327
- use_c10_dispatcher: unboxed_only
6328
6006
  python_module: nn
6329
6007
  dispatch:
6330
6008
  CPU: replication_pad1d_cpu
@@ -6337,7 +6015,6 @@
6337
6015
  CUDA: replication_pad1d_backward_out_cuda
6338
6016
 
6339
6017
  - func: replication_pad1d_backward(Tensor grad_output, Tensor self, int[2] padding) -> Tensor
6340
- use_c10_dispatcher: unboxed_only
6341
6018
  python_module: nn
6342
6019
  dispatch:
6343
6020
  CPU: replication_pad1d_backward_cpu
@@ -6350,7 +6027,6 @@
6350
6027
  CUDA: replication_pad2d_out_cuda
6351
6028
 
6352
6029
  - func: replication_pad2d(Tensor self, int[4] padding) -> Tensor
6353
- use_c10_dispatcher: unboxed_only
6354
6030
  python_module: nn
6355
6031
  dispatch:
6356
6032
  CPU: replication_pad2d_cpu
@@ -6363,7 +6039,6 @@
6363
6039
  CUDA: replication_pad2d_backward_out_cuda
6364
6040
 
6365
6041
  - func: replication_pad2d_backward(Tensor grad_output, Tensor self, int[4] padding) -> Tensor
6366
- use_c10_dispatcher: unboxed_only
6367
6042
  python_module: nn
6368
6043
  dispatch:
6369
6044
  CPU: replication_pad2d_backward_cpu
@@ -6376,7 +6051,6 @@
6376
6051
  CUDA: replication_pad3d_out_cuda
6377
6052
 
6378
6053
  - func: replication_pad3d(Tensor self, int[6] padding) -> Tensor
6379
- use_c10_dispatcher: unboxed_only
6380
6054
  python_module: nn
6381
6055
  dispatch:
6382
6056
  CPU: replication_pad3d_cpu
@@ -6389,12 +6063,14 @@
6389
6063
  CUDA: replication_pad3d_backward_out_cuda
6390
6064
 
6391
6065
  - func: replication_pad3d_backward(Tensor grad_output, Tensor self, int[6] padding) -> Tensor
6392
- use_c10_dispatcher: unboxed_only
6393
6066
  python_module: nn
6394
6067
  dispatch:
6395
6068
  CPU: replication_pad3d_backward_cpu
6396
6069
  CUDA: replication_pad3d_backward_cuda
6397
6070
 
6071
+ - func: _test_optional_float(Tensor self, *, float? scale=None) -> Tensor
6072
+ variants: function
6073
+
6398
6074
  - func: upsample_linear1d.out(Tensor self, int[1] output_size, bool align_corners, *, Tensor(a!) out) -> Tensor(a!)
6399
6075
  python_module: nn
6400
6076
  dispatch:
@@ -6402,7 +6078,6 @@
6402
6078
  CUDA: upsample_linear1d_out_cuda
6403
6079
 
6404
6080
  - func: upsample_linear1d(Tensor self, int[1] output_size, bool align_corners) -> Tensor
6405
- use_c10_dispatcher: unboxed_only
6406
6081
  python_module: nn
6407
6082
  dispatch:
6408
6083
  CPU: upsample_linear1d_cpu
@@ -6415,7 +6090,6 @@
6415
6090
  CUDA: upsample_linear1d_backward_out_cuda
6416
6091
 
6417
6092
  - func: upsample_linear1d_backward(Tensor grad_output, int[1] output_size, int[3] input_size, bool align_corners) -> Tensor
6418
- use_c10_dispatcher: unboxed_only
6419
6093
  python_module: nn
6420
6094
  dispatch:
6421
6095
  CPU: upsample_linear1d_backward_cpu
@@ -6428,7 +6102,6 @@
6428
6102
  CUDA: upsample_bilinear2d_out_cuda
6429
6103
 
6430
6104
  - func: upsample_bilinear2d(Tensor self, int[2] output_size, bool align_corners) -> Tensor
6431
- use_c10_dispatcher: unboxed_only
6432
6105
  python_module: nn
6433
6106
  dispatch:
6434
6107
  CPU: upsample_bilinear2d_cpu
@@ -6442,7 +6115,6 @@
6442
6115
  CUDA: upsample_bilinear2d_backward_out_cuda
6443
6116
 
6444
6117
  - func: upsample_bilinear2d_backward(Tensor grad_output, int[2] output_size, int[4] input_size, bool align_corners) -> Tensor
6445
- use_c10_dispatcher: unboxed_only
6446
6118
  python_module: nn
6447
6119
  dispatch:
6448
6120
  CPU: upsample_bilinear2d_backward_cpu
@@ -6455,7 +6127,6 @@
6455
6127
  CUDA: upsample_bicubic2d_out_cuda
6456
6128
 
6457
6129
  - func: upsample_bicubic2d(Tensor self, int[2] output_size, bool align_corners) -> Tensor
6458
- use_c10_dispatcher: unboxed_only
6459
6130
  python_module: nn
6460
6131
  dispatch:
6461
6132
  CPU: upsample_bicubic2d_cpu
@@ -6468,7 +6139,6 @@
6468
6139
  CUDA: upsample_bicubic2d_backward_out_cuda
6469
6140
 
6470
6141
  - func: upsample_bicubic2d_backward(Tensor grad_output, int[2] output_size, int[4] input_size, bool align_corners) -> Tensor
6471
- use_c10_dispatcher: unboxed_only
6472
6142
  python_module: nn
6473
6143
  dispatch:
6474
6144
  CPU: upsample_bicubic2d_backward_cpu
@@ -6481,7 +6151,6 @@
6481
6151
  CUDA: upsample_trilinear3d_out_cuda
6482
6152
 
6483
6153
  - func: upsample_trilinear3d(Tensor self, int[3] output_size, bool align_corners) -> Tensor
6484
- use_c10_dispatcher: unboxed_only
6485
6154
  python_module: nn
6486
6155
  dispatch:
6487
6156
  CPU: upsample_trilinear3d_cpu
@@ -6494,7 +6163,6 @@
6494
6163
  CUDA: upsample_trilinear3d_backward_out_cuda
6495
6164
 
6496
6165
  - func: upsample_trilinear3d_backward(Tensor grad_output, int[3] output_size, int[5] input_size, bool align_corners) -> Tensor
6497
- use_c10_dispatcher: unboxed_only
6498
6166
  python_module: nn
6499
6167
  dispatch:
6500
6168
  CPU: upsample_trilinear3d_backward_cpu
@@ -6507,7 +6175,6 @@
6507
6175
  CUDA: upsample_nearest1d_out_cuda
6508
6176
 
6509
6177
  - func: upsample_nearest1d(Tensor self, int[1] output_size) -> Tensor
6510
- use_c10_dispatcher: unboxed_only
6511
6178
  python_module: nn
6512
6179
  dispatch:
6513
6180
  CPU: upsample_nearest1d_cpu
@@ -6520,7 +6187,6 @@
6520
6187
  CUDA: upsample_nearest1d_backward_out_cuda
6521
6188
 
6522
6189
  - func: upsample_nearest1d_backward(Tensor grad_output, int[1] output_size, int[3] input_size) -> Tensor
6523
- use_c10_dispatcher: unboxed_only
6524
6190
  python_module: nn
6525
6191
  dispatch:
6526
6192
  CPU: upsample_nearest1d_backward_cpu
@@ -6533,7 +6199,6 @@
6533
6199
  CUDA: upsample_nearest2d_out_cuda
6534
6200
 
6535
6201
  - func: upsample_nearest2d(Tensor self, int[2] output_size) -> Tensor
6536
- use_c10_dispatcher: unboxed_only
6537
6202
  python_module: nn
6538
6203
  dispatch:
6539
6204
  CPU: upsample_nearest2d_cpu
@@ -6547,7 +6212,6 @@
6547
6212
  CUDA: upsample_nearest2d_backward_out_cuda
6548
6213
 
6549
6214
  - func: upsample_nearest2d_backward(Tensor grad_output, int[2] output_size, int[4] input_size) -> Tensor
6550
- use_c10_dispatcher: unboxed_only
6551
6215
  python_module: nn
6552
6216
  dispatch:
6553
6217
  CPU: upsample_nearest2d_backward_cpu
@@ -6560,7 +6224,6 @@
6560
6224
  CUDA: upsample_nearest3d_out_cuda
6561
6225
 
6562
6226
  - func: upsample_nearest3d(Tensor self, int[3] output_size) -> Tensor
6563
- use_c10_dispatcher: unboxed_only
6564
6227
  python_module: nn
6565
6228
  dispatch:
6566
6229
  CPU: upsample_nearest3d_cpu
@@ -6573,7 +6236,6 @@
6573
6236
  CUDA: upsample_nearest3d_backward_out_cuda
6574
6237
 
6575
6238
  - func: upsample_nearest3d_backward(Tensor grad_output, int[3] output_size, int[5] input_size) -> Tensor
6576
- use_c10_dispatcher: unboxed_only
6577
6239
  python_module: nn
6578
6240
  dispatch:
6579
6241
  CPU: upsample_nearest3d_backward_cpu
@@ -6582,15 +6244,12 @@
6582
6244
  - func: sigmoid_backward.grad_input(Tensor grad_output, Tensor output, *, Tensor(a!) grad_input) -> Tensor(a!)
6583
6245
  python_module: nn
6584
6246
  dispatch:
6585
- CPU: legacy::cpu::_thnn_sigmoid_backward_out
6586
- CUDA: legacy::cuda::_thnn_sigmoid_backward_out
6247
+ CPU: sigmoid_backward_out
6248
+ CUDA: sigmoid_backward_out
6587
6249
 
6588
6250
  - func: sigmoid_backward(Tensor grad_output, Tensor output) -> Tensor
6589
6251
  use_c10_dispatcher: full
6590
6252
  python_module: nn
6591
- dispatch:
6592
- CPU: legacy::cpu::_thnn_sigmoid_backward
6593
- CUDA: legacy::cuda::_thnn_sigmoid_backward
6594
6253
 
6595
6254
  - func: tanh_backward.grad_input(Tensor grad_output, Tensor output, *, Tensor(a!) grad_input) -> Tensor(a!)
6596
6255
  python_module: nn
@@ -6635,14 +6294,13 @@
6635
6294
  CPU: slow_conv_transpose2d_cpu
6636
6295
  CUDA: slow_conv_transpose2d_cuda
6637
6296
 
6638
- - func: slow_conv_transpose2d_backward.grad_output(Tensor grad_output, Tensor self, Tensor weight, int[2] kernel_size, int[2] stride, int[2] padding, int[2] output_padding, int[2] dilation, Tensor columns, Tensor ones, *, Tensor?(a!) grad_input, Tensor?(b!) grad_weight, Tensor?(c!) grad_bias) -> (Tensor(a!), Tensor(b!), Tensor(c!))
6297
+ - func: slow_conv_transpose2d_backward.grad_output(Tensor grad_output, Tensor self, Tensor weight, int[2] kernel_size, int[2] stride, int[2] padding, int[2] output_padding, int[2] dilation, Tensor columns, Tensor ones, *, Tensor(a!)? grad_input, Tensor(b!)? grad_weight, Tensor(c!)? grad_bias) -> (Tensor(a!), Tensor(b!), Tensor(c!))
6639
6298
  python_module: nn
6640
6299
  dispatch:
6641
6300
  CPU: slow_conv_transpose2d_backward_out_cpu
6642
6301
  CUDA: slow_conv_transpose2d_backward_out_cuda
6643
6302
 
6644
6303
  - func: slow_conv_transpose2d_backward.output_mask(Tensor grad_output, Tensor self, Tensor weight, int[2] kernel_size, int[2] stride, int[2] padding, int[2] output_padding, int[2] dilation, Tensor columns, Tensor ones, bool[3] output_mask) -> (Tensor grad_input, Tensor grad_weight, Tensor grad_bias)
6645
- use_c10_dispatcher: unboxed_only
6646
6304
  python_module: nn
6647
6305
  dispatch:
6648
6306
  CPU: slow_conv_transpose2d_backward_cpu
@@ -6660,14 +6318,13 @@
6660
6318
  CPU: slow_conv_transpose3d_cpu
6661
6319
  CUDA: slow_conv_transpose3d_cuda
6662
6320
 
6663
- - func: slow_conv_transpose3d_backward.grad_output(Tensor grad_output, Tensor self, Tensor weight, int[3] kernel_size, int[3] stride, int[3] padding, int[3] output_padding, int[3] dilation, Tensor finput, Tensor fgrad_input, *, Tensor?(a!) grad_input, Tensor?(b!) grad_weight, Tensor?(c!) grad_bias) -> (Tensor(a!), Tensor(b!), Tensor(c!))
6321
+ - func: slow_conv_transpose3d_backward.grad_output(Tensor grad_output, Tensor self, Tensor weight, int[3] kernel_size, int[3] stride, int[3] padding, int[3] output_padding, int[3] dilation, Tensor finput, Tensor fgrad_input, *, Tensor(a!)? grad_input, Tensor(b!)? grad_weight, Tensor(c!)? grad_bias) -> (Tensor(a!), Tensor(b!), Tensor(c!))
6664
6322
  python_module: nn
6665
6323
  dispatch:
6666
6324
  CPU: slow_conv_transpose3d_backward_out_cpu
6667
6325
  CUDA: slow_conv_transpose3d_backward_out_cuda
6668
6326
 
6669
6327
  - func: slow_conv_transpose3d_backward.output_mask(Tensor grad_output, Tensor self, Tensor weight, int[3] kernel_size, int[3] stride, int[3] padding, int[3] output_padding, int[3] dilation, Tensor finput, Tensor fgrad_input, bool[3] output_mask) -> (Tensor grad_input, Tensor grad_weight, Tensor grad_bias)
6670
- use_c10_dispatcher: unboxed_only
6671
6328
  python_module: nn
6672
6329
  dispatch:
6673
6330
  CPU: slow_conv_transpose3d_backward_cpu
@@ -6682,26 +6339,25 @@
6682
6339
  - func: thnn_conv2d_forward.output(Tensor self, Tensor weight, int[2] kernel_size, Tensor? bias, int[2] stride, int[2] padding, *, Tensor(a!) output, Tensor(b!) finput, Tensor(c!) fgrad_input) -> (Tensor(a!), Tensor(b!), Tensor(c!))
6683
6340
  python_module: nn
6684
6341
  dispatch:
6685
- CPU: legacy::cpu::_thnn_conv2d_forward_out
6342
+ CPU: slow_conv2d_forward_out_cpu
6686
6343
  CUDA: legacy::cuda::_thnn_conv2d_forward_out
6687
6344
 
6688
6345
  - func: thnn_conv2d_forward(Tensor self, Tensor weight, int[2] kernel_size, Tensor? bias, int[2] stride, int[2] padding) -> (Tensor output, Tensor finput, Tensor fgrad_input)
6689
6346
  python_module: nn
6690
6347
  dispatch:
6691
- CPU: legacy::cpu::_thnn_conv2d_forward
6348
+ CPU: slow_conv2d_forward_cpu
6692
6349
  CUDA: legacy::cuda::_thnn_conv2d_forward
6693
6350
 
6694
- - func: thnn_conv2d_backward.grad_input(Tensor grad_output, Tensor self, Tensor weight, int[2] kernel_size, int[2] stride, int[2] padding, Tensor finput, Tensor fgrad_input, *, Tensor?(a!) grad_input, Tensor?(b!) grad_weight, Tensor?(c!) grad_bias) -> (Tensor(a!), Tensor(b!), Tensor(c!))
6351
+ - func: thnn_conv2d_backward.grad_input(Tensor grad_output, Tensor self, Tensor weight, int[2] kernel_size, int[2] stride, int[2] padding, Tensor finput, Tensor fgrad_input, *, Tensor(a!)? grad_input, Tensor(b!)? grad_weight, Tensor(c!)? grad_bias) -> (Tensor(a!), Tensor(b!), Tensor(c!))
6695
6352
  python_module: nn
6696
6353
  dispatch:
6697
- CPU: legacy::cpu::_thnn_conv2d_backward_out
6354
+ CPU: slow_conv2d_backward_out_cpu
6698
6355
  CUDA: legacy::cuda::_thnn_conv2d_backward_out
6699
6356
 
6700
6357
  - func: thnn_conv2d_backward.output_mask(Tensor grad_output, Tensor self, Tensor weight, int[2] kernel_size, int[2] stride, int[2] padding, Tensor finput, Tensor fgrad_input, bool[3] output_mask) -> (Tensor grad_input, Tensor grad_weight, Tensor grad_bias)
6701
- use_c10_dispatcher: unboxed_only
6702
6358
  python_module: nn
6703
6359
  dispatch:
6704
- CPU: legacy::cpu::_thnn_conv2d_backward
6360
+ CPU: slow_conv2d_backward_cpu
6705
6361
  CUDA: legacy::cuda::_thnn_conv2d_backward
6706
6362
 
6707
6363
  - func: thnn_conv_depthwise2d.out(Tensor self, Tensor weight, int[2] kernel_size, Tensor? bias=None, int[2] stride=1, int[2] padding=0, int[2] dilation=1, *, Tensor(a!) out) -> Tensor(a!)
@@ -6720,43 +6376,41 @@
6720
6376
  dispatch:
6721
6377
  CUDA: legacy::cuda::_thnn_conv_depthwise2d_forward
6722
6378
 
6723
- - func: thnn_conv_depthwise2d_backward.grad_input(Tensor grad_output, Tensor self, Tensor weight, int[2] kernel_size, int[2] stride, int[2] padding, int[2] dilation, *, Tensor?(a!) grad_input, Tensor?(b!) grad_weight) -> (Tensor(a!), Tensor(b!))
6379
+ - func: thnn_conv_depthwise2d_backward.grad_input(Tensor grad_output, Tensor self, Tensor weight, int[2] kernel_size, int[2] stride, int[2] padding, int[2] dilation, *, Tensor(a!)? grad_input, Tensor(b!)? grad_weight) -> (Tensor(a!), Tensor(b!))
6724
6380
  python_module: nn
6725
6381
  dispatch:
6726
6382
  CUDA: legacy::cuda::_thnn_conv_depthwise2d_backward_out
6727
6383
 
6728
6384
  - func: thnn_conv_depthwise2d_backward.output_mask(Tensor grad_output, Tensor self, Tensor weight, int[2] kernel_size, int[2] stride, int[2] padding, int[2] dilation, bool[2] output_mask) -> (Tensor grad_input, Tensor grad_weight)
6729
- use_c10_dispatcher: unboxed_only
6730
6385
  python_module: nn
6731
6386
  dispatch:
6732
6387
  CUDA: legacy::cuda::_thnn_conv_depthwise2d_backward
6733
6388
 
6734
- - func: thnn_conv3d.out(Tensor self, Tensor weight, int[3] kernel_size, Tensor? bias=None, int[3] stride=1, int[3] padding=0, *, Tensor(a!) out) -> Tensor(a!)
6389
+ - func: slow_conv3d.out(Tensor self, Tensor weight, int[3] kernel_size, Tensor? bias=None, int[3] stride=1, int[3] padding=0, *, Tensor(a!) out) -> Tensor(a!)
6735
6390
  python_module: nn
6736
6391
 
6737
- - func: thnn_conv3d(Tensor self, Tensor weight, int[3] kernel_size, Tensor? bias=None, int[3] stride=1, int[3] padding=0) -> Tensor
6392
+ - func: slow_conv3d(Tensor self, Tensor weight, int[3] kernel_size, Tensor? bias=None, int[3] stride=1, int[3] padding=0) -> Tensor
6738
6393
  python_module: nn
6739
6394
 
6740
- - func: thnn_conv3d_forward.output(Tensor self, Tensor weight, int[3] kernel_size, Tensor? bias, int[3] stride, int[3] padding, *, Tensor(a!) output, Tensor(b!) finput, Tensor(c!) fgrad_input) -> (Tensor(a!), Tensor(b!), Tensor(c!))
6395
+ - func: slow_conv3d_forward.output(Tensor self, Tensor weight, int[3] kernel_size, Tensor? bias, int[3] stride, int[3] padding, *, Tensor(a!) output, Tensor(b!) finput, Tensor(c!) fgrad_input) -> (Tensor(a!), Tensor(b!), Tensor(c!))
6741
6396
  python_module: nn
6742
6397
  dispatch:
6743
- CPU: legacy::cpu::_thnn_conv3d_forward_out
6398
+ CPU: slow_conv3d_forward_out_cpu
6744
6399
 
6745
- - func: thnn_conv3d_forward(Tensor self, Tensor weight, int[3] kernel_size, Tensor? bias, int[3] stride, int[3] padding) -> (Tensor output, Tensor finput, Tensor fgrad_input)
6400
+ - func: slow_conv3d_forward(Tensor self, Tensor weight, int[3] kernel_size, Tensor? bias, int[3] stride, int[3] padding) -> (Tensor output, Tensor finput, Tensor fgrad_input)
6746
6401
  python_module: nn
6747
6402
  dispatch:
6748
- CPU: legacy::cpu::_thnn_conv3d_forward
6403
+ CPU: slow_conv3d_forward_cpu
6749
6404
 
6750
- - func: thnn_conv3d_backward.grad_input(Tensor grad_output, Tensor self, Tensor weight, int[3] kernel_size, int[3] stride, int[3] padding, Tensor finput, Tensor fgrad_input, *, Tensor?(a!) grad_input, Tensor?(b!) grad_weight, Tensor?(c!) grad_bias) -> (Tensor(a!), Tensor(b!), Tensor(c!))
6405
+ - func: slow_conv3d_backward.grad_input(Tensor grad_output, Tensor self, Tensor weight, int[3] kernel_size, int[3] stride, int[3] padding, Tensor finput, Tensor fgrad_input, *, Tensor(a!)? grad_input, Tensor(b!)? grad_weight, Tensor(c!)? grad_bias) -> (Tensor(a!), Tensor(b!), Tensor(c!))
6751
6406
  python_module: nn
6752
6407
  dispatch:
6753
- CPU: legacy::cpu::_thnn_conv3d_backward_out
6408
+ CPU: slow_conv3d_backward_out_cpu
6754
6409
 
6755
- - func: thnn_conv3d_backward.output_mask(Tensor grad_output, Tensor self, Tensor weight, int[3] kernel_size, int[3] stride, int[3] padding, Tensor finput, Tensor fgrad_input, bool[3] output_mask) -> (Tensor grad_input, Tensor grad_weight, Tensor grad_bias)
6756
- use_c10_dispatcher: unboxed_only
6410
+ - func: slow_conv3d_backward.output_mask(Tensor grad_output, Tensor self, Tensor weight, int[3] kernel_size, int[3] stride, int[3] padding, Tensor finput, Tensor fgrad_input, bool[3] output_mask) -> (Tensor grad_input, Tensor grad_weight, Tensor grad_bias)
6757
6411
  python_module: nn
6758
6412
  dispatch:
6759
- CPU: legacy::cpu::_thnn_conv3d_backward
6413
+ CPU: slow_conv3d_backward_cpu
6760
6414
 
6761
6415
  - func: slow_conv_dilated2d(Tensor self, Tensor weight, int[2] kernel_size, Tensor? bias=None, int[2] stride=1, int[2] padding=0, int[2] dilation=1) -> Tensor
6762
6416
  python_module: nn
@@ -6765,7 +6419,6 @@
6765
6419
  CUDA: slow_conv_dilated2d_cuda
6766
6420
 
6767
6421
  - func: slow_conv_dilated2d_backward(Tensor grad_output, Tensor self, Tensor weight, int[2] kernel_size, int[2] stride, int[2] padding, int[2] dilation, bool[3] output_mask) -> (Tensor grad_input, Tensor grad_weight, Tensor grad_bias)
6768
- use_c10_dispatcher: unboxed_only
6769
6422
  python_module: nn
6770
6423
  dispatch:
6771
6424
  CPU: slow_conv_dilated2d_backward_cpu
@@ -6778,7 +6431,6 @@
6778
6431
  CUDA: slow_conv_dilated3d_cuda
6779
6432
 
6780
6433
  - func: slow_conv_dilated3d_backward(Tensor grad_output, Tensor self, Tensor weight, int[3] kernel_size, int[3] stride, int[3] padding, int[3] dilation, bool[3] output_mask) -> (Tensor grad_input, Tensor grad_weight, Tensor grad_bias)
6781
- use_c10_dispatcher: unboxed_only
6782
6434
  python_module: nn
6783
6435
  dispatch:
6784
6436
  CPU: slow_conv_dilated3d_backward_cpu
@@ -6791,7 +6443,6 @@
6791
6443
  CUDA: col2im_out_cuda
6792
6444
 
6793
6445
  - func: col2im(Tensor self, int[2] output_size, int[2] kernel_size, int[2] dilation, int[2] padding, int[2] stride) -> Tensor
6794
- use_c10_dispatcher: unboxed_only
6795
6446
  python_module: nn
6796
6447
  dispatch:
6797
6448
  CPU: col2im_cpu
@@ -6804,7 +6455,6 @@
6804
6455
  CUDA: col2im_backward_out_cuda
6805
6456
 
6806
6457
  - func: col2im_backward(Tensor grad_output, int[2] kernel_size, int[2] dilation, int[2] padding, int[2] stride) -> Tensor
6807
- use_c10_dispatcher: unboxed_only
6808
6458
  python_module: nn
6809
6459
  dispatch:
6810
6460
  CPU: col2im_backward_cpu
@@ -6817,7 +6467,6 @@
6817
6467
  CUDA: im2col_out_cuda
6818
6468
 
6819
6469
  - func: im2col(Tensor self, int[2] kernel_size, int[2] dilation, int[2] padding, int[2] stride) -> Tensor
6820
- use_c10_dispatcher: unboxed_only
6821
6470
  python_module: nn
6822
6471
  dispatch:
6823
6472
  CPU: im2col_cpu
@@ -6830,8 +6479,13 @@
6830
6479
  CUDA: im2col_backward_out_cuda
6831
6480
 
6832
6481
  - func: im2col_backward(Tensor grad_output, int[2] input_size, int[2] kernel_size, int[2] dilation, int[2] padding, int[2] stride) -> Tensor
6833
- use_c10_dispatcher: unboxed_only
6834
6482
  python_module: nn
6835
6483
  dispatch:
6836
6484
  CPU: im2col_backward_cpu
6837
6485
  CUDA: im2col_backward_cuda
6486
+
6487
+ - func: isfinite(Tensor self) -> Tensor
6488
+ use_c10_dispatcher: full
6489
+ variants: function
6490
+ device_guard: False
6491
+ supports_named_tensor: True