15.13. __nv_fp6_e3m2

struct __nv_fp6_e3m2

__nv_fp6_e3m2 数据类型

该结构实现了用于处理fp6浮点数的数据类型,属于e3m2类型:包含1位符号位、3位指数位、1位隐式尾数和2位显式尾数位。此编码不支持Inf/NaN。

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

公共函数

__host__ __device__ inline __nv_fp6_e3m2()

默认构造函数。

__host__ __device__ inline explicit __nv_fp6_e3m2(const __half f)

__half数据类型构造,对于超出范围的值依赖于__NV_SATFINITE行为,并使用cudaRoundNearest舍入模式。

__host__ __device__ inline explicit __nv_fp6_e3m2(const __nv_bfloat16 f)

__nv_bfloat16数据类型构造,对于超出范围的值依赖于__NV_SATFINITE行为,并使用cudaRoundNearest舍入模式。

__host__ __device__ inline explicit __nv_fp6_e3m2(const double f)

double数据类型构造,对于超出范围的值依赖于__NV_SATFINITE行为,并使用cudaRoundNearest舍入模式。

__host__ __device__ inline explicit __nv_fp6_e3m2(const float f)

float数据类型构造,对于超出范围的值依赖于__NV_SATFINITE行为,并使用cudaRoundNearest舍入模式。

__host__ __device__ inline explicit __nv_fp6_e3m2(const int val)

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

__host__ __device__ inline explicit __nv_fp6_e3m2(const long int val)

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

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

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

__host__ __device__ inline explicit __nv_fp6_e3m2(const short int val)

short int数据类型构造。

__host__ __device__ inline explicit __nv_fp6_e3m2(const unsigned int val)

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

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

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

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

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

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

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

公共成员

__nv_fp6_storage_t __x

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