C1060 GPU的奇怪设备特性

Strange Device Properties of C1060 GPU

本文关键字:GPU C1060      更新时间:2023-10-16

我正在运行一些代码,这些代码只需获取有关GPU的信息并打印出来。然而,我得到了非常奇怪(和变化)的数字。该代码只是一堆cudaDeviceProperties打印。

输出:

Global memory:   0mb
Shared memory:   136723055446kb
Constant memory: 136723055540kb
Block registers: 1359818672
Warp size:         32597
Threads per block: 1359826784
Max block dimensions: [ 32597, 1357152712, 32597 ]
Max grid dimensions:  [ 1359925824, 32597, -1220823104 ]

这些数字都没有任何意义,这让我认为卡/驱动程序/OS可能有问题。

英伟达SMI:340.93。操作系统:Ubuntu 14.04。

如果能对这里可能发生的事情提供任何帮助,我们将不胜感激。

cudaDeviceProp props;
cudaGetDeviceProperties(&props, i);
cout << i << ": " << props.name << ": " << props.major << "." << props.minor << endl;
cout << "  Global memory:   " << props.totalGlobalMem / mb << "mb" << endl;
cout << "  Shared memory:   " << props.sharedMemPerBlock / kb << "kb" << endl;
cout << "  Constant memory: " << props.totalConstMem / kb << "kb" << endl;
cout << "  Block registers: " << props.regsPerBlock << endl << endl;
cout << "  Warp size:         " << props.warpSize << endl;
cout << "  Threads per block: " << props.maxThreadsPerBlock << endl;
cout << "  Max block dimensions: [ " << props.maxThreadsDim[0] << ", " << props.maxThreadsDim[1]  << ", " << props.maxThreadsDim[2] << " ]" << endl;
cout << "  Max grid dimensions:  [ " << props.maxGridSize[0] << ", " << props.maxGridSize[1]  << ", " << props.maxGridSize[2] << " ]" << endl;
cout << endl;

在这种特殊情况下,问题恰好是代码生成。C1060是一款具有计算能力的老式gpu。1.3.CUDA 6.5默认情况下(可能)为较新的体系结构生成代码,但通过在使用nvcc编译时显式声明--gpu-arch=compute_13解决了问题。希望这能帮助任何面临这种情况的人。