-
Notifications
You must be signed in to change notification settings - Fork 339
PyTorch DirectML Operator Roadmap
Xiang Zhang edited this page Apr 27, 2023
·
6 revisions
The table below lists PyTorch operators that either have a GPU kernel implemented or a default backend implementation that has been verified to work in our tests.
Please note that this is not a comprehensive list of all PyTorch operators, and many operators have a default implementation that might not be listed here and still work. If you would require support for an operator that is not on this list, please file an issue.
| op_name | supported_data_types | |
|---|---|---|
| 0 | aten::abs | [torch.float16, torch.float32, torch.float64, torch.int32, torch.int64, torch.int16, torch.int8, torch.bool] |
| 1 | aten::abs_ | [torch.float16, torch.float32, torch.float64, torch.int32, torch.int64, torch.int16, torch.int8, torch.bool] |
| 2 | aten::acos | [torch.float16, torch.float32, torch.int32, torch.int64, torch.int16, torch.int8, torch.bool] |
| 3 | aten::acos_ | [torch.float16, torch.float32] |
| 4 | aten::acosh | [torch.float16, torch.float32, torch.int32, torch.int64, torch.int16, torch.int8, torch.bool] |
| 5 | aten::acosh_ | [torch.float16, torch.float32] |
| 6 | aten::_adaptive_avg_pool2d | [torch.float16, torch.float32] |
| 7 | aten::adaptive_avg_pool2d | [torch.float16, torch.float32] |
| 8 | aten::_adaptive_avg_pool2d_backward | [torch.float16, torch.float32] |
| 9 | aten::add | [torch.float16, torch.float32, torch.float64, torch.int32, torch.int64, torch.int16, torch.int8, torch.bool] |
| 10 | aten::add_ | [torch.float16, torch.float32, torch.float64, torch.int32, torch.int64, torch.int16, torch.int8, torch.bool] |
| 11 | aten::addcdiv | [torch.float16, torch.float32, torch.float64] |
| 12 | aten::addcdiv_ | [torch.float16, torch.float32, torch.float64] |
| 13 | aten::addcmul | [torch.float16, torch.float32, torch.float64, torch.int32, torch.int64, torch.int16, torch.int8] |
| 14 | aten::addcmul_ | [torch.float16, torch.float32, torch.float64, torch.int32, torch.int64, torch.int16, torch.int8] |
| 15 | aten::addmm | [torch.float16, torch.float32, torch.float64, torch.int32, torch.int64, torch.int16, torch.int8] |
| 16 | aten::alias | [torch.float16, torch.float32, torch.float64, torch.int32, torch.int64, torch.int16, torch.int8, torch.bool] |
| 17 | aten::all | [torch.float16, torch.float32, torch.float64, torch.int32, torch.int64, torch.int16, torch.int8, torch.bool] |
| 18 | aten::__and__ | [torch.int32, torch.int64, torch.int16, torch.int8, torch.bool] |
| 19 | aten::any | [torch.float16, torch.float32, torch.float64, torch.int32, torch.int64, torch.int16, torch.int8, torch.bool] |
| 20 | aten::arange | [torch.float16, torch.float32, torch.float64, torch.int32, torch.int64, torch.int16, torch.int8, torch.bool] |
| 21 | aten::argmax | [torch.float16, torch.float32, torch.float64, torch.int32, torch.int64, torch.int16, torch.int8, torch.bool] |
| 22 | aten::argmin | [torch.float16, torch.float32, torch.float64, torch.int32, torch.int64, torch.int16, torch.int8, torch.bool] |
| 23 | aten::asin | [torch.float16, torch.float32, torch.int32, torch.int64, torch.int16, torch.int8, torch.bool] |
| 24 | aten::asin_ | [torch.float16, torch.float32] |
| 25 | aten::asinh | [torch.float16, torch.float32, torch.int32, torch.int64, torch.int16, torch.int8, torch.bool] |
| 26 | aten::asinh_ | [torch.float16, torch.float32] |
| 27 | aten::as_strided | [torch.float16, torch.float32, torch.float64, torch.int32, torch.int64, torch.int16, torch.int8, torch.bool] |
| 28 | aten::as_strided_ | [torch.float16, torch.float32, torch.float64, torch.int32, torch.int64, torch.int16, torch.int8, torch.bool] |
| 29 | aten::atan | [torch.float16, torch.float32, torch.int32, torch.int64, torch.int16, torch.int8, torch.bool] |
| 30 | aten::atan_ | [torch.float16, torch.float32] |
| 31 | aten::atan2 | [torch.float16, torch.float32, torch.int32, torch.int64, torch.int16, torch.int8, torch.bool] |
| 32 | aten::atan2_ | [torch.float16, torch.float32] |
| 33 | aten::atanh | [torch.float16, torch.float32, torch.int32, torch.int64, torch.int16, torch.int8, torch.bool] |
| 34 | aten::atanh_ | [torch.float16, torch.float32] |
| 35 | aten::avg_pool2d | [torch.float16, torch.float32] |
| 36 | aten::avg_pool2d_backward | [torch.float16, torch.float32] |
| 37 | aten::baddbmm | [torch.float16, torch.float32, torch.float64, torch.int32, torch.int64, torch.int16, torch.int8] |
| 38 | aten::batch_norm | [torch.float32] |
| 39 | aten::_batch_norm_impl_index | [torch.float32] |
| 40 | aten::bernoulli_ | [torch.float32, torch.float64, torch.int32, torch.int64, torch.int16, torch.int8, torch.bool] |
| 41 | aten::bernoulli | [torch.float32, torch.float64, torch.int32, torch.int64, torch.int16, torch.int8, torch.bool] |
| 42 | aten::binary_cross_entropy_with_logits | [torch.float32] |
| 43 | aten::bitwise_and | [torch.int32, torch.int64, torch.int16, torch.int8, torch.bool] |
| 44 | aten::bitwise_and_ | [torch.int32, torch.int64, torch.int16, torch.int8, torch.bool] |
| 45 | aten::bitwise_not | [torch.int32, torch.int64, torch.int16, torch.int8, torch.bool] |