繁体   English   中英

ptx中的原始数据类型

[英]primitive data type in 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仅为一个变量禁用L1缓存

据作者说, “d”表示浮点数, “r”表示int。

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM