4.4. 半精度数学函数
要使用这些函数,请在程序中包含头文件cuda_fp16.h。
Functions
- __device__ __half hceil(const __half h)
-
计算输入参数的上限值。
- __device__ __half hcos(const __half a)
-
以四舍五入到最近偶数模式计算
half余弦值。 - __device__ __half hexp(const __half a)
-
以四舍五入到最近偶数模式计算
half自然指数函数。 - __device__ __half hexp10(const __half a)
-
以四舍五入到最近偶数模式计算
half十进制指数函数。 - __device__ __half hexp2(const __half a)
-
计算
half二进制指数函数,采用四舍五入到最近偶数模式。 - __device__ __half hfloor(const __half h)
-
计算小于或等于
h的最大整数。 - __device__ __half hlog(const __half a)
-
以四舍五入到最近偶数模式计算
half的自然对数。 - __device__ __half hlog10(const __half a)
-
以四舍五入到最近偶数模式计算
half的十进制对数。 - __device__ __half hlog2(const __half a)
-
计算
half二进制对数,采用四舍五入到最接近偶数的模式。 - __device__ __half hrcp(const __half a)
-
以四舍五入到最近偶数模式计算
half的倒数。 - __device__ __half hrint(const __half h)
-
将输入四舍五入为半精度浮点数中最接近的整数值。
- __device__ __half hrsqrt(const __half a)
-
以四舍五入到最接近偶数模式计算
half的倒数平方根。 - __device__ __half hsin(const __half a)
-
计算
half正弦值,采用四舍五入到最接近偶数的舍入模式。 - __device__ __half hsqrt(const __half a)
-
以四舍五入到最近偶数模式计算
half平方根。 - __device__ __half htanh(const __half a)
-
以四舍五入到最近偶数模式计算
half双曲正切函数。 - __device__ __half htanh_approx(const __half a)
-
计算近似的
半双曲正切函数。 - __device__ __half htrunc(const __half h)
-
将输入参数截断为整数部分。
4.4.1. 函数
-
__device__ __half hceil(const __half h)
-
计算输入参数的向上取整值。
计算不小于
h的最小整数值。- Parameters
-
h – [输入] - 半精度。仅用于读取。
- Returns
-
半精度
不小于
h的最小整数值。hceil( \( \pm 0 \) ) 返回 \( \pm 0 \)。
hceil( \( \pm \infty \) ) 返回 \( \pm \infty \)。
hceil(NaN) 返回 NaN。
-
__device__ __half hcos(const __half a)
-
以四舍五入到最近偶数模式计算
half余弦值。计算输入
a的半余弦值,采用四舍五入到最近偶数模式。- Parameters
-
a – [输入] - 半精度。仅用于读取。
- Returns
-
半精度
a的余弦值。hcos \( (\pm 0)\) 返回1。
hcos \( (\pm \infty)\) 返回 NaN。
hcos(NaN) 返回 NaN。
-
__device__ __half hexp(const __half a)
-
以四舍五入到最近偶数模式计算
half自然指数函数。计算输入值的
half自然指数函数:\( e^{a}\),采用四舍五入到最近偶数模式。- Parameters
-
a – [输入] - 半精度。仅用于读取。
- Returns
-
半精度
a的自然指数函数。hexp \( (\pm 0)\) 返回1。
hexp \( (-\infty)\) 返回 +0。
hexp \( (+\infty)\) 返回 \( +\infty \)。
hexp(NaN) 返回 NaN。
-
__device__ __half hexp10(const __half a)
-
计算
half十进制指数函数,采用四舍五入到最接近的偶数模式。计算输入值的
half十进制指数函数:\( 10^{a}\),采用四舍五入到最近偶数模式。- Parameters
-
a – [输入] - 半精度。仅用于读取。
- Returns
-
半精度
a上的十进制指数函数。hexp10 \( (\pm 0)\) 返回1。
hexp10 \( (-\infty)\) 返回 +0。
hexp10 \( (+\infty)\) 返回 \( +\infty \)。
hexp10(NaN) 返回 NaN。
-
__device__ __half hexp2(const __half a)
-
以四舍五入到最近偶数模式计算
half二进制指数函数。计算输入值的
half二进制指数函数:采用四舍五入到最近偶数模式计算\( 2^{a}\)。- Parameters
-
a – [输入] - 半精度。仅用于读取。
- Returns
-
半精度
a上的二进制指数函数。hexp2 \( (\pm 0)\) 返回1。
hexp2 \( (-\infty)\) 返回 +0。
hexp2 \( (+\infty)\) 返回 \( +\infty \)。
hexp2(NaN) 返回 NaN。
-
__device__ __half hfloor(const __half h)
-
计算小于或等于
h的最大整数。计算小于或等于
h的最大整数值。- Parameters
-
h – [输入] - 半精度。仅用于读取。
- Returns
-
半精度
小于或等于
h的最大整数值。hfloor( \( \pm 0 \) ) 返回 \( \pm 0 \)。
hfloor( \( \pm \infty \) ) 返回 \( \pm \infty \)。
hfloor(NaN) 返回 NaN。
-
__device__ __half hlog(const __half a)
-
以四舍五入到最近偶数模式计算
half的自然对数。计算输入值的
half自然对数:在四舍五入到最近偶数模式下计算\( \ln(a)\)。- Parameters
-
a – [输入] - 半精度。仅用于读取。
- Returns
-
半精度
a的自然对数。hlog \( (\pm 0)\) 返回 \( -\infty \)。
hlog(1) 返回 +0。
hlog(x), 当x < 0时返回NaN。
hlog \( (+\infty)\) 返回 \( +\infty \)。
hlog(NaN) 返回 NaN。
-
__device__ __half hlog10(const __half a)
-
以四舍五入到最近偶数模式计算
half的十进制对数。计算输入值的
half十进制对数:采用四舍五入到最近偶数模式计算\( \log_{10}(a)\)。- Parameters
-
a – [输入] - 半精度。仅用于读取。
- Returns
-
半精度
a的十进制对数。hlog10 \( (\pm 0)\) 返回 \( -\infty \)。
hlog10(1) 返回 +0。
hlog10(x),当x小于0时返回NaN。
hlog10 \( (+\infty)\) 返回 \( +\infty \)。
hlog10(NaN) 返回 NaN。
-
__device__ __half hlog2(const __half a)
-
计算
half二进制对数,采用四舍五入到最接近偶数的模式。计算输入值的
half二进制对数:采用四舍五入到最近偶数模式计算\( \log_{2}(a)\)。- Parameters
-
a – [输入] - 半精度。仅用于读取。
- Returns
-
半精度
a的二进制对数。hlog2 \( (\pm 0)\) 返回 \( -\infty \)。
hlog2(1) 返回 +0。
hlog2(x),当x小于0时返回NaN。
hlog2 \( (+\infty)\) 返回 \( +\infty \)。
hlog2(NaN) 返回 NaN。
-
__device__ __half hrcp(const __half a)
-
以四舍五入到最近偶数模式计算
half的倒数。计算输入值的
half倒数:在四舍五入到最近偶数模式下求\( \frac{1}{a}\)。- Parameters
-
a – [输入] - 半精度。仅用于读取。
- Returns
-
半精度
a的倒数。hrcp \( (\pm 0)\) 返回 \( \pm \infty \)。
hrcp \( (\pm \infty)\) 返回 \( \pm 0 \)。
hrcp(NaN) 返回 NaN。
-
__device__ __half hrint(const __half h)
-
将输入四舍五入为半精度浮点数中最接近的整数值。
将
h四舍五入为半精度浮点格式中最接近的整数值,中间值情况向最近的偶数整数值舍入。- Parameters
-
h – [输入] - 半精度。仅用于读取。
- Returns
-
半精度
最接近
h的整数。hrint( \( \pm 0 \) ) 返回 \( \pm 0 \).
hrint( \( \pm \infty \) ) 返回 \( \pm \infty \)。
hrint(NaN) 返回 NaN。
-
__device__ __half hrsqrt(const __half a)
-
以四舍五入到最近偶数模式计算
half的倒数平方根。计算输入值的
half倒数平方根:\( \frac{1}{\sqrt{a}}\),采用四舍五入到最接近偶数的模式。- Parameters
-
a – [输入] - 半精度。仅用于读取。
- Returns
-
半精度
a的倒数平方根。hrsqrt \( (\pm 0)\) 返回 \( \pm \infty \)。
hrsqrt \( (+\infty)\) 返回 +0。
hrsqrt \( (x), x < 0.0\) 当x小于0.0时返回NaN。
hrsqrt(NaN) 返回 NaN。
-
__device__ __half hsin(const __half a)
-
计算
half正弦值,采用四舍五入到最近偶数模式。计算输入
a的半正弦值,采用四舍五入到最近偶数模式。- Parameters
-
a – [输入] - 半精度。仅用于读取。
- Returns
-
半精度
a的正弦值。hsin \( (\pm 0)\) 返回 \( (\pm 0)\)。
hsin \( (\pm \infty)\) 返回 NaN。
hsin(NaN) 返回 NaN。
-
__device__ __half hsqrt(const __half a)
-
以四舍五入到最近偶数模式计算
half的平方根。计算输入的
half平方根:\( \sqrt{a} \),采用四舍五入到最近偶数模式。- Parameters
-
a – [输入] - 半精度。仅用于读取。
- Returns
-
半精度
a的平方根。hsqrt \( (+\infty)\) 返回 \( +\infty \)。
hsqrt \( (\pm 0)\) 返回 \( \pm 0 \)。
hsqrt \( (x), x < 0.0\) 返回NaN。
hsqrt(NaN) 返回 NaN。
-
__device__ __half htanh(const __half a)
-
计算
half双曲正切函数,采用四舍五入到最接近的偶数模式。计算
half双曲正切函数:\( \tanh(a)\),采用四舍五入到最近偶数的模式。- Parameters
-
a – [输入] - 半精度。仅用于读取。
- Returns
-
半精度
a的双曲正切函数。htanh \( (\pm 0)\) 返回 \( (\pm 0)\)。
htanh \( (\pm\infty)\) 返回 \( (\pm 1)\)。
htanh(NaN) 返回 NaN。