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