c - 在 CUDA C 中确定计算机在运行时是否有 GPU

标签 c cuda gpu

我在支持 GPU 的机器上编写代码,但我的代码需要能够移植到没有 GPU 的计算机上。所以我写了 2 个函数,一个只使用 CPU,一个使用 CPU+GPU。

我是为了一个有条件的合规代码,例如:

if (COMPUTER_HAS_GPU)
    //Run CPU+GPU code  
else  
    //Run CPU only code

有这样的吗?

最佳答案

您可以使用 cudaGetDeviceCount()

例如:

int devices = 0; 

cudaError_t err = cudaGetDeviceCount(&devices); 

if (devices > 0 && err == cudaSuccess) 
{ 
    // Run CPU+GPU code
} 
else
{ 
    // Run CPU only code
} 

关于c - 在 CUDA C 中确定计算机在运行时是否有 GPU,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9035465/

相关文章:

c++ - CUDA: vector 列表实现

machine-learning - 如何确定 seq2seq tensorflow RNN 训练模型的最大批量大小

c - 在 C 中查找文本文件的词法和行数时出错

c - 为什么我的指针数组返回一个 unicode 字符?

c++ - CUDA 流和上下文

c++ - undefined reference CUDA 和 CMAKE

python - 如何在 GPU 中的 Tensorflow 上并行运行独立循环

memory - 重新加载 Pytorch 模型时出现 CUDA 内存不足错误

c - Clock_t 和 time_t 或 time(NULL) 和 Clock() 之间的区别

c - C 中的 read() 错误