1.1.7. Half2 Math Functions
[Half Precision Intrinsics]
To use these functions, include the header file cuda_fp16.h in your program.
Functions
- __device__ __half2 atomicAdd ( const __half2* address, const __half2 val )
- Vector add val to the value stored at address in global or shared memory, and writes this value back to address. The atomicity of the add operation is guaranteed separately for each of the two __half elements; the entire __half2 is not guaranteed to be atomic as a single 32-bit access.
- __device__ __half2 h2ceil ( const __half2 h )
- Calculate half2 vector ceiling of the input argument.
- __device__ __half2 h2cos ( const __half2 a )
- Calculates half2 vector cosine in round-to-nearest-even mode.
- __device__ __half2 h2exp ( const __half2 a )
- Calculates half2 vector exponential function in round-to-nearest mode.
- __device__ __half2 h2exp10 ( const __half2 a )
- Calculates half2 vector decimal exponential function in round-to-nearest-even mode.
- __device__ __half2 h2exp2 ( const __half2 a )
- Calculates half2 vector binary exponential function in round-to-nearest-even mode.
- __device__ __half2 h2floor ( const __half2 h )
- Calculate the largest integer less than or equal to h.
- __device__ __half2 h2log ( const __half2 a )
- Calculates half2 vector natural logarithm in round-to-nearest-even mode.
- __device__ __half2 h2log10 ( const __half2 a )
- Calculates half2 vector decimal logarithm in round-to-nearest-even mode.
- __device__ __half2 h2log2 ( const __half2 a )
- Calculates half2 vector binary logarithm in round-to-nearest-even mode.
- __device__ __half2 h2rcp ( const __half2 a )
- Calculates half2 vector reciprocal in round-to-nearest-even mode.
- __device__ __half2 h2rint ( const __half2 h )
- Round input to nearest integer value in half-precision floating-point number.
- __device__ __half2 h2rsqrt ( const __half2 a )
- Calculates half2 vector reciprocal square root in round-to-nearest mode.
- __device__ __half2 h2sin ( const __half2 a )
- Calculates half2 vector sine in round-to-nearest-even mode.
- __device__ __half2 h2sqrt ( const __half2 a )
- Calculates half2 vector square root in round-to-nearest-even mode.
- __device__ __half2 h2trunc ( const __half2 h )
- Truncate half2 vector input argument to the integral part.
Functions
- __device__ __half2 atomicAdd ( const __half2* address, const __half2 val )
-
Vector add val to the value stored at address in global or shared memory, and writes this value back to address. The atomicity of the add operation is guaranteed separately for each of the two __half elements; the entire __half2 is not guaranteed to be atomic as a single 32-bit access.
Parameters
- address
- - half2*. An address in global or shared memory.
- val
- - half2. The value to be added.
Returns
half2
- 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 6.x and higher.
Note:For more details for this function see the Atomic Functions section in the CUDA C++ Programming Guide.
- __device__ __half2 h2ceil ( const __half2 h )
-
Calculate half2 vector ceiling of the input argument.
Parameters
- h
- - half2. Is only being read.
Returns
half2
- The
vector of smallest integers not less than h.
Description
For each component of vector h compute the smallest integer value not less than h.
- __device__ __half2 h2cos ( const __half2 a )
-
Calculates half2 vector cosine in round-to-nearest-even mode.
Parameters
- a
- - half2. Is only being read.
Returns
half2
- The
elementwise cosine on vector a.
Description
Calculates half2 cosine of input vector a in round-to-nearest-even mode.
- __device__ __half2 h2exp ( const __half2 a )
-
Calculates half2 vector exponential function in round-to-nearest mode.
Parameters
- a
- - half2. Is only being read.
Returns
half2
- The
elementwise exponential function on vector a.
Description
Calculates half2 exponential function of input vector a in round-to-nearest-even mode.
- __device__ __half2 h2exp10 ( const __half2 a )
-
Calculates half2 vector decimal exponential function in round-to-nearest-even mode.
Parameters
- a
- - half2. Is only being read.
Returns
half2
- The
elementwise decimal exponential function on vector a.
Description
Calculates half2 decimal exponential function of input vector a in round-to-nearest-even mode.
- __device__ __half2 h2exp2 ( const __half2 a )
-
Calculates half2 vector binary exponential function in round-to-nearest-even mode.
Parameters
- a
- - half2. Is only being read.
Returns
half2
- The
elementwise binary exponential function on vector a.
Description
Calculates half2 binary exponential function of input vector a in round-to-nearest-even mode.
- __device__ __half2 h2floor ( const __half2 h )
-
Calculate the largest integer less than or equal to h.
Parameters
- h
- - half2. Is only being read.
Returns
half2
- The
vector of largest integers which is less than or equal to h.
Description
For each component of vector h calculate the largest integer value which is less than or equal to h.
- __device__ __half2 h2log ( const __half2 a )
-
Calculates half2 vector natural logarithm in round-to-nearest-even mode.
Parameters
- a
- - half2. Is only being read.
Returns
half2
- The
elementwise natural logarithm on vector a.
Description
Calculates half2 natural logarithm of input vector a in round-to-nearest-even mode.
- __device__ __half2 h2log10 ( const __half2 a )
-
Calculates half2 vector decimal logarithm in round-to-nearest-even mode.
Parameters
- a
- - half2. Is only being read.
Returns
half2
- The
elementwise decimal logarithm on vector a.
Description
Calculates half2 decimal logarithm of input vector a in round-to-nearest-even mode.
- __device__ __half2 h2log2 ( const __half2 a )
-
Calculates half2 vector binary logarithm in round-to-nearest-even mode.
Parameters
- a
- - half2. Is only being read.
Returns
half2
- The
elementwise binary logarithm on vector a.
Description
Calculates half2 binary logarithm of input vector a in round-to-nearest mode.
- __device__ __half2 h2rcp ( const __half2 a )
-
Calculates half2 vector reciprocal in round-to-nearest-even mode.
Parameters
- a
- - half2. Is only being read.
Returns
half2
- The
elementwise reciprocal on vector a.
Description
Calculates half2 reciprocal of input vector a in round-to-nearest-even mode.
- __device__ __half2 h2rint ( const __half2 h )
-
Round input to nearest integer value in half-precision floating-point number.
Parameters
- h
- - half2. Is only being read.
Returns
half2
- The
vector of rounded integer values.
Description
Round each component of half2 vector h to the nearest integer value in half-precision floating-point format, with halfway cases rounded to the nearest even integer value.
- __device__ __half2 h2rsqrt ( const __half2 a )
-
Calculates half2 vector reciprocal square root in round-to-nearest mode.
Parameters
- a
- - half2. Is only being read.
Returns
half2
- The
elementwise reciprocal square root on vector a.
Description
Calculates half2 reciprocal square root of input vector a in round-to-nearest-even mode.
- __device__ __half2 h2sin ( const __half2 a )
-
Calculates half2 vector sine in round-to-nearest-even mode.
Parameters
- a
- - half2. Is only being read.
Returns
half2
- The
elementwise sine on vector a.
Description
Calculates half2 sine of input vector a in round-to-nearest-even mode.
- __device__ __half2 h2sqrt ( const __half2 a )
-
Calculates half2 vector square root in round-to-nearest-even mode.
Parameters
- a
- - half2. Is only being read.
Returns
half2
- The
elementwise square root on vector a.
Description
Calculates half2 square root of input vector a in round-to-nearest mode.
- __device__ __half2 h2trunc ( const __half2 h )
-
Truncate half2 vector input argument to the integral part.
Parameters
- h
- - half2. Is only being read.
Returns
half2
- The
truncated h.
Description
Round each component of vector h to the nearest integer value that does not exceed h in magnitude.