Skip to content

PyTorch DirectML Operator Roadmap

Adele101 edited this page Feb 24, 2022 · 6 revisions

The table below comprises PyTorch operators that have at least one GPU kernel.

The is_implemented column indicates the following DirectML support:

  • ✅ = the op has at least one DirectML kernel registered
  • 🚧 = the op will be implemented in the next milestone (~3 months)
  • ❌ = the op may be implemented in the future
op_name is_implemented
0 aten::abs
1 aten::abs_
2 aten::adaptive_avg_pool2d
3 aten::_adaptive_avg_pool2d
4 aten::_adaptive_avg_pool2d_backward
5 aten::add
6 aten::add_
7 aten::addcdiv
8 aten::addcdiv_
9 aten::addcmul
10 aten::addcmul_
11 aten::addmm_
12 aten::addmm
13 aten::alias
14 aten::all
15 aten::allclose
16 aten::__and__
17 aten::arange
18 aten::as_strided
19 aten::as_strided_
20 aten::atan
21 aten::avg_pool2d
22 aten::avg_pool2d_backward
23 aten::batch_norm
24 aten::_batch_norm_impl_index
25 aten::bernoulli_
26 aten::bernoulli
27 aten::binary_cross_entropy_with_logits
28 aten::binary_cross_entropy_with_logits_backward
29 aten::bitwise_and
30 aten::bitwise_and_
31 aten::bitwise_or
32 aten::bitwise_or_
33 aten::broadcast_to
34 aten::can_cast
35 aten::cat
36 aten::_cat
37 aten::chunk
38 aten::clamp
39 aten::clamp_min
40 aten::clone
41 aten::conj
42 aten::contiguous
43 aten::conv2d
44 aten::convolution
45 aten::_convolution
46 aten::_convolution_nogroup
47 aten::copy_
48 aten::detach
49 aten::detach_
50 aten::div
51 aten::div_
52 aten::dropout
53 aten::dropout_
54 aten::empty
55 aten::empty_like
56 aten::empty_strided
57 aten::eq
58 aten::eq_
59 aten::exp
60 aten::exp_
61 aten::expand
62 aten::expand_as
63 aten::fill_
64 aten::flatten
65 aten::flip
66 aten::full_like
67 aten::ge
68 aten::ge_
69 aten::gt
70 aten::gt_
71 aten::hardsigmoid_
72 aten::hardsigmoid
73 aten::hardsigmoid_backward
74 aten::hardswish_
75 aten::hardswish
76 aten::hardswish_backward
77 aten::hardtanh_
78 aten::hardtanh
79 aten::hardtanh_backward
80 aten::_has_compatible_shallow_copy_type
81 aten::__iand__
82 aten::index
83 aten::index_put_
84 aten::index_put
85 aten::_index_put_impl_
86 aten::__ior__
87 aten::isclose
88 aten::isfinite
89 aten::is_floating_point
90 aten::is_nonzero
91 aten::item
92 aten::le
93 aten::le_
94 aten::leaky_relu
95 aten::leaky_relu_
96 aten::leaky_relu_backward
97 aten::linear
98 aten::_local_scalar_dense
99 aten::log
100 aten::log_
101 aten::log10
102 aten::log10_
103 aten::log1p
104 aten::log1p_
105 aten::log2
106 aten::log2_
107 aten::logical_and
108 aten::logical_and_
109 aten::logical_not
110 aten::logical_not_
111 aten::logical_or
112 aten::logical_or_
113 aten::logical_xor
114 aten::logical_xor_
115 aten::log_softmax
116 aten::_log_softmax
117 aten::_log_softmax_backward_data
118 aten::lt
119 aten::lt_
120 aten::masked_fill_
121 aten::masked_fill
122 aten::max
123 aten::maximum
124 aten::max_pool2d
125 aten::max_pool2d_with_indices
126 aten::max_pool2d_with_indices_backward
127 aten::mean
128 aten::min
129 aten::minimum
130 aten::mm
131 aten::mul
132 aten::mul_
133 aten::narrow
134 aten::native_batch_norm
135 aten::native_batch_norm_backward
136 aten::ne
137 aten::ne_
138 aten::neg
139 aten::neg_
140 aten::new_empty_strided
141 aten::new_zeros
142 aten::nll_loss
143 aten::nll_loss_backward
144 aten::nll_loss_forward
145 aten::nonzero
146 aten::nonzero_numpy
147 aten::normal_
148 aten::numpy_T
149 aten::ones
150 aten::ones_like
151 aten::permute
152 aten::pow
153 aten::pow_
154 aten::prod
155 aten::rand
156 aten::randn
157 aten::random_
158 aten::randperm
159 aten::reciprocal
160 aten::reciprocal_
161 aten::relu_
162 aten::relu
163 aten::remainder
164 aten::repeat
165 aten::reshape
166 aten::resize_
167 aten::resize_as_
168 aten::result_type
169 aten::round
170 aten::round_
171 aten::rsub
172 aten::scalar_tensor
173 aten::select
174 aten::select_backward
175 aten::set_
176 aten::set_data
177 aten::sigmoid
178 aten::sigmoid_
179 aten::sigmoid_backward
180 aten::sign
181 aten::sign_
182 aten::silu_
183 aten::silu
184 aten::slice
185 aten::slice_backward
186 aten::sort
187 aten::split
188 aten::sqrt
189 aten::sqrt_
190 aten::squeeze_
191 aten::squeeze
192 aten::sub
193 aten::sub_
194 aten::sum
195 aten::_s_where
196 aten::t
197 aten::thnn_conv2d
198 aten::thnn_conv2d_backward
199 aten::thnn_conv2d_forward
200 aten::threshold_
201 aten::threshold
202 aten::threshold_backward
203 aten::to
204 aten::transpose
205 aten::type_as
206 aten::unbind
207 aten::unfold
208 aten::uniform_
209 aten::_unique2
210 aten::_unsafe_view
211 aten::unsqueeze
212 aten::unsqueeze_
213 aten::upsample_nearest2d
214 aten::upsample_nearest2d_backward
215 aten::view
216 aten::where
217 aten::zero_
218 aten::zeros
219 aten::zeros_like
220 aten::any 🚧
221 aten::broadcast_tensors 🚧
222 aten::clamp_max 🚧
223 aten::clamp_min_ 🚧
224 aten::conv_transpose2d 🚧
225 aten::floor 🚧
226 aten::full 🚧
227 aten::l1_loss 🚧
228 aten::l1_loss_backward 🚧
229 aten::meshgrid 🚧
230 aten::new_full 🚧
231 aten::__or__ 🚧
232 aten::rsqrt 🚧
233 aten::scatter_ 🚧
234 aten::sgn 🚧
235 aten::sgn_ 🚧
236 aten::slow_conv_transpose2d 🚧
237 aten::slow_conv_transpose2d_backward 🚧
238 aten::split_with_sizes 🚧
239 aten::stack 🚧
240 aten::topk 🚧
241 aten::upsample_bilinear2d 🚧
242 aten::upsample_bilinear2d_backward 🚧
243 aten::value_selecting_reduction_backward 🚧
244 aten::clamp_
245 aten::cudnn_batch_norm
246 aten::cudnn_batch_norm_backward
247 aten::cudnn_convolution
248 aten::cudnn_convolution_backward
249 aten::cudnn_convolution_backward_input
250 aten::cudnn_convolution_backward_weight
251 aten::cudnn_convolution_transpose
252 aten::cudnn_convolution_transpose_backward
253 aten::cudnn_convolution_transpose_backward_input
254 aten::cudnn_convolution_transpose_backward_weight
255 aten::floor_divide_
256 aten::floor_divide
257 aten::_fused_dropout
258 aten::index_select
259 aten::_masked_scale
260 aten::mkldnn_convolution
261 aten::mkldnn_convolution_backward
262 aten::mkldnn_convolution_backward_input
263 aten::mkldnn_convolution_backward_weights
264 aten::thnn_conv_depthwise2d
265 aten::thnn_conv_depthwise2d_backward
266 aten::thnn_conv_depthwise2d_forward
Clone this wiki locally