5.7. Bfloat162 比较函数

要使用这些函数,请在程序中包含头文件 cuda_bf16.h

函数

__host__ __device__ bool __hbeq2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量相等比较,如果两个 nv_bfloat16 结果都为 true,则返回布尔值 true,否则返回布尔值 false。

__host__ __device__ bool __hbequ2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序相等比较,如果两个 nv_bfloat16 结果都为 true,则返回布尔值 true,否则返回布尔值 false。

__host__ __device__ bool __hbge2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量大于等于比较,如果两个 nv_bfloat16 结果都为 true,则返回布尔值 true,否则返回布尔值 false。

__host__ __device__ bool __hbgeu2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序大于等于比较,如果两个 nv_bfloat16 结果都为 true,则返回布尔值 true,否则返回布尔值 false。

__host__ __device__ bool __hbgt2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量大于比较,如果两个 nv_bfloat16 结果都为 true,则返回布尔值 true,否则返回布尔值 false。

__host__ __device__ bool __hbgtu2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序大于比较,如果两个 nv_bfloat16 结果都为 true,则返回布尔值 true,否则返回布尔值 false。

__host__ __device__ bool __hble2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量小于等于比较,如果两个 nv_bfloat16 结果都为 true,则返回布尔值 true,否则返回布尔值 false。

__host__ __device__ bool __hbleu2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序小于等于比较,如果两个 nv_bfloat16 结果都为 true,则返回布尔值 true,否则返回布尔值 false。

__host__ __device__ bool __hblt2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量小于比较,如果两个 nv_bfloat16 结果都为 true,则返回布尔值 true,否则返回布尔值 false。

__host__ __device__ bool __hbltu2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序小于比较,如果两个 nv_bfloat16 结果都为 true,则返回布尔值 true,否则返回布尔值 false。

__host__ __device__ bool __hbne2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量不相等比较,如果两个 nv_bfloat16 结果都为 true,则返回布尔值 true,否则返回布尔值 false。

__host__ __device__ bool __hbneu2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序不相等比较,如果两个 nv_bfloat16 结果都为 true,则返回布尔值 true,否则返回布尔值 false。

__host__ __device__ __nv_bfloat162 __heq2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量相等比较。

__host__ __device__ unsigned int __heq2_mask(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量相等比较。

__host__ __device__ __nv_bfloat162 __hequ2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序相等比较。

__host__ __device__ unsigned int __hequ2_mask(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序相等比较。

__host__ __device__ __nv_bfloat162 __hge2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量大于等于比较。

__host__ __device__ unsigned int __hge2_mask(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量大于等于比较。

__host__ __device__ __nv_bfloat162 __hgeu2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序大于等于比较。

__host__ __device__ unsigned int __hgeu2_mask(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序大于等于比较。

__host__ __device__ __nv_bfloat162 __hgt2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量大于比较。

__host__ __device__ unsigned int __hgt2_mask(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量大于比较。

__host__ __device__ __nv_bfloat162 __hgtu2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序大于比较。

__host__ __device__ unsigned int __hgtu2_mask(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序大于比较。

__host__ __device__ __nv_bfloat162 __hisnan2(const __nv_bfloat162 a)

确定 nv_bfloat162 参数是否为 NaN。

__host__ __device__ __nv_bfloat162 __hle2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量小于等于比较。

__host__ __device__ unsigned int __hle2_mask(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量小于等于比较。

__host__ __device__ __nv_bfloat162 __hleu2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序小于等于比较。

__host__ __device__ unsigned int __hleu2_mask(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序小于等于比较。

__host__ __device__ __nv_bfloat162 __hlt2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量小于比较。

__host__ __device__ unsigned int __hlt2_mask(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量小于比较。

__host__ __device__ __nv_bfloat162 __hltu2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序小于比较。

__host__ __device__ unsigned int __hltu2_mask(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序小于比较。

__host__ __device__ __nv_bfloat162 __hmax2(const __nv_bfloat162 a, const __nv_bfloat162 b)

计算两个输入的 nv_bfloat162 向量最大值。

__host__ __device__ __nv_bfloat162 __hmax2_nan(const __nv_bfloat162 a, const __nv_bfloat162 b)

计算两个输入的 nv_bfloat162 向量最大值,NaNs 透传。

__host__ __device__ __nv_bfloat162 __hmin2(const __nv_bfloat162 a, const __nv_bfloat162 b)

计算两个输入的 nv_bfloat162 向量最小值。

__host__ __device__ __nv_bfloat162 __hmin2_nan(const __nv_bfloat162 a, const __nv_bfloat162 b)

计算两个输入的 nv_bfloat162 向量最小值,NaNs 透传。

__host__ __device__ __nv_bfloat162 __hne2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量不相等比较。

__host__ __device__ unsigned int __hne2_mask(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量不相等比较。

__host__ __device__ __nv_bfloat162 __hneu2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序不相等比较。

__host__ __device__ unsigned int __hneu2_mask(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序不相等比较。

__host__ __device__ bool operator!=(const __nv_bfloat162 &lh, const __nv_bfloat162 &rh)

执行打包的 nv_bfloat16 无序比较不相等操作。

__host__ __device__ bool operator<(const __nv_bfloat162 &lh, const __nv_bfloat162 &rh)

执行打包的 nv_bfloat16 有序小于比较操作。

__host__ __device__ bool operator<=(const __nv_bfloat162 &lh, const __nv_bfloat162 &rh)

执行打包的 nv_bfloat16 有序小于等于比较操作。

__host__ __device__ bool operator==(const __nv_bfloat162 &lh, const __nv_bfloat162 &rh)

执行打包的 nv_bfloat16 有序比较相等操作。

__host__ __device__ bool operator>(const __nv_bfloat162 &lh, const __nv_bfloat162 &rh)

执行打包的 nv_bfloat16 有序大于比较操作。

__host__ __device__ bool operator>=(const __nv_bfloat162 &lh, const __nv_bfloat162 &rh)

执行打包的 nv_bfloat16 有序大于等于比较操作。

5.7.1. 函数

__host__ __device__ bool __hbeq2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量相等比较,如果两个 nv_bfloat16 结果都为 true,则返回布尔值 true,否则返回布尔值 false。

执行输入 abnv_bfloat162 向量相等比较。只有当两个 nv_bfloat16 相等比较都评估为 true 时,布尔结果才设置为 true,否则为 false。 NaN 输入生成 false 结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

bool

  • 如果向量 ab 的相等比较的两个 nv_bfloat16 结果都为 true,则为 true;

  • 否则为 false。

__host__ __device__ bool __hbequ2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序相等比较,如果两个 nv_bfloat16 结果都为 true,则返回布尔值 true,否则返回布尔值 false。

执行输入 abnv_bfloat162 向量相等比较。只有当两个 nv_bfloat16 相等比较都评估为 true 时,布尔结果才设置为 true,否则为 false。 NaN 输入生成 true 结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

bool

  • 如果向量 ab 的无序相等比较的两个 nv_bfloat16 结果都为 true,则为 true;

  • 否则为 false。

__host__ __device__ bool __hbge2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量大于等于比较,如果两个 nv_bfloat16 结果都为 true,则返回布尔值 true,否则返回布尔值 false。

执行输入 abnv_bfloat162 向量大于等于比较。只有当两个 nv_bfloat16 大于等于比较都评估为 true 时,布尔结果才设置为 true,否则为 false。 NaN 输入生成 false 结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

bool

  • 如果向量 ab 的大于等于比较的两个 nv_bfloat16 结果都为 true,则为 true;

  • 否则为 false。

__host__ __device__ bool __hbgeu2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序大于等于比较,如果两个 nv_bfloat16 结果都为 true,则返回布尔值 true,否则返回布尔值 false。

执行输入 abnv_bfloat162 向量大于等于比较。只有当两个 nv_bfloat16 大于等于比较都评估为 true 时,布尔结果才设置为 true,否则为 false。 NaN 输入生成 true 结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

bool

  • 如果向量 ab 的无序大于等于比较的两个 nv_bfloat16 结果都为 true,则为 true;

  • 否则为 false。

__host__ __device__ bool __hbgt2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量大于比较,如果两个 nv_bfloat16 结果都为 true,则返回布尔值 true,否则返回布尔值 false。

执行输入 abnv_bfloat162 向量大于比较。只有当两个 nv_bfloat16 大于比较都评估为 true 时,布尔结果才设置为 true,否则为 false。 NaN 输入生成 false 结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

bool

  • 如果向量 ab 的大于比较的两个 nv_bfloat16 结果都为 true,则为 true;

  • 否则为 false。

__host__ __device__ bool __hbgtu2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序大于比较,如果两个 nv_bfloat16 结果都为 true,则返回布尔值 true,否则返回布尔值 false。

执行输入 abnv_bfloat162 向量大于比较。只有当两个 nv_bfloat16 大于比较都评估为 true 时,布尔结果才设置为 true,否则为 false。 NaN 输入生成 true 结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

bool

  • 如果向量 ab 的无序大于比较的两个 nv_bfloat16 结果都为 true,则为 true;

  • 否则为 false。

__host__ __device__ bool __hble2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量小于等于比较,如果两个 nv_bfloat16 结果都为 true,则返回布尔值 true,否则返回布尔值 false。

执行输入 abnv_bfloat162 向量小于等于比较。只有当两个 nv_bfloat16 小于等于比较都评估为 true 时,布尔结果才设置为 true,否则为 false。 NaN 输入生成 false 结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

bool

  • 如果向量 ab 的小于等于比较的两个 nv_bfloat16 结果都为 true,则为 true;

  • 否则为 false。

__host__ __device__ bool __hbleu2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序小于等于比较,如果两个 nv_bfloat16 结果都为 true,则返回布尔值 true,否则返回布尔值 false。

执行输入 abnv_bfloat162 向量小于等于比较。只有当两个 nv_bfloat16 小于等于比较都评估为 true 时,布尔结果才设置为 true,否则为 false。 NaN 输入生成 true 结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

bool

  • 如果向量 ab 的无序小于等于比较的两个 nv_bfloat16 结果都为 true,则为 true;

  • 否则为 false。

__host__ __device__ bool __hblt2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量小于比较,如果两个 nv_bfloat16 结果都为 true,则返回布尔值 true,否则返回布尔值 false。

执行输入 abnv_bfloat162 向量小于比较。只有当两个 nv_bfloat16 小于比较都评估为 true 时,布尔结果才设置为 true,否则为 false。 NaN 输入生成 false 结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

bool

  • 如果向量 ab 的小于比较的两个 nv_bfloat16 结果都为 true,则为 true;

  • 否则为 false。

__host__ __device__ bool __hbltu2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序小于比较,如果两个 nv_bfloat16 结果都为 true,则返回布尔值 true,否则返回布尔值 false。

执行输入 abnv_bfloat162 向量小于比较。只有当两个 nv_bfloat16 小于比较都评估为 true 时,布尔结果才设置为 true,否则为 false。 NaN 输入生成 true 结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

bool

  • 如果向量 ab 的无序小于比较的两个 nv_bfloat16 结果都为 true,则为 true;

  • 否则为 false。

__host__ __device__ bool __hbne2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量不相等比较,如果两个 nv_bfloat16 结果都为 true,则返回布尔值 true,否则返回布尔值 false。

执行输入 abnv_bfloat162 向量不等比较。只有当两个 nv_bfloat16 不等比较的结果都为 true 时,布尔结果才设置为 true,否则为 false。NaN 输入生成 false 结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

bool

  • 如果向量 ab 的不等比较的两个 nv_bfloat16 结果都为 true,则为 true,

  • 否则为 false。

__host__ __device__ bool __hbneu2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序不相等比较,如果两个 nv_bfloat16 结果都为 true,则返回布尔值 true,否则返回布尔值 false。

执行输入 abnv_bfloat162 向量不等比较。只有当两个 nv_bfloat16 不等比较的结果都为 true 时,布尔结果才设置为 true,否则为 false。NaN 输入生成 true 结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

bool

  • 如果向量 ab 的无序不等比较的两个 nv_bfloat16 结果都为 true,则为 true;

  • 否则为 false。

__host__ __device__ __nv_bfloat162 __heq2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量相等比较。

执行输入 abnv_bfloat162 向量相等比较。对于 true,对应的 nv_bfloat16 结果设置为 1.0;对于 false,设置为 0.0。NaN 输入生成 false 结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

nv_bfloat162

  • 向量 ab 的相等比较的向量结果。

__host__ __device__ unsigned int __heq2_mask(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量相等比较。

执行输入 abnv_bfloat162 向量相等比较。对于 true,对应的 unsigned 位设置为 0xFFFF;对于 false,设置为 0x0。NaN 输入生成 false 结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

unsigned int

  • 向量 ab 的相等比较的向量掩码结果。

__host__ __device__ __nv_bfloat162 __hequ2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序相等比较。

执行输入 abnv_bfloat162 向量相等比较。对于 true,对应的 nv_bfloat16 结果设置为 1.0;对于 false,设置为 0.0。NaN 输入生成 true 结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

nv_bfloat162

  • 向量 ab 的无序相等比较的向量结果。

__host__ __device__ unsigned int __hequ2_mask(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序相等比较。

执行输入 abnv_bfloat162 向量相等比较。对于 true,对应的 unsigned 位设置为 0xFFFF;对于 false,设置为 0x0。NaN 输入生成 true 结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

unsigned int

  • 向量 ab 的无序相等比较的向量掩码结果。

__host__ __device__ __nv_bfloat162 __hge2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量大于等于比较。

执行输入 abnv_bfloat162 向量大于等于比较。对于 true,对应的 nv_bfloat16 结果设置为 1.0;对于 false,设置为 0.0。NaN 输入生成 false 结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

nv_bfloat162

  • 向量 ab 的大于等于比较的向量结果。

__host__ __device__ unsigned int __hge2_mask(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量大于等于比较。

执行输入 abnv_bfloat162 向量大于等于比较。对于 true,对应的 unsigned 位设置为 0xFFFF;对于 false,设置为 0x0。NaN 输入生成 false 结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

unsigned int

  • 向量 ab 的大于等于比较的向量掩码结果。

__host__ __device__ __nv_bfloat162 __hgeu2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序大于等于比较。

执行输入 abnv_bfloat162 向量大于等于比较。对于 true,对应的 nv_bfloat16 结果设置为 1.0;对于 false,设置为 0.0。NaN 输入生成 true 结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

nv_bfloat162

  • nv_bfloat162 向量结果,表示向量 ab 的无序大于等于比较。

__host__ __device__ unsigned int __hgeu2_mask(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序大于等于比较。

执行输入 abnv_bfloat162 向量大于等于比较。对于 true,对应的 unsigned 位设置为 0xFFFF;对于 false,设置为 0x0。NaN 输入生成 true 结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

unsigned int

  • 向量 ab 的无序大于等于比较的向量掩码结果。

__host__ __device__ __nv_bfloat162 __hgt2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量大于比较。

执行输入 abnv_bfloat162 向量大于比较。对于 true,对应的 nv_bfloat16 结果设置为 1.0;对于 false,设置为 0.0。NaN 输入生成 false 结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

nv_bfloat162

  • 向量 ab 的大于比较的向量结果。

__host__ __device__ unsigned int __hgt2_mask(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量大于比较。

执行输入 abnv_bfloat162 向量大于比较。对于 true,对应的 unsigned 位设置为 0xFFFF;对于 false,设置为 0x0。NaN 输入生成 false 结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

unsigned int

  • 向量 ab 的大于比较的向量掩码结果。

__host__ __device__ __nv_bfloat162 __hgtu2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序大于比较。

执行输入 abnv_bfloat162 向量大于比较。对于 true,对应的 nv_bfloat16 结果设置为 1.0;对于 false,设置为 0.0。NaN 输入生成 true 结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

nv_bfloat162

  • nv_bfloat162 向量结果,表示向量 ab 的无序大于比较。

__host__ __device__ unsigned int __hgtu2_mask(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序大于比较。

执行输入 abnv_bfloat162 向量大于比较。对于 true,对应的 unsigned 位设置为 0xFFFF;对于 false,设置为 0x0。NaN 输入生成 true 结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

unsigned int

  • 向量 ab 的无序大于比较的向量掩码结果。

__host__ __device__ __nv_bfloat162 __hisnan2(const __nv_bfloat162 a)

确定 nv_bfloat162 参数是否为 NaN。

确定输入 nv_bfloat162 数字 a 的每个 nv_bfloat16 是否为 NaN。

参数

a[in] - nv_bfloat162。仅被读取。

返回值

nv_bfloat162

  • nv_bfloat162,对于 NaN,对应的 nv_bfloat16 结果设置为 1.0;否则设置为 0.0。

__host__ __device__ __nv_bfloat162 __hle2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量小于等于比较。

执行输入 abnv_bfloat162 向量小于等于比较。对于 true,对应的 nv_bfloat16 结果设置为 1.0;对于 false,设置为 0.0。NaN 输入生成 false 结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

nv_bfloat162

  • nv_bfloat162 结果,表示向量 ab 的小于等于比较。

__host__ __device__ unsigned int __hle2_mask(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量小于等于比较。

执行输入 abnv_bfloat162 向量小于等于比较。对于 true,对应的 unsigned 位设置为 0xFFFF;对于 false,设置为 0x0。NaN 输入生成 false 结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

unsigned int

  • 向量 ab 的小于等于比较的向量掩码结果。

__host__ __device__ __nv_bfloat162 __hleu2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序小于等于比较。

执行输入 abnv_bfloat162 向量小于等于比较。对于 true,对应的 nv_bfloat16 结果设置为 1.0;对于 false,设置为 0.0。NaN 输入生成 true 结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

nv_bfloat162

  • 向量 ab 的无序小于等于比较的向量结果。

__host__ __device__ unsigned int __hleu2_mask(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序小于等于比较。

执行 nv_bfloat162 向量小于等于比较,输入为 ab。如果为真,则将对应的 unsigned 位设置为 0xFFFF,如果为假,则设置为 0x0。 NaN 输入产生真结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

unsigned int

  • 向量 ab 的无序小于等于比较的向量掩码结果。

__host__ __device__ __nv_bfloat162 __hlt2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量小于比较。

执行 nv_bfloat162 向量小于比较,输入为 ab。如果为真,则将对应的 nv_bfloat16 结果设置为 1.0,如果为假,则设置为 0.0。 NaN 输入产生假结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

nv_bfloat162

  • 向量 ab 的小于比较的 nv_bfloat162 向量结果。

__host__ __device__ unsigned int __hlt2_mask(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量小于比较。

执行 nv_bfloat162 向量小于比较,输入为 ab。如果为真,则将对应的 unsigned 位设置为 0xFFFF,如果为假,则设置为 0x0。 NaN 输入产生假结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

unsigned int

  • 向量 ab 的小于比较的向量掩码结果。

__host__ __device__ __nv_bfloat162 __hltu2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序小于比较。

执行 nv_bfloat162 向量小于比较,输入为 ab。如果为真,则将对应的 nv_bfloat16 结果设置为 1.0,如果为假,则设置为 0.0。 NaN 输入产生真结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

nv_bfloat162

  • 向量 ab 的无序小于比较的向量结果。

__host__ __device__ unsigned int __hltu2_mask(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序小于比较。

执行 nv_bfloat162 向量小于比较,输入为 ab。如果为真,则将对应的 unsigned 位设置为 0xFFFF,如果为假,则设置为 0x0。 NaN 输入产生真结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

unsigned int

  • 向量 ab 的无序小于比较的向量掩码结果。

__host__ __device__ __nv_bfloat162 __hmax2(const __nv_bfloat162 a, const __nv_bfloat162 b)

计算两个输入的 nv_bfloat162 向量最大值。

计算 nv_bfloat162 向量 max(a, b)。逐元素 nv_bfloat16 操作定义为 (a > b) ? a : b

  • 如果任一输入为 NaN,则返回另一个输入。

  • 如果两个输入均为 NaN,则返回规范 NaN。

  • 如果两个输入的值均为 0.0,则 +0.0 > -0.0

  • 向量 ab 的逐元素最大值的结果

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

nv_bfloat162

__host__ __device__ __nv_bfloat162 __hmax2_nan(const __nv_bfloat162 a, const __nv_bfloat162 b)

计算两个输入的 nv_bfloat162 向量最大值,NaNs 透传。

计算 nv_bfloat162 向量 max(a, b)。逐元素 nv_bfloat16 操作定义为 (a > b) ? a : b

  • 如果任一输入为 NaN,则返回规范 NaN。

  • 如果两个输入的值均为 0.0,则 +0.0 > -0.0

  • 向量 ab 的逐元素最大值的结果,NaN 值会传递。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

nv_bfloat162

__host__ __device__ __nv_bfloat162 __hmin2(const __nv_bfloat162 a, const __nv_bfloat162 b)

计算两个输入的 nv_bfloat162 向量最小值。

计算 nv_bfloat162 向量 min(a, b)。逐元素 nv_bfloat16 操作定义为 (a < b) ? a : b

  • 如果任一输入为 NaN,则返回另一个输入。

  • 如果两个输入均为 NaN,则返回规范 NaN。

  • 如果两个输入的值均为 0.0,则 +0.0 > -0.0

  • 向量 ab 的逐元素最小值的结果

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

nv_bfloat162

__host__ __device__ __nv_bfloat162 __hmin2_nan(const __nv_bfloat162 a, const __nv_bfloat162 b)

计算两个输入的 nv_bfloat162 向量最小值,NaNs 透传。

计算 nv_bfloat162 向量 min(a, b)。逐元素 nv_bfloat16 操作定义为 (a < b) ? a : b

  • 如果任一输入为 NaN,则返回规范 NaN。

  • 如果两个输入的值均为 0.0,则 +0.0 > -0.0

  • 向量 ab 的逐元素最小值的结果,NaN 值会传递。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

nv_bfloat162

__host__ __device__ __nv_bfloat162 __hne2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量不相等比较。

执行 nv_bfloat162 向量不等于比较,输入为 ab。如果为真,则将对应的 nv_bfloat16 结果设置为 1.0,如果为假,则设置为 0.0。 NaN 输入产生假结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

nv_bfloat162

  • 向量 ab 的不等于比较的向量结果。

__host__ __device__ unsigned int __hne2_mask(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量不相等比较。

执行 nv_bfloat162 向量不等于比较,输入为 ab。如果为真,则将对应的 unsigned 位设置为 0xFFFF,如果为假,则设置为 0x0。 NaN 输入产生假结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

unsigned int

  • 向量 ab 的不等于比较的向量掩码结果。

__host__ __device__ __nv_bfloat162 __hneu2(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序不相等比较。

执行 nv_bfloat162 向量不等于比较,输入为 ab。如果为真,则将对应的 nv_bfloat16 结果设置为 1.0,如果为假,则设置为 0.0。 NaN 输入产生真结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

nv_bfloat162

  • 向量 ab 的无序不等于比较的向量结果。

__host__ __device__ unsigned int __hneu2_mask(const __nv_bfloat162 a, const __nv_bfloat162 b)

执行 nv_bfloat162 向量无序不相等比较。

执行 nv_bfloat162 向量不等于比较,输入为 ab。如果为真,则将对应的 unsigned 位设置为 0xFFFF,如果为假,则设置为 0x0。 NaN 输入产生真结果。

参数
  • a[in] - nv_bfloat162。仅被读取。

  • b[in] - nv_bfloat162。仅被读取。

返回值

unsigned int

  • 向量 ab 的无序不等于比较的向量掩码结果。

__host__ __device__ bool operator!=(const __nv_bfloat162 &lh, const __nv_bfloat162 &rh)

执行打包的 nv_bfloat16 无序比较不相等操作。

另请参阅 __hbneu2(__nv_bfloat162, __nv_bfloat162)

__host__ __device__ bool operator<(const __nv_bfloat162 &lh, const __nv_bfloat162 &rh)

执行打包的 nv_bfloat16 有序小于比较操作。

另请参阅 __hblt2(__nv_bfloat162, __nv_bfloat162)

__host__ __device__ bool operator<=(const __nv_bfloat162 &lh, const __nv_bfloat162 &rh)

执行打包的 nv_bfloat16 有序小于等于比较操作。

另请参阅 __hble2(__nv_bfloat162, __nv_bfloat162)

__host__ __device__ bool operator==(const __nv_bfloat162 &lh, const __nv_bfloat162 &rh)

执行打包的 nv_bfloat16 有序比较相等操作。

另请参阅 __hbeq2(__nv_bfloat162, __nv_bfloat162)

__host__ __device__ bool operator>(const __nv_bfloat162 &lh, const __nv_bfloat162 &rh)

执行打包的 nv_bfloat16 有序大于比较操作。

另请参阅 __hbgt2(__nv_bfloat162, __nv_bfloat162)

__host__ __device__ bool operator>=(const __nv_bfloat162 &lh, const __nv_bfloat162 &rh)

执行打包的 nv_bfloat16 有序大于等于比较操作。

另请参阅 __hbge2(__nv_bfloat162, __nv_bfloat162)