我有一个GTX Titan Z显卡.它有两个GPU,总内存为12 GB(6GB + 6GB).当我在Cuda Sample(V6.5)文件夹中使用DeviceQuery应用程序查看规范时,它显示了两个设备,每个设备的总内存为4 GB.此外,在我的C++代码中,我只能访问4GB内存.另一方面,当我运行GPU-Z软件时,它会显示两个Titan Z,每个都有6GB内存.任何人都可以解释导致这个问题的原因以及如何解决?
这里的问题是程序被编译为32位应用程序.使用32位,程序只能处理4GB内存.检查设备规格(cudaGetDeviceProperties)的CUDA调用似乎认识到了这一事实,并且仅报告您实际可以使用的4GB.
编译为64位应用程序应该可以解决此问题.