Skip to content

PyTorch DirectML Operator Roadmap

Adele101 edited this page Feb 24, 2022 · 6 revisions

The table below comprises all of the 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