5.4. Bfloat16数学函数
要使用这些函数,请在程序中包含头文件cuda_bf16.h。
Functions
- __device__ __nv_bfloat16 hceil(const __nv_bfloat16 h)
-
计算输入参数的上限值。
- __device__ __nv_bfloat16 hcos(const __nv_bfloat16 a)
-
计算
nv_bfloat16在最近偶数舍入模式下的余弦值。 - __device__ __nv_bfloat16 hexp(const __nv_bfloat16 a)
-
计算
nv_bfloat16在四舍五入到最近偶数模式下的自然指数函数。 - __device__ __nv_bfloat16 hexp10(const __nv_bfloat16 a)
-
以四舍五入到最近偶数模式计算
nv_bfloat16十进制指数函数。 - __device__ __nv_bfloat16 hexp2(const __nv_bfloat16 a)
-
以四舍五入到最接近偶数模式计算
nv_bfloat16二进制指数函数。 - __device__ __nv_bfloat16 hfloor(const __nv_bfloat16 h)
-
计算小于或等于
h的最大整数。 - __device__ __nv_bfloat16 hlog(const __nv_bfloat16 a)
-
计算
nv_bfloat16在四舍五入到最近偶数模式下的自然对数。 - __device__ __nv_bfloat16 hlog10(const __nv_bfloat16 a)
-
计算
nv_bfloat16的十进制对数,采用四舍五入到最近偶数模式。 - __device__ __nv_bfloat16 hlog2(const __nv_bfloat16 a)
-
计算
nv_bfloat16在四舍五入到最近偶数模式下的二进制对数。 - __device__ __nv_bfloat16 hrcp(const __nv_bfloat16 a)
-
计算
nv_bfloat16在四舍五入到最近偶数模式下的倒数。 - __device__ __nv_bfloat16 hrint(const __nv_bfloat16 h)
-
将输入四舍五入为最接近的nv_bfloat16浮点数整数值。
- __device__ __nv_bfloat16 hrsqrt(const __nv_bfloat16 a)
-
计算
nv_bfloat16在四舍五入到最近偶数模式下的倒数平方根。 - __device__ __nv_bfloat16 hsin(const __nv_bfloat16 a)
-
计算
nv_bfloat16在四舍五入到最近偶数模式下的正弦值。 - __device__ __nv_bfloat16 hsqrt(const __nv_bfloat16 a)
-
计算
nv_bfloat16在四舍五入到最近偶数模式下的平方根。 - __device__ __nv_bfloat16 htanh(const __nv_bfloat16 a)
-
计算
nv_bfloat16双曲正切函数,采用四舍五入到最近偶数模式。 - __device__ __nv_bfloat16 htanh_approx(const __nv_bfloat16 a)
-
计算近似的
nv_bfloat16双曲正切函数。 - __device__ __nv_bfloat16 htrunc(const __nv_bfloat16 h)
-
将输入参数截断为整数部分。
5.4.1. 函数
-
__device__ __nv_bfloat16 hceil(const __nv_bfloat16 h)
-
计算输入参数的向上取整值。
计算不小于
h的最小整数值。- Parameters
-
h – [输入] - nv_bfloat16。仅用于读取。
- Returns
-
nv_bfloat16
不小于
h的最小整数值。
-
__device__ __nv_bfloat16 hcos(const __nv_bfloat16 a)
-
计算
nv_bfloat16在四舍五入到最近偶数模式下的余弦值。计算输入
a的nv_bfloat16余弦值,采用四舍五入到最近偶数模式。注意:此函数的实现调用了cosf(float)函数,并暴露给编译器优化。具体来说,
--use_fast_math标志会将cosf(float)转换为内联函数__cosf(float),这会降低数值计算的精确度。- Parameters
-
a – [输入] - nv_bfloat16。仅用于读取。
- Returns
-
nv_bfloat16
a的余弦值。
-
__device__ __nv_bfloat16 hexp(const __nv_bfloat16 a)
-
计算
nv_bfloat16在四舍五入到最近偶数模式下的自然指数函数。计算输入
a的nv_bfloat16自然指数函数,采用四舍五入到最近偶数模式。- Parameters
-
a – [输入] - nv_bfloat16。仅用于读取。
- Returns
-
nv_bfloat16
a的自然指数函数。
-
__device__ __nv_bfloat16 hexp10(const __nv_bfloat16 a)
-
以四舍五入到最近偶数模式计算
nv_bfloat16的十进制指数函数。计算输入
a的nv_bfloat16十进制指数函数,采用四舍五入到最近偶数模式。- Parameters
-
a – [输入] - nv_bfloat16。仅用于读取。
- Returns
-
nv_bfloat16
a上的十进制指数函数。
-
__device__ __nv_bfloat16 hexp2(const __nv_bfloat16 a)
-
以四舍五入到最接近偶数模式计算
nv_bfloat16二进制指数函数。计算输入
a的nv_bfloat16二进制指数函数,采用四舍五入到最接近偶数模式。- Parameters
-
a – [输入] - nv_bfloat16。仅用于读取。
- Returns
-
nv_bfloat16
a上的二进制指数函数。
-
__device__ __nv_bfloat16 hfloor(const __nv_bfloat16 h)
-
计算小于或等于
h的最大整数。计算小于或等于
h的最大整数值。- Parameters
-
h – [输入] - nv_bfloat16。仅用于读取。
- Returns
-
nv_bfloat16
小于或等于
h的最大整数值。
-
__device__ __nv_bfloat16 hlog(const __nv_bfloat16 a)
-
计算
nv_bfloat16在四舍五入到最近偶数模式下的自然对数。计算输入
a的nv_bfloat16自然对数,采用四舍五入到最近偶数模式。- Parameters
-
a – [输入] - nv_bfloat16。仅用于读取。
- Returns
-
nv_bfloat16
a的自然对数。
-
__device__ __nv_bfloat16 hlog10(const __nv_bfloat16 a)
-
计算
nv_bfloat16的十进制对数,采用四舍五入到最近偶数模式。计算输入
a的nv_bfloat16十进制对数,采用四舍五入到最近偶数模式。- Parameters
-
a – [输入] - nv_bfloat16。仅用于读取。
- Returns
-
nv_bfloat16
a的十进制对数。
-
__device__ __nv_bfloat16 hlog2(const __nv_bfloat16 a)
-
计算
nv_bfloat16在四舍五入到最近偶数模式下的二进制对数。计算输入
a的nv_bfloat16二进制对数,采用四舍五入到最近偶数模式。- Parameters
-
a – [输入] - nv_bfloat16。仅用于读取。
- Returns
-
nv_bfloat16
a的二进制对数。
-
__device__ __nv_bfloat16 hrcp(const __nv_bfloat16 a)
-
计算
nv_bfloat16在四舍五入到最近偶数模式下的倒数。计算输入
a的nv_bfloat16倒数,采用四舍五入到最近偶数模式。- Parameters
-
a – [输入] - nv_bfloat16。仅用于读取。
- Returns
-
nv_bfloat16
a的倒数。
-
__device__ __nv_bfloat16 hrint(const __nv_bfloat16 h)
-
将输入四舍五入为最接近的nv_bfloat16浮点数整数值。
将
h舍入到最接近的 nv_bfloat16 浮点格式整数值,bfloat16 中间情况舍入到最接近的偶数整数值。- Parameters
-
h – [输入] - nv_bfloat16。仅用于读取。
- Returns
-
nv_bfloat16
最接近
h的整数。
-
__device__ __nv_bfloat16 hrsqrt(const __nv_bfloat16 a)
-
计算
nv_bfloat16在四舍五入到最近偶数模式下的倒数平方根。计算输入
a的nv_bfloat16倒数平方根,采用四舍五入到最接近偶数模式。- Parameters
-
a – [输入] - nv_bfloat16。仅用于读取。
- Returns
-
nv_bfloat16
a的倒数平方根。
-
__device__ __nv_bfloat16 hsin(const __nv_bfloat16 a)
-
计算
nv_bfloat16的正弦值,采用四舍五入到最近偶数模式。计算输入
a的nv_bfloat16正弦值,采用四舍五入到最近偶数模式。注意:此函数的实现调用了sinf(float)函数,并暴露给编译器优化。具体而言,
--use_fast_math标志会将sinf(float)转换为内置函数__sinf(float),其数值精度较低。- Parameters
-
a – [输入] - nv_bfloat16。仅用于读取。
- Returns
-
nv_bfloat16
a的正弦值。
-
__device__ __nv_bfloat16 hsqrt(const __nv_bfloat16 a)
-
计算
nv_bfloat16在四舍五入到最近偶数模式下的平方根。计算输入
a的nv_bfloat16平方根,采用四舍五入到最接近偶数模式。- Parameters
-
a – [输入] - nv_bfloat16。仅用于读取。
- Returns
-
nv_bfloat16
a的平方根。
-
__device__ __nv_bfloat16 htanh(const __nv_bfloat16 a)
-
计算
nv_bfloat16的双曲正切函数,采用四舍五入到最接近偶数模式。计算
nv_bfloat16双曲正切函数:\( \tanh(a)\),采用四舍五入到最近偶数模式。- Parameters
-
a – [输入] - nv_bfloat16。仅用于读取。
- Returns
-
nv_bfloat16
a的双曲正切函数。htanh \( (\pm 0)\) 返回 \( (\pm 0)\)。
htanh \( (\pm\infty)\) 返回 \( (\pm 1)\)。
htanh(NaN) 返回 NaN。
-
__device__ __nv_bfloat16 htanh_approx(const __nv_bfloat16 a)
-
计算近似的
nv_bfloat16双曲正切函数。计算近似的
nv_bfloat16双曲正切函数:\( \tanh(a)\)。该操作在计算能力9.x及以上的设备上使用硬件加速。- Parameters
-
a – [输入] - nv_bfloat16。仅用于读取。
- Returns
-
nv_bfloat16
a的近似双曲正切函数。htanh_approx \( (\pm 0)\) 返回 \( (\pm 0)\).
htanh_approx \( (\pm\infty)\) 返回 \( (\pm 1)\)。
htanh_approx(NaN) 返回 NaN。
-
__device__ __nv_bfloat16 htrunc(const __nv_bfloat16 h)
-
将输入参数截断为整数部分。
将
h舍入到最接近且幅度不超过h的整数值。- Parameters
-
h – [输入] - nv_bfloat16。仅用于读取。
- Returns
-
nv_bfloat16
截断后的整数值。