ptx中的原始数据类型

时间:2013-08-21 20:58:29

标签: cuda gpu nvidia ptx

__device__ __inline__ double ld_gbl_cg(const double *addr) {
          double return_value;
          asm("ld.global.cg.f64 %0, [%1];" : "=d"(return_value) : "l"(addr));
          return return_value;
        }

以上代码来自: CUDA disable L1 cache only for one variable

根据作者的说法,“d”表示浮动,“r”表示int。

我想写一小段内联asm代码,我想知道其余原始类型变量的符号(如unsigned short,unsigned long long,float-32等),我找不到ptx isa。

我用字母“l”来表示unsigned long long,这是正确的吗?

1 个答案:

答案 0 :(得分:2)

您可以找到它们here,但为了完整起见,这些字母对应于基础PTX寄存器类型:

"h" = .u16 reg
"r" = .u32 reg
"l" = .u64 reg
"f" = .f32 reg
"d" = .f64 reg

因此unsigned long long映射到“l”(对于64位整数PTX寄存器)。