5.7. Bfloat162 比较函数

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

Functions

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

执行nv_bfloat162向量的无序不等比较,如果两个nv_bfloat16结果都为真则返回布尔值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向量最大值,NaN值直接通过。

__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向量最小值,NaN值直接传递。

__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,否则返回布尔值false。

对输入ab执行nv_bfloat162向量的相等比较。仅当两个nv_bfloat16相等比较结果都为真时,布尔结果才设为真,否则为假。NaN输入会产生假结果。

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

布尔值

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

  • 否则返回 false。

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

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

对输入ab执行nv_bfloat162向量的相等比较。仅当两个nv_bfloat16相等比较结果都为真时,布尔结果才设为真,否则为假。NaN输入会产生真结果。

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

布尔值

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

  • 否则返回 false。

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

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

对输入ab执行nv_bfloat162向量大于等于比较。仅当两个nv_bfloat16大于等于比较结果都为真时,布尔结果才设为真,否则为假。NaN输入会产生假结果。

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

布尔值

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

  • 否则返回 false。

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

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

对输入ab执行nv_bfloat162向量大于等于比较。仅当两个nv_bfloat16大于等于比较结果都为真时,布尔结果才设为真,否则为假。NaN输入会产生真结果。

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

布尔值

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

  • 否则返回 false。

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

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

对输入ab执行nv_bfloat162向量大于比较。仅当两个nv_bfloat16大于比较结果都为真时,布尔结果才设为真,否则为假。NaN输入会产生假结果。

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

布尔值

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

  • 否则返回 false。

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

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

对输入ab执行nv_bfloat162向量大于比较。仅当两个nv_bfloat16大于比较结果都为真时,布尔结果才设为真,否则为假。NaN输入会产生真结果。

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

布尔值

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

  • 否则返回 false。

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

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

对输入ab执行nv_bfloat162向量小于等于比较。仅当两个nv_bfloat16小于等于比较结果都为真时,布尔结果才设为真,否则为假。NaN输入会产生假结果。

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

布尔值

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

  • 否则返回 false。

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

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

对输入ab执行nv_bfloat162向量小于等于比较。仅当两个nv_bfloat16小于等于比较结果都为真时,布尔结果才设为真,否则为假。NaN输入会产生真结果。

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

布尔值

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

  • 否则返回 false。

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

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

对输入ab执行nv_bfloat162向量小于比较。仅当两个nv_bfloat16小于比较结果都为真时,布尔结果才设为真,否则为假。NaN输入会产生假结果。

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

布尔值

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

  • 否则返回 false。

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

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

对输入ab执行nv_bfloat162向量小于比较。仅当两个nv_bfloat16小于比较结果都为真时,布尔结果才设为真,否则为假。NaN输入会产生真结果。

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

布尔值

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

  • 否则返回 false。

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

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

对输入ab执行nv_bfloat162向量不相等比较。仅当两个nv_bfloat16不相等比较结果都为真时,布尔结果才设为真,否则为假。NaN输入会产生假结果。

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

布尔值

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

  • 否则返回 false。

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

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

对输入ab执行nv_bfloat162向量不相等比较。仅当两个nv_bfloat16不相等比较结果都为真时,布尔结果才设为真,否则为假。NaN输入会产生真值结果。

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

布尔值

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

  • 否则返回 false。

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

执行nv_bfloat162向量的相等条件比较。

对输入ab执行nv_bfloat162向量的相等比较。对应的nv_bfloat16结果若为真则设为1.0,若为假则设为0.0。NaN输入会产生假结果。

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

nv_bfloat162

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

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

执行nv_bfloat162向量的相等条件比较。

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

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

无符号整型

  • 向量ab进行相等比较后得到的向量掩码结果。

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

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

对输入ab执行nv_bfloat162向量的相等比较。对应的nv_bfloat16结果若为真则设为1.0,若为假则设为0.0。NaN输入会产生真值结果。

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

