本人在使用cuda + C/C++开发时,编译没问题,但程序运行时老是报 CUDA driver version is insufficient for CUDA runtime version(驱动版本不合适),在互联网上搜索很久都没有解决问题。网上给出的方案往往是更新驱动版本,但本人的驱动版本已经更新到最新。
经过反复调试,发现是gcc版本的问题。本人cuda版本为11.6,原先使用的gcc是gcc-11,当把gcc版本降为gcc-9后,cuda程序可以正常运行了。
是如何发现此问题的呢?本人启了一个nvidia-docker容器(nvidia/cuda:11.6.2-devel-ubuntu20.04),测试了自己的cuda程序,发现可以正常运行,甚至容器中编译的程序可以直接在宿主机上执行。随后对比容器和宿主机的环境,发现只有gcc版本不一致,在修改了宿主机上的gcc版本后,cuda程序就能正常执行了。