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