为什么在 sudo 下导入 pycuda.driver 会导致 "libcurand.so.10: cannot open shared object file: No such file or directory"

Why does importing pycuda.driver under sudo lead to "libcurand.so.10: cannot open shared object file: No such file or directory"

我正在尝试在 python 脚本中导入 pycuda-2021.1。我的 OS 是 Ubuntu 18.04。我安装了 cuda 工具包 11.2,我的 nvidia 驱动程序版本是 460.27.04。我的 python 解释器是 Python 3.8。当我执行

import pycuda.driver as cuda

我好像不用sudo下执行python脚本也能做到。然而,当使用 sudo 时,这会导致以下错误:

ImportError: libcurand.so.10: cannot open shared object file: No such file or directory

我该如何解决这个问题?

我自己找到了解决办法,参考这个post:完美解决ImportError: libcudart.so.10.0: cannot open shared object file: No such file or directory(这个post是中文的)。基本上,解决方案是执行以下命令:

sudo ldconfig /path/to/your/cuda/lib64

在我的情况下应该是

sudo ldconfig /usr/local/cuda-11.2/lib64