欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

OpenPose运行时报错Cuda check failed (35 vs. 0)

程序员文章站 2022-03-26 08:45:13
...

系统环境

Win10,NVIDIA Driver Version:399.24,Cuda V9.2.148,cuDNN 7.6.3

出错情况

下载完OpenPose v1.5.1的Windows Demo,按照instructions.txt下载好模型,使用bin\OpenPoseDemo.exe --video examples\media\video.avi --face --hand运行,出现报错。

Cuda check failed (35 vs. 0): CUDA driver version is insufficient for CUDA runtime version

解决方法

开始以为是Cuda版本与Driver版本不匹配,查询NVIDIA官网后发现是没有问题的。

再认真查看报错反馈(可以在运行命令后添加参数--logging_level 0 --disable_multi_thread获得更多信息),发现它的报错位置是src/openpose/gpu/cuda.cpp的23行的cudaPeekAtLastError函数,查看官方文档后得知这个函数是在线程出现问题的时候会报错(不知道理解得对不对)。这下就到头了。

不过OpenPose官方文档似乎对类似问题指了两条路

  1. 更新NVIDIA driver

    这个方法感觉会牵一发而动全身,万一出问题了就闯大祸了

  2. 使用旧版的OpenPose

于是我尝试部署OpenPose v1.4.0,成功运行。

推断是高版本的OpenPose与本地NVIDIA Driver不适配。

相关标签: cuda 3d渲染