CUDA Math API (PDF) - v11.0.207 (older) - Last updated June 29, 2020 - Send Feedback

## 1.2.6. Bfloat16 Math Functions

## [Bfloat16 Precision Intrinsics]

To use these functions include the header file `cuda_bf16.h` in your program.

### Functions

__device__ ​ __nv_bfloat16 hceil ( const __nv_bfloat16 h )
  Calculate ceiling of the input argument.
__device__ ​ __nv_bfloat16 hcos ( const __nv_bfloat16 a )
  Calculates `nv_bfloat16` cosine in round-to-nearest-even mode.
__device__ ​ __nv_bfloat16 hexp ( const __nv_bfloat16 a )
  Calculates `nv_bfloat16` natural exponential function in round-to-nearest mode.
__device__ ​ __nv_bfloat16 hexp10 ( const __nv_bfloat16 a )
  Calculates `nv_bfloat16` decimal exponential function in round-to-nearest mode.
__device__ ​ __nv_bfloat16 hexp2 ( const __nv_bfloat16 a )
  Calculates `nv_bfloat16` binary exponential function in round-to-nearest mode.
__device__ ​ __nv_bfloat16 hfloor ( const __nv_bfloat16 h )
  Calculate the largest integer less than or equal to `h`.
__device__ ​ __nv_bfloat16 hlog ( const __nv_bfloat16 a )
  Calculates `nv_bfloat16` natural logarithm in round-to-nearest-even mode.
__device__ ​ __nv_bfloat16 hlog10 ( const __nv_bfloat16 a )
  Calculates `nv_bfloat16` decimal logarithm in round-to-nearest-even mode.
__device__ ​ __nv_bfloat16 hlog2 ( const __nv_bfloat16 a )
  Calculates `nv_bfloat16` binary logarithm in round-to-nearest-even mode.
__device__ ​ __nv_bfloat16 hrcp ( const __nv_bfloat16 a )
  Calculates `nv_bfloat16` reciprocal in round-to-nearest-even mode.
__device__ ​ __nv_bfloat16 hrint ( const __nv_bfloat16 h )
  Round input to nearest integer value in nv_bfloat16-precision floating point number.
__device__ ​ __nv_bfloat16 hrsqrt ( const __nv_bfloat16 a )
  Calculates `nv_bfloat16` reciprocal square root in round-to-nearest-even mode.
__device__ ​ __nv_bfloat16 hsin ( const __nv_bfloat16 a )
  Calculates `nv_bfloat16` sine in round-to-nearest-even mode.
__device__ ​ __nv_bfloat16 hsqrt ( const __nv_bfloat16 a )
  Calculates `nv_bfloat16` square root in round-to-nearest-even mode.
__device__ ​ __nv_bfloat16 htrunc ( const __nv_bfloat16 h )
  Truncate input argument to the integral part.

### Functions

__device__ ​ __nv_bfloat16 hceil ( const __nv_bfloat16 h )
  Calculate ceiling of the input argument.

  ###### Parameters

  `h`
    - nv_bfloat16. Is only being read.

  ###### Returns

  nv_bfloat16

  - The

    smallest integer value not less than `h`.

  ###### Description

  Compute the smallest integer value not less than `h`.

__device__ ​ __nv_bfloat16 hcos ( const __nv_bfloat16 a )
  Calculates `nv_bfloat16` cosine in round-to-nearest-even mode.

  ###### Parameters

  `a`
    - nv_bfloat16. Is only being read.

  ###### Returns

  nv_bfloat16

  - The

    cosine of `a`.

  ###### Description

  Calculates `nv_bfloat16` cosine of input `a` in round-to-nearest-even mode.

__device__ ​ __nv_bfloat16 hexp ( const __nv_bfloat16 a )
  Calculates `nv_bfloat16` natural exponential function in round-to-nearest mode.

  ###### Parameters

  `a`
    - nv_bfloat16. Is only being read.

  ###### Returns

  nv_bfloat16

  - The

    natural exponential function on `a`.

  ###### Description

  Calculates `nv_bfloat16` natural exponential function of input `a` in round-to-nearest-even mode.

__device__ ​ __nv_bfloat16 hexp10 ( const __nv_bfloat16 a )
  Calculates `nv_bfloat16` decimal exponential function in round-to-nearest mode.

  ###### Parameters

  `a`
    - nv_bfloat16. Is only being read.

  ###### Returns

  nv_bfloat16

  - The

    decimal exponential function on `a`.

  ###### Description

  Calculates `nv_bfloat16` decimal exponential function of input `a` in round-to-nearest-even mode.

