Namespace c10¶
Defines the Struct Half type (half-precision floating-point) including conversions to standard C types and basic arithmetic operations.
Page Contents
Detailed Description¶
Note that arithmetic operations are implemented by converting to floating point and performing the operation in float32, instead of using CUDA half intrinsics. Most uses of this type within ATen are memory bound, including the element-wise kernels, and the half intrinsics aren’t efficient on all GPUs. If you are writing a compute bound kernel, you can use the CUDA half intrinsics directly on the Struct Half type from device code.
Namespaces¶
Classes¶
Enums¶
Functions¶
Template Function c10::operator<<(std::ostream&, ArrayRef<T>)
Function c10::operator==(const OptionalIntArrayRef&, const IntArrayRef&)
Function c10::operator==(const c10::IntArrayRef&, const c10::OptionalIntArrayRef&)
Template Function c10::overflows(From, bool strict_unsigned])
Template Function c10::overflows(From, bool strict_unsigned])
Template Function c10::value_or_else(const std::optional<T>&, F&&)
Template Function c10::value_or_else(std::optional<T>&&, F&&)