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
向量余弦。以舍入到最近的偶数模式计算输入向量
a
的nv_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
向量指数函数。以舍入到最近的偶数模式计算输入向量
a
的nv_bfloat162
指数函数。- 参数
-
a – [in] - nv_bfloat162。仅被读取。
- 返回值
-
nv_bfloat162
向量
a
上的元素级指数函数。
-
__device__ __nv_bfloat162 h2exp10(const __nv_bfloat162 a)
-
以舍入到最近的偶数模式计算
nv_bfloat162
向量十进制指数函数。以舍入到最近的偶数模式计算输入向量
a
的nv_bfloat162
十进制指数函数。- 参数
-
a – [in] - nv_bfloat162。仅被读取。
- 返回值
-
nv_bfloat162
向量
a
上的元素级十进制指数函数。
-
__device__ __nv_bfloat162 h2exp2(const __nv_bfloat162 a)
-
以舍入到最近的偶数模式计算
nv_bfloat162
向量二进制指数函数。以舍入到最近的偶数模式计算输入向量
a
的nv_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
向量自然对数。以舍入到最近的偶数模式计算输入向量
a
的nv_bfloat162
自然对数。- 参数
-
a – [in] - nv_bfloat162。仅被读取。
- 返回值
-
nv_bfloat162
向量
a
上的元素级自然对数。
-
__device__ __nv_bfloat162 h2log10(const __nv_bfloat162 a)
-
以舍入到最近的偶数模式计算
nv_bfloat162
向量十进制对数。以舍入到最近的偶数模式计算输入向量
a
的nv_bfloat162
十进制对数。- 参数
-
a – [in] - nv_bfloat162。仅被读取。
- 返回值
-
nv_bfloat162
向量
a
上的元素级十进制对数。
-
__device__ __nv_bfloat162 h2log2(const __nv_bfloat162 a)
-
以舍入到最近的偶数模式计算
nv_bfloat162
向量二进制对数。以舍入到最近的偶数模式计算输入向量
a
的nv_bfloat162
二进制对数。- 参数
-
a – [in] - nv_bfloat162。仅被读取。
- 返回值
-
nv_bfloat162
向量
a
上的元素级二进制对数。
-
__device__ __nv_bfloat162 h2rcp(const __nv_bfloat162 a)
-
以舍入到最近的偶数模式计算
nv_bfloat162
向量倒数。以舍入到最近的偶数模式计算输入向量
a
的nv_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
向量倒数平方根。以舍入到最近的偶数模式计算输入向量
a
的nv_bfloat162
倒数平方根。- 参数
-
a – [in] - nv_bfloat162。仅被读取。
- 返回值
-
nv_bfloat162
向量
a
上的元素级倒数平方根。
-
__device__ __nv_bfloat162 h2sin(const __nv_bfloat162 a)
-
以舍入到最近的偶数模式计算
nv_bfloat162
向量正弦。以舍入到最近的偶数模式计算输入向量
a
的nv_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
向量平方根。以舍入到最近的偶数模式计算输入向量
a
的nv_bfloat162
平方根。- 参数
-
a – [in] - nv_bfloat162。仅被读取。
- 返回值
-
nv_bfloat162
向量
a
上的元素级平方根。
-
__device__ __nv_bfloat162 h2tanh(const __nv_bfloat162 a)
-
以舍入到最近的偶数模式计算
nv_bfloat162
向量双曲正切函数。以舍入到最近的偶数模式计算输入向量
a
的nv_bfloat162
双曲正切函数。另请参阅
htanh(__nv_bfloat16) 以了解更多详细信息。
- 参数
-
a – [in] - nv_bfloat162。仅被读取。
- 返回值
-
nv_bfloat162
向量
a
上的元素级双曲正切函数。
-
__device__ __nv_bfloat162 h2tanh_approx(const __nv_bfloat162 a)
-
计算
nv_bfloat162
向量近似双曲正切函数。计算输入向量
a
的nv_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
。