调用 cuda 运行时或驱动程序时出现 cudaErrorUnknown api
cudaErrorUnknown when calling cuda runtime or driver api
在使我的 GPU 崩溃、终止程序并重新启动我的计算机的大量模拟之后,我无法在重新启动之前调用任何正确运行的 cuda api。
nvidia-smi 运行良好。
在我的 Ubuntu 20.04 计算机中,安装了 CUDA11.6 和 nvidia-driver 510.47.03。
我的电脑出现错误的最少代码如下,
驱动程序api版本
#include "cuda.h"
int main() {
CUresult result;
result = cuInit(0);
const char* pStr;
cuGetErrorName(result, &pStr);
if(result != CUDA_SUCCESS){
std::cerr << pStr << std::endl;
}
}
编译命令是,
nvcc a.cu -lcuda
我得到了 CUDA_ERROR_UNKNOWN
。
运行时api版本,
#include <iostream>
int main() {
int n;
cudaError_t error = cudaGetDeviceCount(&n);
if(error){
std::cerr << cudaGetErrorName(error) << std::endl;
}
}
编译命令是,
nvcc a.cu
我得到了 cudaUnknownError
。
为什么我会收到这个错误?这是驱动程序的问题吗?
看起来你破坏了一些东西(驱动程序或 cuda 运行时)并且你无法调用与 cuda 相关的任何函数。
根据我的拙见,当我的内核在 Windows 机器上运行时间过长并且 Windows 显示驱动程序管理器在我 [=26] 时重置我的 GPU 时,我通常会遇到这些错误=]内核。
也许您在 linux 上遇到了一些类似的问题。
要解决此问题,您是否尝试过使用以下 bash 命令行重置 GPU?
nvidia-smi --gpu-reset
另请注意,所有 CUDA 错误都不可恢复,如果前面的命令不起作用,您可以重置计算机以解决问题(或简单地 unload/reload cuda 驱动程序)。
在使我的 GPU 崩溃、终止程序并重新启动我的计算机的大量模拟之后,我无法在重新启动之前调用任何正确运行的 cuda api。 nvidia-smi 运行良好。 在我的 Ubuntu 20.04 计算机中,安装了 CUDA11.6 和 nvidia-driver 510.47.03。
我的电脑出现错误的最少代码如下,
驱动程序api版本
#include "cuda.h"
int main() {
CUresult result;
result = cuInit(0);
const char* pStr;
cuGetErrorName(result, &pStr);
if(result != CUDA_SUCCESS){
std::cerr << pStr << std::endl;
}
}
编译命令是,
nvcc a.cu -lcuda
我得到了 CUDA_ERROR_UNKNOWN
。
运行时api版本,
#include <iostream>
int main() {
int n;
cudaError_t error = cudaGetDeviceCount(&n);
if(error){
std::cerr << cudaGetErrorName(error) << std::endl;
}
}
编译命令是,
nvcc a.cu
我得到了 cudaUnknownError
。
为什么我会收到这个错误?这是驱动程序的问题吗?
看起来你破坏了一些东西(驱动程序或 cuda 运行时)并且你无法调用与 cuda 相关的任何函数。
根据我的拙见,当我的内核在 Windows 机器上运行时间过长并且 Windows 显示驱动程序管理器在我 [=26] 时重置我的 GPU 时,我通常会遇到这些错误=]内核。
也许您在 linux 上遇到了一些类似的问题。
要解决此问题,您是否尝试过使用以下 bash 命令行重置 GPU?
nvidia-smi --gpu-reset
另请注意,所有 CUDA 错误都不可恢复,如果前面的命令不起作用,您可以重置计算机以解决问题(或简单地 unload/reload cuda 驱动程序)。