5.8. Bfloat162 数学函数

要使用这些函数,请在您的程序中包含头文件 cuda_bf16.h

函数

__device__ __nv_bfloat162 h2ceil(const __nv_bfloat162 h)

计算输入参数的 nv_bfloat162 向量 ceiling(向上取整)。

__device__ __nv_bfloat162 h2cos(const __nv_bfloat162 a)

以舍入到最近的偶数模式计算 nv_bfloat162 向量余弦。

__device__ __nv_bfloat162 h2exp(const __nv_bfloat162 a)

以舍入到最近的偶数模式计算 nv_bfloat162 向量指数函数。

__device__ __nv_bfloat162 h2exp10(const __nv_bfloat162 a)

以舍入到最近的偶数模式计算 nv_bfloat162 向量十进制指数函数。

__device__ __nv_bfloat162 h2exp2(const __nv_bfloat162 a)

以舍入到最近的偶数模式计算 nv_bfloat162 向量二进制指数函数。

__device__ __nv_bfloat162 h2floor(const __nv_bfloat162 h)

计算小于或等于 h 的最大整数。

__device__ __nv_bfloat162 h2log(const __nv_bfloat162 a)

以舍入到最近的偶数模式计算 nv_bfloat162 向量自然对数。

__device__ __nv_bfloat162 h2log10(const __nv_bfloat162 a)

以舍入到最近的偶数模式计算 nv_bfloat162 向量十进制对数。

__device__ __nv_bfloat162 h2log2(const __nv_bfloat162 a)

以舍入到最近的偶数模式计算 nv_bfloat162 向量二进制对数。

__device__ __nv_bfloat162 h2rcp(const __nv_bfloat162 a)

以舍入到最近的偶数模式计算 nv_bfloat162 向量倒数。

__device__ __nv_bfloat162 h2rint(const __nv_bfloat162 h)

将输入舍入为 nv_bfloat16 浮点数中最接近的整数值。

__device__ __nv_bfloat162 h2rsqrt(const __nv_bfloat162 a)

以舍入到最近的偶数模式计算 nv_bfloat162 向量倒数平方根。

__device__ __nv_bfloat162 h2sin(const __nv_bfloat162 a)

以舍入到最近的偶数模式计算 nv_bfloat162 向量正弦。

__device__ __nv_bfloat162 h2sqrt(const __nv_bfloat162 a)

以舍入到最近的偶数模式计算 nv_bfloat162 向量平方根。

__device__ __nv_bfloat162 h2tanh(const __nv_bfloat162 a)

以舍入到最近的偶数模式计算 nv_bfloat162 向量双曲正切函数。

__device__ __nv_bfloat162 h2tanh_approx(const __nv_bfloat162 a)

计算 nv_bfloat162 向量近似双曲正切函数。

__device__ __nv_bfloat162 h2trunc(const __nv_bfloat162 h)

nv_bfloat162 向量输入参数截断为整数部分。

5.8.1. 函数

__device__ __nv_bfloat162 h2ceil(const __nv_bfloat162 h)

计算输入参数的 nv_bfloat162 向量 ceiling(向上取整)。

对于向量 h 的每个分量,计算不小于 h 的最小整数值。

参数

h[in] - nv_bfloat162。仅被读取。

返回值

nv_bfloat162

  • 不小于 h 的最小整数向量。

__device__ __nv_bfloat162 h2cos(const __nv_bfloat162 a)

以舍入到最近的偶数模式计算 nv_bfloat162 向量余弦。

以舍入到最近的偶数模式计算输入向量 anv_bfloat162 余弦。

注意:此函数的实现调用了 cosf(float) 函数,并会受到编译器优化的影响。具体来说,--use_fast_math 标志会将 cosf(float) 转换为内在函数 __cosf(float),后者的数值行为不太准确。

参数

a[in] - nv_bfloat162。仅被读取。

返回值

nv_bfloat162

  • 向量 a 上的元素级余弦。

__device__ __nv_bfloat162 h2exp(const __nv_bfloat162 a)

以舍入到最近的偶数模式计算 nv_bfloat162 向量指数函数。

以舍入到最近的偶数模式计算输入向量 anv_bfloat162 指数函数。

参数

a[in] - nv_bfloat162。仅被读取。

返回值

nv_bfloat162

  • 向量 a 上的元素级指数函数。

__device__ __nv_bfloat162 h2exp10(const __nv_bfloat162 a)

以舍入到最近的偶数模式计算 nv_bfloat162 向量十进制指数函数。

以舍入到最近的偶数模式计算输入向量 anv_bfloat162 十进制指数函数。

参数

a[in] - nv_bfloat162。仅被读取。

返回值

nv_bfloat162

  • 向量 a 上的元素级十进制指数函数。

__device__ __nv_bfloat162 h2exp2(const __nv_bfloat162 a)

以舍入到最近的偶数模式计算 nv_bfloat162 向量二进制指数函数。

以舍入到最近的偶数模式计算输入向量 anv_bfloat162 二进制指数函数。

参数

a[in] - nv_bfloat162。仅被读取。

返回值

nv_bfloat162

  • 向量 a 上的元素级二进制指数函数。

