1.1.2. Half2 Arithmetic Functions
[Half Precision Intrinsics]
To use these functions include the header file cuda_fp16.h in your program.
Functions
 __device__ __half2 __hadd2 ( const __half2 a, const __half2 b ) throw ( )
 Performs half2 vector addition in roundtonearesteven mode.
 __device__ __half2 __hadd2_sat ( const __half2 a, const __half2 b ) throw ( )
 Performs half2 vector addition in roundtonearesteven mode, with saturation to [0.0, 1.0].
 __device__ __half2 __hfma2 ( const __half2 a, const __half2 b, const __half2 c ) throw ( )
 Performs half2 vector fused multiplyadd in roundtonearesteven mode.
 __device__ __half2 __hfma2_sat ( const __half2 a, const __half2 b, const __half2 c ) throw ( )
 Performs half2 vector fused multiplyadd in roundtonearesteven mode, with saturation to [0.0, 1.0].
 __device__ __half2 __hmul2 ( const __half2 a, const __half2 b ) throw ( )
 Performs half2 vector multiplication in roundtonearesteven mode.
 __device__ __half2 __hmul2_sat ( const __half2 a, const __half2 b ) throw ( )
 Performs half2 vector multiplication in roundtonearesteven mode, with saturation to [0.0, 1.0].
 __device__ __half2 __hneg2 ( const __half2 a ) throw ( )
 Negates both halves of the input half2 number and returns the result.
 __device__ __half2 __hsub2 ( const __half2 a, const __half2 b ) throw ( )
 Performs half2 vector subtraction in roundtonearesteven mode.
 __device__ __half2 __hsub2_sat ( const __half2 a, const __half2 b ) throw ( )
 Performs half2 vector subtraction in roundtonearesteven mode, with saturation to [0.0, 1.0].
Functions
 __device__ __half2 __hadd2 ( const __half2 a, const __half2 b ) throw ( )

Performs half2 vector addition in roundtonearesteven mode.
Parameters
 a
  half2. Is only being read.
 b
  half2. Is only being read.
Returns
half2
 The
sum of vectors a and b.
Description
Performs half2 vector add of inputs a and b, in roundtonearest mode. DEEPLEARNSRM_REQ95
 __device__ __half2 __hadd2_sat ( const __half2 a, const __half2 b ) throw ( )

Performs half2 vector addition in roundtonearesteven mode, with saturation to [0.0, 1.0].
Parameters
 a
  half2. Is only being read.
 b
  half2. Is only being read.
Returns
half2
 The
sum of a and b, with respect to saturation.
Description
Performs half2 vector add of inputs a and b, in roundtonearest mode, and clamps the results to range [0.0, 1.0]. NaN results are flushed to +0.0. TBR
 __device__ __half2 __hfma2 ( const __half2 a, const __half2 b, const __half2 c ) throw ( )

Performs half2 vector fused multiplyadd in roundtonearesteven mode.
Parameters
 a
  half2. Is only being read.
 b
  half2. Is only being read.
 c
  half2. Is only being read.
Returns
half2
 The
result of elementwise fused multiplyadd operation on vectors a, b, and c.
Description
Performs half2 vector multiply on inputs a and b, then performs a half2 vector add of the result with c, rounding the result once in roundtonearesteven mode. DEEPLEARNSRM_REQ105
 __device__ __half2 __hfma2_sat ( const __half2 a, const __half2 b, const __half2 c ) throw ( )

Performs half2 vector fused multiplyadd in roundtonearesteven mode, with saturation to [0.0, 1.0].
Parameters
 a
  half2. Is only being read.
 b
  half2. Is only being read.
 c
  half2. Is only being read.
Returns
half2
 The
result of elementwise fused multiplyadd operation on vectors a, b, and c, with respect to saturation.
Description
Performs half2 vector multiply on inputs a and b, then performs a half2 vector add of the result with c, rounding the result once in roundtonearesteven mode, and clamps the results to range [0.0, 1.0]. NaN results are flushed to +0.0. TBR
 __device__ __half2 __hmul2 ( const __half2 a, const __half2 b ) throw ( )

Performs half2 vector multiplication in roundtonearesteven mode.
Parameters
 a
  half2. Is only being read.
 b
  half2. Is only being read.
Returns
half2
 The
result of elementwise multiplying the vectors a and b.
Description
Performs half2 vector multiplication of inputs a and b, in roundtonearesteven mode. DEEPLEARNSRM_REQ102
 __device__ __half2 __hmul2_sat ( const __half2 a, const __half2 b ) throw ( )

Performs half2 vector multiplication in roundtonearesteven mode, with saturation to [0.0, 1.0].
Parameters
 a
  half2. Is only being read.
 b
  half2. Is only being read.
Returns
half2
 The
result of elementwise multiplication of vectors a and b, with respect to saturation.
Description
Performs half2 vector multiplication of inputs a and b, in roundtonearesteven mode, and clamps the results to range [0.0, 1.0]. NaN results are flushed to +0.0. TBR
 __device__ __half2 __hneg2 ( const __half2 a ) throw ( )

Negates both halves of the input half2 number and returns the result.
Parameters
 a
  half2. Is only being read.
Returns
half2
 Returns
a with both halves negated.
Description
Negates both halves of the input half2 number a and returns the result. DEEPLEARNSRM_REQ101
 __device__ __half2 __hsub2 ( const __half2 a, const __half2 b ) throw ( )

Performs half2 vector subtraction in roundtonearesteven mode.
Parameters
 a
  half2. Is only being read.
 b
  half2. Is only being read.
Returns
half2
 The
subtraction of vector b from a.
Description
Subtracts half2 input vector b from input vector a in roundtonearesteven mode. DEEPLEARNSRM_REQ104
 __device__ __half2 __hsub2_sat ( const __half2 a, const __half2 b ) throw ( )

Performs half2 vector subtraction in roundtonearesteven mode, with saturation to [0.0, 1.0].
Parameters
 a
  half2. Is only being read.
 b
  half2. Is only being read.
Returns
half2
 The
subtraction of vector b from a, with respect to saturation.
Description
Subtracts half2 input vector b from input vector a in roundtonearesteven mode, and clamps the results to range [0.0, 1.0]. NaN results are flushed to +0.0. TBR