CUDA error(803), system has unsupported display driver / cuda driver combination

        起因:在其他服务器正常运行的docker环境迁移复制到其他环境中(该服务包含paddlepaddle等第三方库),出现上述标题所示错误。具体错误打印信息如下:

terminate called after throwing an instance of 'phi::enforce::EnforceNotMet'
  what():

--------------------------------------
C++ Traceback (most recent call last):
--------------------------------------
0   PaddleDeploy::Model::PaddleEngineInit(PaddleDeploy::PaddleEngineConfig const&)
1   PaddleDeploy::PaddleInferenceEngine::Init(PaddleDeploy::InferenceConfig const&)
2   paddle_infer::CreatePredictor(paddle::AnalysisConfig const&)
3   paddle_infer::Predictor::Predictor(paddle::AnalysisConfig const&)
4   std::unique_ptr<paddle::PaddlePredictor, std::default_delete<paddle::PaddlePredictor> > paddle::CreatePaddlePredictor<paddle::AnalysisConfig, (paddle::PaddleEngineKind)2>(paddle::AnalysisConfig const&)
5   paddle::AnalysisConfig::fraction_of_gpu_memory_for_pool() const
6   phi::backends::gpu::SetDeviceId(int)
7   phi::backends::gpu::GetGPUDeviceCount()
8   phi::enforce::EnforceNotMet::EnforceNotMet(phi::ErrorSummary const&, char const*, int)
9   phi::enforce::GetCurrentTraceBackString[abi:cxx11](bool)

----------------------
Error Message Summary:
----------------------
ExternalError: CUDA error(803), system has unsupported display driver / cuda driver combination.
  [Hint: Please search for the error code(803) on website (https://docs.nvidia.com/cuda/cuda-runtime-api/group__CUDART__TYPES.html#group__CUDART__TYPES_1g3f51e3575c2178246db0a94a430e0038) to get Nvidia's official solution and advice about CUDA Error.] (at /paddle/paddle/phi/backends/gpu/cuda/cuda_info.cc:66)

Aborted (core dumped)

         应该是两台服务器安装的cuda版本不同导致。解决办法。首先进入docker环境,查看该docker拥有多少cuda版本。

        进入安装目录(不同电脑可能不同):

cd /usr/lib/x86_64-linux-gnu/

         显示如下,有三个版本的cuda,这三个版本不确定那个有效,可以使用软连接方法挨个尝试,直到执行程序不出现上述错误为止。(其中红色框起来时软连接,即淡蓝色的是软连接)

         这里的操作是先删除libcuda.so.1(建议还是备份一下),然后又创建其他其他库指向该libcuda.so.1的软连接。操作命令如下:

sudo rm -rf /usr/lib/x86_64-linux-gnu/libcuda.so.1

sudo ln -s libcuda.so.525.147.05 /usr/lib/x86_64-linux-gnu/libcuda.so.1

/home/kejia/Server/tf/Bin_x64/DeepLearning/DL_Lib_02/torch/cuda/__init__.py:52: UserWarning: CUDA initialization: Unexpected error from cudaGetDeviceCount(). Did you run some cuda functions before calling NumCudaDevices() that might have already set an error? Error 803: system has unsupported display driver / cuda driver combination (Triggered internally at /pytorch/c10/cuda/CUDAFunctions.cpp:100.) return torch._C._cuda_getDeviceCount() > 0 gpu count 0 Traceback (most recent call last): File "DL_ProcessManager_01.py", line 5, in <module> File "<frozen importlib._bootstrap>", line 983, in _find_and_load File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 677, in _load_unlocked File "PyInstaller/loader/pyimod03_importers.py", line 540, in exec_module File "DL_ProcessManager/__init__.py", line 1, in <module> File "<frozen importlib._bootstrap>", line 983, in _find_and_load File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 677, in _load_unlocked File "PyInstaller/loader/pyimod03_importers.py", line 540, in exec_module File "DL_ProcessManager/DL_ProcessManager.py", line 12, in <module> File "/home/lxy/anaconda3/envs/mmdet2/lib/python3.7/site-packages/PyInstaller/hooks/rthooks/pyi_rth_multiprocessing.py", line 55, in _freeze_support File "multiprocessing/spawn.py", line 105, in spawn_main File "multiprocessing/spawn.py", line 115, in _main AttributeError: Can't get attribute 'CarmeraFunc' on <module '__main__' (built-in)> [15584] Failed to execute script DL_ProcessManager_01
07-22
这个错误是由于CUDA初始化时出现了问题,可能是由于不匹配的显示驱动程序和CUDA驱动程序导致的。下面是一些可能的解决方案: 1. 确保你的显示驱动程序与安装的CUDA版本兼容。你可以在NVIDIA官方网站上找到CUDA与驱动程序版本的兼容性信息。如果不兼容,请尝试更新或降低驱动程序版本,使其与CUDA版本匹配。 2. 确保你的CUDA环境正确配置。验证CUDA是否正确安装和配置,可以尝试运行一些简单的CUDA示例代码,以确保CUDA可以正常工作。 3. 检查你的代码中是否有其他与CUDA相关的操作在调用`torch.cuda.NumCudaDevices()`之前被执行。确保在调用此函数之前没有其他CUDA操作。 4. 确保你的环境变量设置正确。检查环境变量`LD_LIBRARY_PATH`是否包含正确的CUDA库路径。你可以使用以下命令检查: ``` echo $LD_LIBRARY_PATH ``` 如果没有设置或设置不正确,你可以通过编辑`~/.bashrc`文件来设置正确的路径: ``` export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH ``` 然后运行以下命令使更改生效: ``` source ~/.bashrc ``` 5. 如果以上解决方案都无效,尝试重新安装CUDA和相关的驱动程序。 请注意,上述解决方案中的一些步骤可能需要管理员权限。如果你对系统没有足够的权限,建议与系统管理员合作或联系技术支持以获取进一步的帮助。同时,确保备份重要的数据,以防万一出现问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值