15.9. __nv_fp4_e2m1

struct __nv_fp4_e2m1

__nv_fp4_e2m1 数据类型

此结构体实现了用于处理 fp4 浮点数的 e2m1 类型的数据类型:具有 1 位符号位,2 位指数位,1 位隐式尾数位和 1 位显式尾数位。此编码不支持 Inf/NaN。

此结构体实现了转换构造函数和运算符。

公共函数

__host__ __device__ inline __nv_fp4_e2m1()

默认构造函数。

__host__ __device__ inline explicit __nv_fp4_e2m1(const __half f)

__half 数据类型构造,依赖于 __NV_SATFINITE 行为处理超出范围的值和 cudaRoundNearest 舍入模式。

__host__ __device__ inline explicit __nv_fp4_e2m1(const __nv_bfloat16 f)

__nv_bfloat16 数据类型构造,依赖于 __NV_SATFINITE 行为处理超出范围的值和 cudaRoundNearest 舍入模式。

__host__ __device__ inline explicit __nv_fp4_e2m1(const double f)

double 数据类型构造,依赖于 __NV_SATFINITE 行为处理超出范围的值和 cudaRoundNearest 舍入模式。

__host__ __device__ inline explicit __nv_fp4_e2m1(const float f)

float 数据类型构造,依赖于 __NV_SATFINITE 行为处理超出范围的值和 cudaRoundNearest 舍入模式。

__host__ __device__ inline explicit __nv_fp4_e2m1(const int val)

int 数据类型构造,依赖于 __NV_SATFINITE 行为处理超出范围的值。

__host__ __device__ inline explicit __nv_fp4_e2m1(const long int val)

long int 数据类型构造,依赖于 __NV_SATFINITE 行为处理超出范围的值。

__host__ __device__ inline explicit __nv_fp4_e2m1(const long long int val)

long long int 数据类型构造,依赖于 __NV_SATFINITE 行为处理超出范围的值。

__host__ __device__ inline explicit __nv_fp4_e2m1(const short int val)

short int 数据类型构造。

__host__ __device__ inline explicit __nv_fp4_e2m1(const unsigned int val)

unsigned int 数据类型构造,依赖于 __NV_SATFINITE 行为处理超出范围的值。

__host__ __device__ inline explicit __nv_fp4_e2m1(const unsigned long int val)

unsigned long int 数据类型构造,依赖于 __NV_SATFINITE 行为处理超出范围的值。

__host__ __device__ inline explicit __nv_fp4_e2m1(const unsigned long long int val)

unsigned long long int 数据类型构造,依赖于 __NV_SATFINITE 行为处理超出范围的值。

__host__ __device__ inline explicit __nv_fp4_e2m1(const unsigned short int val)

unsigned short int 数据类型构造,依赖于 __NV_SATFINITE 行为处理超出范围的值。

公共成员

__nv_fp4_storage_t __x

存储变量包含 fp4 浮点数据。