我在这个话题上找到了各种意见,所以这就是我决定在这里提问的原因。我的问题是从 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);
}
最佳答案
所有支持 CUDA 的硬件都支持 64 位整数(有符号和无符号)(尽管对它们的操作映射到多个 native 32 位指令)。
计算能力 1.3 引入了 64 位浮点数( native 支持)。
关于cuda - CUDA 中的 64 位数字支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16845644/