【发布时间】:2016-07-03 00:04:46
【问题描述】:
nvcc 设备代码可以访问内置值warpSize,该值设置为执行内核的设备的扭曲大小(即在可预见的将来为 32)。通常你不能把它和一个常量区分开来——但是如果你尝试声明一个长度为 warpSize 的数组,你会收到一个关于它是非常量的抱怨......(使用 CUDA 7.5)
所以,至少出于这个目的,你有动力拥有类似 (edit) 的东西:
enum : unsigned int { warp_size = 32 };
在您的标题中的某处。但是现在 - 我应该更喜欢哪个,什么时候? :warpSize,还是warp_size?
编辑: warpSize 显然是 PTX 中的编译时常量。不过,问题仍然存在。
【问题讨论】:
-
您所说的“来自...来自指令本身”是什么意思?
-
您的很多问题都可以通过阅读一点文档来回答 - docs.nvidia.com/cuda/parallel-thread-execution/…
-
@talonmies:有时你不知道要阅读哪个文件以及在哪里阅读。
-
@njuffa:我的意思是来自机器指令(SASS 指令)的操作数。
标签: c++ cuda constants gpu-warp