nv_bfloat162

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

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

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

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

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

无符号整型

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

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

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

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

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

nv_bfloat162

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

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

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

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

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

无符号整型

  • 向量ab进行大于等于比较后得到的向量掩码结果。

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

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

对输入ab执行nv_bfloat162向量大于等于比较。对应的nv_bfloat16结果若为真则设为1.0,若为假则设为0.0。NaN输入会产生真值结果。

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

nv_bfloat162

  • 向量ab进行无序大于等于比较后得到的nv_bfloat162向量结果。

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

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

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

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

无符号整型

  • 向量ab进行无序大于等于比较后得到的向量掩码结果。

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

执行nv_bfloat162向量的大于比较。

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

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

nv_bfloat162

  • 向量ab进行大于比较运算后的向量结果。

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

执行nv_bfloat162向量的大于比较。

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

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

无符号整型

  • 向量ab进行大于比较后得到的向量掩码结果。

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

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

对输入ab执行nv_bfloat162向量大于比较。对应的nv_bfloat16结果若为真则设为1.0,若为假则设为0.0。NaN输入会产生真值结果。

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

nv_bfloat162

  • 向量ab进行无序大于比较后得到的nv_bfloat162向量结果。

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

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

对输入ab执行nv_bfloat162向量大于比较。对应的unsigned位若为真则设为0xFFFF,若为假则设为0x0。NaN输入会产生真值结果。

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

无符号整型

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

__host__ __device__ __nv_bfloat162 __hisnan2(const __nv_bfloat162 a)

判断nv_bfloat162参数是否为NaN。

判断输入的nv_bfloat162数值a中的每个nv_bfloat16是否为NaN。

Parameters

a[输入] - nv_bfloat162。仅用于读取。

Returns

nv_bfloat162

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

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

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

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

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

nv_bfloat162

  • 向量 ab 进行小于等于比较后得到的 nv_bfloat162 结果。

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

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

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

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

无符号整型

  • 向量ab进行小于等于比较后得到的向量掩码结果。

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

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

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

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

nv_bfloat162

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

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

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

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

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

无符号整型

  • 向量ab进行无序小于等于比较后得到的向量掩码结果。

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

执行nv_bfloat162向量的小于比较。

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

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

nv_bfloat162

  • 向量ab进行小于比较后得到的nv_bfloat162向量结果。

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

执行nv_bfloat162向量的小于比较。

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

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

无符号整型

  • 向量ab进行小于比较后得到的向量掩码结果。

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

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

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

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

nv_bfloat162

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

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

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

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

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

无符号整型

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

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

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

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

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

  • 如果两个输入都是NaN,则返回规范NaN。

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

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

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

nv_bfloat162

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

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

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

  • 如果任一输入为NaN,则返回标准NaN。

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

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

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

nv_bfloat162

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

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

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

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

  • 如果两个输入都是NaN,则返回规范NaN。

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

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

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

nv_bfloat162

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

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

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

  • 如果任一输入为NaN,则返回标准NaN。

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

  • 向量ab的逐元素最小值结果,NaN值会直接通过

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

nv_bfloat162

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

执行nv_bfloat162向量不相等比较。

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

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

nv_bfloat162

  • 向量ab进行不等比较后的向量结果。

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

执行nv_bfloat162向量不相等比较。

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

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

无符号整型

  • 向量ab进行不等比较后得到的向量掩码结果。

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

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

对输入ab执行nv_bfloat162向量不相等比较。对应的nv_bfloat16结果若为真则设为1.0,为假则设为0.0。NaN输入会产生真值结果。

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

nv_bfloat162

  • 向量ab进行无序不相等比较得到的向量结果。

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

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

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

Parameters
  • a[输入] - nv_bfloat162。仅用于读取。

  • b[输入] - nv_bfloat162。仅用于读取。

Returns

无符号整型

  • 向量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)