我正在编写一个简单的代码,尝试获取设备数量。
#include <cuda.h>
#include <iostream>
int main(){
CUcontext cudaContext;
int deviceCount = 0;
CUresult result = cuDeviceGetCount(&deviceCount);
std::cout << "device count = " << deviceCount << std::endl;
}
编译命令:g ++ test.cpp -lcuda
当我尝试获取设备的数量时,即使我有gpu,我也会得到零。
还是应该为零?
答案 0 :(得分:4)
您在这里使用CUDA driver API。
驱动程序API代码应以cuInit(0);
开头。如果您不这样做,则使用驱动程序API可能会返回诸如初始化错误之类的错误代码。
您可能想研究一些CUDA驱动程序API示例代码,例如vectorAddDrv
。