cuda - CUDA 中的 64 位数字支持

标签 cuda 64-bit nvidia

我在这个话题上找到了各种意见,所以这就是我决定在这里提问的原因。我的问题是从 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/

相关文章:

TensorFlow 不使用 Nvidia

c++ - 如何使用 CUDA Parallel NSight 调试器查看引用变量?

c++ - cudaGetSymbolAddress(&cuset_addr, random_states_g) 中的无效设备符号

windows - 所有 Windows 版本都支持 Int64 吗?

docker - 无法在docker上执行nvidia运行时

cudaGetDeviceCount 返回 0

c++ - 第一个 cudaMalloc(K40 vs K20)的缓慢,即使在 cudaSetDevice 之后

c++ - 基于 CMake 的 CUDA 应用程序构建失败 - 没有文件传递给链接器

c - ubuntu 64 位上的单精度浮点表示不正确

assembly - 将 64 位常量移动到 x86 程序集中的内存中