1.1.6. Half Math Functions
[Half Precision Intrinsics]
To use these functions, include the header file cuda_fp16.h in your program.
Functions
- __device__  __half atomicAdd ( const __half* address, const __half val )
 - Adds val to the value stored at address in global or shared memory, and writes this value back to address. This operation is performed in one atomic operation.
 - __device__  __half hceil ( const __half h )
 - Calculate ceiling of the input argument.
 - __device__  __half hcos ( const __half a )
 - Calculates half cosine in round-to-nearest-even mode.
 - __device__  __half hexp ( const __half a )
 - Calculates half natural exponential function in round-to-nearest mode.
 - __device__  __half hexp10 ( const __half a )
 - Calculates half decimal exponential function in round-to-nearest mode.
 - __device__  __half hexp2 ( const __half a )
 - Calculates half binary exponential function in round-to-nearest mode.
 - __device__  __half hfloor ( const __half h )
 - Calculate the largest integer less than or equal to h.
 - __device__  __half hlog ( const __half a )
 - Calculates half natural logarithm in round-to-nearest-even mode.
 - __device__  __half hlog10 ( const __half a )
 - Calculates half decimal logarithm in round-to-nearest-even mode.
 - __device__  __half hlog2 ( const __half a )
 - Calculates half binary logarithm in round-to-nearest-even mode.
 - __device__  __half hrcp ( const __half a )
 - Calculates half reciprocal in round-to-nearest-even mode.
 - __device__  __half hrint ( const __half h )
 - Round input to nearest integer value in half-precision floating-point number.
 - __device__  __half hrsqrt ( const __half a )
 - Calculates half reciprocal square root in round-to-nearest-even mode.
 - __device__  __half hsin ( const __half a )
 - Calculates half sine in round-to-nearest-even mode.
 - __device__  __half hsqrt ( const __half a )
 - Calculates half square root in round-to-nearest-even mode.
 - __device__  __half htrunc ( const __half h )
 - Truncate input argument to the integral part.
 
Functions
- __device__  __half atomicAdd ( const __half* address, const __half val )
 - 
                           Adds val to the value stored at address in global or shared memory, and writes this value back to address. This operation is performed in one atomic operation.
Parameters
- address
 - - half*. An address in global or shared memory.
 - val
 - - half. The value to be added.
 
Returns
half
- The 
                                       
old value read from address.
 
Description
The location of address must be in global or shared memory. This operation has undefined behavior otherwise. This operation is only supported by devices of compute capability 7.x and higher.
Note:For more details for this function see the Atomic Functions section in the CUDA C++ Programming Guide.
 - __device__  __half hceil ( const __half h )
 - 
                           Calculate ceiling of the input argument.
Parameters
- h
 - - half. Is only being read.
 
Returns
half
- The 
                                       
smallest integer value not less than h.
 
Description
Compute the smallest integer value not less than h.
 - __device__  __half hcos ( const __half a )
 - 
                           Calculates half cosine in round-to-nearest-even mode.
Parameters
- a
 - - half. Is only being read.
 
Returns
half
- The 
                                       
cosine of a.
 
Description
Calculates half cosine of input a in round-to-nearest-even mode.
 - __device__  __half hexp ( const __half a )
 - 
                           Calculates half natural exponential function in round-to-nearest mode.
Parameters
- a
 - - half. Is only being read.
 
Returns
half
- The 
                                       
natural exponential function on a.
 
Description
Calculates half natural exponential function of input a in round-to-nearest-even mode.
 - __device__  __half hexp10 ( const __half a )
 - 
                           Calculates half decimal exponential function in round-to-nearest mode.
Parameters
- a
 - - half. Is only being read.
 
Returns
half
- The 
                                       
decimal exponential function on a.
 
Description
Calculates half decimal exponential function of input a in round-to-nearest-even mode.
 - __device__  __half hexp2 ( const __half a )
 - 
                           Calculates half binary exponential function in round-to-nearest mode.
Parameters
- a
 - - half. Is only being read.
 
Returns
half
- The 
                                       
binary exponential function on a.
 
Description
Calculates half binary exponential function of input a in round-to-nearest-even mode.
 - __device__  __half hfloor ( const __half h )
 - 
                           Calculate the largest integer less than or equal to h.
Parameters
- h
 - - half. Is only being read.
 
Returns
half
- The 
                                       
largest integer value which is less than or equal to h.
 
Description
Calculate the largest integer value which is less than or equal to h.
 - __device__  __half hlog ( const __half a )
 - 
                           Calculates half natural logarithm in round-to-nearest-even mode.
Parameters
- a
 - - half. Is only being read.
 
Returns
half
- The 
                                       
natural logarithm of a.
 
Description
Calculates half natural logarithm of input a in round-to-nearest-even mode.
 - __device__  __half hlog10 ( const __half a )
 - 
                           Calculates half decimal logarithm in round-to-nearest-even mode.
Parameters
- a
 - - half. Is only being read.
 
Returns
half
- The 
                                       
decimal logarithm of a.
 
Description
Calculates half decimal logarithm of input a in round-to-nearest-even mode.
 - __device__  __half hlog2 ( const __half a )
 - 
                           Calculates half binary logarithm in round-to-nearest-even mode.
Parameters
- a
 - - half. Is only being read.
 
Returns
half
- The 
                                       
binary logarithm of a.
 
Description
Calculates half binary logarithm of input a in round-to-nearest-even mode.
 - __device__  __half hrcp ( const __half a )
 - 
                           Calculates half reciprocal in round-to-nearest-even mode.
Parameters
- a
 - - half. Is only being read.
 
Returns
half
- The 
                                       
reciprocal of a.
 
Description
Calculates half reciprocal of input a in round-to-nearest-even mode.
 - __device__  __half hrint ( const __half h )
 - 
                           Round input to nearest integer value in half-precision floating-point number.
Parameters
- h
 - - half. Is only being read.
 
Returns
half
- The 
                                       
nearest integer to h.
 
Description
Round h to the nearest integer value in half-precision floating-point format, with halfway cases rounded to the nearest even integer value.
 - __device__  __half hrsqrt ( const __half a )
 - 
                           Calculates half reciprocal square root in round-to-nearest-even mode.
Parameters
- a
 - - half. Is only being read.
 
Returns
half
- The 
                                       
reciprocal square root of a.
 
Description
Calculates half reciprocal square root of input a in round-to-nearest mode.
 - __device__  __half hsin ( const __half a )
 - 
                           Calculates half sine in round-to-nearest-even mode.
Parameters
- a
 - - half. Is only being read.
 
Returns
half
- The 
                                       
sine of a.
 
Description
Calculates half sine of input a in round-to-nearest-even mode.
 - __device__  __half hsqrt ( const __half a )
 - 
                           Calculates half square root in round-to-nearest-even mode.
Parameters
- a
 - - half. Is only being read.
 
Returns
half
- The 
                                       
square root of a.
 
Description
Calculates half square root of input a in round-to-nearest-even mode.
 - __device__  __half htrunc ( const __half h )
 - 
                           Truncate input argument to the integral part.
Parameters
- h
 - - half. Is only being read.
 
Returns
half
- The 
                                       
truncated integer value.
 
Description
Round h to the nearest integer value that does not exceed h in magnitude.