"torch.Tensor" method. If functions are exposed in multiple
namespaces, they go through autocasting regardless of the namespace.
Ops not listed below do not go through autocasting.  They run in the
type defined by their inputs.  However, autocasting may still change
the type in which unlisted ops run if they're downstream from
autocasted ops.
If an op is unlisted, we assume it's numerically stable in "float16".
If you believe an unlisted op is numerically unstable in "float16",
please file an issue.
CUDA Ops that can autocast to "float16"

"__matmul__", "addbmm", "addmm", "addmv", "addr", "baddbmm", "bmm",
"chain_matmul", "multi_dot", "conv1d", "conv2d", "conv3d",
"conv_transpose1d", "conv_transpose2d", "conv_transpose3d", "GRUCell",
"linear", "LSTMCell", "matmul", "mm", "mv", "prelu", "RNNCell"


CUDA Ops that can autocast to "float32"

"pow", "rdiv", "rpow", "rtruediv", "acos", "asin",