-
Notifications
You must be signed in to change notification settings - Fork 323
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 | ❌ |