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)
-
从
longint数据类型构造,对于超出范围的值依赖于__NV_SATFINITE的行为。
-
__host__ __device__ inline explicit __nv_fp4_e2m1(const long long int val)
-
从
longlongint数据类型构造,对于超出范围的值依赖于__NV_SATFINITE的行为。
-
__host__ __device__ inline explicit __nv_fp4_e2m1(const short int val)
-
从
shortint数据类型构造。
-
__host__ __device__ inline explicit __nv_fp4_e2m1(const unsigned int val)
-
从
unsignedint数据类型的构造函数,对于超出范围的值依赖于__NV_SATFINITE的行为。
-
__host__ __device__ inline explicit __nv_fp4_e2m1(const unsigned long int val)
-
从
unsignedlongint数据类型构造,对于超出范围的值依赖于__NV_SATFINITE的行为。
-
__host__ __device__ inline explicit __nv_fp4_e2m1(const unsigned long long int val)
-
从
unsignedlonglongint数据类型的构造函数,对于超出范围的值依赖于__NV_SATFINITE的行为。
-
__host__ __device__ inline explicit __nv_fp4_e2m1(const unsigned short int val)
-
从
unsignedshortint数据类型构造,对于超出范围的值依赖于__NV_SATFINITE的行为。
公共成员
-
__nv_fp4_storage_t __x
-
存储变量包含
fp4浮点数据。
-
__host__ __device__ inline __nv_fp4_e2m1()