__device__ ​ __nv_bfloat16 hexp2 ( const __nv_bfloat16 a )
  Calculates `nv_bfloat16` binary exponential function in round-to-nearest mode.

  ###### Parameters

  `a`
    - nv_bfloat16. Is only being read.

  ###### Returns

  nv_bfloat16

  - The

    binary exponential function on `a`.

  ###### Description

  Calculates `nv_bfloat16` binary exponential function of input `a` in round-to-nearest-even mode.

__device__ ​ __nv_bfloat16 hfloor ( const __nv_bfloat16 h )
  Calculate the largest integer less than or equal to `h`.

  ###### Parameters

  `h`
    - nv_bfloat16. Is only being read.

  ###### Returns

  nv_bfloat16

  - 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__ ​ __nv_bfloat16 hlog ( const __nv_bfloat16 a )
  Calculates `nv_bfloat16` natural logarithm in round-to-nearest-even mode.

  ###### Parameters

  `a`
    - nv_bfloat16. Is only being read.

  ###### Returns

  nv_bfloat16

  - The

    natural logarithm of `a`.

  ###### Description

  Calculates `nv_bfloat16` natural logarithm of input `a` in round-to-nearest-even mode.

__device__ ​ __nv_bfloat16 hlog10 ( const __nv_bfloat16 a )
  Calculates `nv_bfloat16` decimal logarithm in round-to-nearest-even mode.

  ###### Parameters

  `a`
    - nv_bfloat16. Is only being read.

  ###### Returns

  nv_bfloat16

  - The

    decimal logarithm of `a`.

  ###### Description

  Calculates `nv_bfloat16` decimal logarithm of input `a` in round-to-nearest-even mode.

__device__ ​ __nv_bfloat16 hlog2 ( const __nv_bfloat16 a )
  Calculates `nv_bfloat16` binary logarithm in round-to-nearest-even mode.

  ###### Parameters

  `a`
    - nv_bfloat16. Is only being read.

  ###### Returns

  nv_bfloat16

  - The

    binary logarithm of `a`.

  ###### Description

  Calculates `nv_bfloat16` binary logarithm of input `a` in round-to-nearest-even mode.

__device__ ​ __nv_bfloat16 hrcp ( const __nv_bfloat16 a )
  Calculates `nv_bfloat16` reciprocal in round-to-nearest-even mode.

  ###### Parameters

  `a`
    - nv_bfloat16. Is only being read.

  ###### Returns

  nv_bfloat16

  - The

    reciprocal of `a`.

  ###### Description

  Calculates `nv_bfloat16` reciprocal of input `a` in round-to-nearest-even mode.

__device__ ​ __nv_bfloat16 hrint ( const __nv_bfloat16 h )
  Round input to nearest integer value in nv_bfloat16-precision floating point number.

  ###### Parameters

  `h`
    - nv_bfloat16. Is only being read.

  ###### Returns

  nv_bfloat16

  - The

    nearest integer to `h`.

  ###### Description

  Round `h` to the nearest integer value in nv_bfloat16-precision floating point format, with bfloat16way cases rounded to the nearest even integer value.

__device__ ​ __nv_bfloat16 hrsqrt ( const __nv_bfloat16 a )
  Calculates `nv_bfloat16` reciprocal square root in round-to-nearest-even mode.

  ###### Parameters

  `a`
    - nv_bfloat16. Is only being read.

  ###### Returns

  nv_bfloat16

  - The

    reciprocal square root of `a`.

  ###### Description

  Calculates `nv_bfloat16` reciprocal square root of input `a` in round-to-nearest mode.

__device__ ​ __nv_bfloat16 hsin ( const __nv_bfloat16 a )
  Calculates `nv_bfloat16` sine in round-to-nearest-even mode.

  ###### Parameters

  `a`
    - nv_bfloat16. Is only being read.

  ###### Returns

  nv_bfloat16

  - The

    sine of `a`.

  ###### Description

  Calculates `nv_bfloat16` sine of input `a` in round-to-nearest-even mode.

__device__ ​ __nv_bfloat16 hsqrt ( const __nv_bfloat16 a )
  Calculates `nv_bfloat16` square root in round-to-nearest-even mode.

  ###### Parameters

  `a`
    - nv_bfloat16. Is only being read.

  ###### Returns

  nv_bfloat16

  - The

    square root of `a`.

  ###### Description

  Calculates `nv_bfloat16` square root of input `a` in round-to-nearest-even mode.

__device__ ​ __nv_bfloat16 htrunc ( const __nv_bfloat16 h )
  Truncate input argument to the integral part.

  ###### Parameters

  `h`
    - nv_bfloat16. Is only being read.

  ###### Returns

  nv_bfloat16

  - The

    truncated integer value.

  ###### Description

  Round `h` to the nearest integer value that does not exceed `h` in magnitude.