借助函数 cuMemGetInfo(),我想知道我的 GPU 设备上的可用内存和总内存
// ----- Before any variable initialization -----
size_t free;
size_t total;
CUresult result=cuMemGetInfo(&free,&total);
我得到了结果:
Free memory : 4095 MB
Total memory : 4095 MB
我正在使用 64 位 Windows 7 上具有 6GB 内存的 Tesla C2070。但是,我的应用程序以 32 位运行。我的代码应该给我类似的东西:
Free memory : 5376 MB
Total memory : 5376 MB // values given by the deviceQuery.exe example of CUDA
I 4095*1024*1024 = 4293918720 约为 2^32(四舍五入后)。实际上, size_t 是一个指向无符号整数的指针(在 4 个字节上)。
所以这是我的问题。例如,是否可以更改 size_t 的定义以指向 unsigned long ?
谢谢