__device__ __nv_bfloat162 h2floor(const __nv_bfloat162 h)

计算小于或等于 h 的最大整数。

对于向量 h 的每个分量,计算小于或等于 h 的最大整数值。

参数

h[in] - nv_bfloat162。仅被读取。

返回值

nv_bfloat162

  • 小于或等于 h 的最大整数向量。

__device__ __nv_bfloat162 h2log(const __nv_bfloat162 a)

以舍入到最近的偶数模式计算 nv_bfloat162 向量自然对数。

以舍入到最近的偶数模式计算输入向量 anv_bfloat162 自然对数。

参数

a[in] - nv_bfloat162。仅被读取。

返回值

nv_bfloat162

  • 向量 a 上的元素级自然对数。

__device__ __nv_bfloat162 h2log10(const __nv_bfloat162 a)

以舍入到最近的偶数模式计算 nv_bfloat162 向量十进制对数。

以舍入到最近的偶数模式计算输入向量 anv_bfloat162 十进制对数。

参数

a[in] - nv_bfloat162。仅被读取。

返回值

nv_bfloat162

  • 向量 a 上的元素级十进制对数。

__device__ __nv_bfloat162 h2log2(const __nv_bfloat162 a)

以舍入到最近的偶数模式计算 nv_bfloat162 向量二进制对数。

以舍入到最近的偶数模式计算输入向量 anv_bfloat162 二进制对数。

参数

a[in] - nv_bfloat162。仅被读取。

返回值

nv_bfloat162

  • 向量 a 上的元素级二进制对数。

__device__ __nv_bfloat162 h2rcp(const __nv_bfloat162 a)

以舍入到最近的偶数模式计算 nv_bfloat162 向量倒数。

以舍入到最近的偶数模式计算输入向量 anv_bfloat162 倒数。

参数

a[in] - nv_bfloat162。仅被读取。

返回值

nv_bfloat162

  • 向量 a 上的元素级倒数。

__device__ __nv_bfloat162 h2rint(const __nv_bfloat162 h)

将输入舍入为 nv_bfloat16 浮点数中最接近的整数值。

nv_bfloat162 向量 h 的每个分量舍入为 nv_bfloat16 浮点格式中最接近的整数值,bfloat16way 情况舍入到最接近的偶数整数值。

参数

h[in] - nv_bfloat162。仅被读取。

返回值

nv_bfloat162

  • 舍入后的整数值向量。

__device__ __nv_bfloat162 h2rsqrt(const __nv_bfloat162 a)

以舍入到最近的偶数模式计算 nv_bfloat162 向量倒数平方根。

以舍入到最近的偶数模式计算输入向量 anv_bfloat162 倒数平方根。

参数

a[in] - nv_bfloat162。仅被读取。

返回值

nv_bfloat162

  • 向量 a 上的元素级倒数平方根。

__device__ __nv_bfloat162 h2sin(const __nv_bfloat162 a)

以舍入到最近的偶数模式计算 nv_bfloat162 向量正弦。

以舍入到最近的偶数模式计算输入向量 anv_bfloat162 正弦。

注意:此函数的实现调用了 sinf(float) 函数,并会受到编译器优化的影响。具体来说,--use_fast_math 标志会将 sinf(float) 转换为内在函数 __sinf(float),后者的数值行为不太准确。

参数

a[in] - nv_bfloat162。仅被读取。

返回值

nv_bfloat162

  • 向量 a 上的元素级正弦。

__device__ __nv_bfloat162 h2sqrt(const __nv_bfloat162 a)

以舍入到最近的偶数模式计算 nv_bfloat162 向量平方根。

以舍入到最近的偶数模式计算输入向量 anv_bfloat162 平方根。

参数

a[in] - nv_bfloat162。仅被读取。

返回值

nv_bfloat162

  • 向量 a 上的元素级平方根。

__device__ __nv_bfloat162 h2tanh(const __nv_bfloat162 a)

以舍入到最近的偶数模式计算 nv_bfloat162 向量双曲正切函数。

以舍入到最近的偶数模式计算输入向量 anv_bfloat162 双曲正切函数。

另请参阅

htanh(__nv_bfloat16) 以了解更多详细信息。

参数

a[in] - nv_bfloat162。仅被读取。

返回值

nv_bfloat162

  • 向量 a 上的元素级双曲正切函数。

__device__ __nv_bfloat162 h2tanh_approx(const __nv_bfloat162 a)

计算 nv_bfloat162 向量近似双曲正切函数。

计算输入向量 anv_bfloat162 近似双曲正切函数。此操作在计算能力为 9.x 及更高版本的设备上使用硬件加速。

另请参阅

htanh_approx(__nv_bfloat16) 以了解更多详细信息。

参数

a[in] - nv_bfloat162。仅被读取。

返回值

nv_bfloat162

  • 向量 a 上的元素级近似双曲正切函数。

__device__ __nv_bfloat162 h2trunc(const __nv_bfloat162 h)

nv_bfloat162 向量输入参数截断为整数部分。

将向量 h 的每个分量舍入为幅度不超过 h 的最接近的整数值。

参数

h[in] - nv_bfloat162。仅被读取。

返回值

nv_bfloat162

  • 截断后的 h