我对这个话题发表了各种各样的意见,所以这就是我决定在这里问的原因。我的问题是从CUDA支持的int64_t计算能力开始。我在Quadro770M上运行cuda 5,下面的代码没有问题,但我读到从计算能力1.3开始支持64位无符号。那么这个问题的真正答案是什么?
__device__ void printBinary(int64_t a) {
int bits[64];
int i;
for (i = 0; i < 64; i++) {
bits[63 - i] = (a >> i) & 1;
}
for (int i = 0; i < 64; ++i) {
cuPrintf("%d", bits[i]);
}
cuPrintf("\n");
cuPrintf("%016llX", a);
}
答案 0 :(得分:8)
所有支持CUDA的硬件都支持64位整数(有符号和无符号)(尽管它们上的操作映射到多个本机32位指令)。
计算能力1.3引入了64位浮点数字(本机支持)。