5

我找到了关于这个话题的各种意见,所以这就是我决定在这里问的原因。我的问题是从 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);
}
4

1 回答 1

10

所有支持 CUDA 的硬件都支持 64 位整数(有符号和无符号)(尽管对它们的操作映射到多个本机 32 位指令)。

计算能力 1.3 引入了 64 位浮点数(本机支持)。

于 2013-05-30T21:00:19.417 回答