CUDA 常见问题#
subprocess
调用 nvcc
#
运行
import subprocess
subprocess.Popen(["nvcc", "-v"], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
报错 [Errno 2] No such file or directory: 'nvcc'
解决方法:
export CUDA_HOME=/usr/local/cuda
conda环境下使用nvcc -V报错nvcc: command not found#
解决方法
conda install -c nvidia cuda-nvcc
fatal error: cuda_runtime.h
: 没有那个文件或目录#
修改 ~/.bashrc
:
export LD_LIBRARY_PATH=/usr/local/cuda-12.4/lib64:$LD_LIBRARY_PATH
export CPATH=/usr/local/cuda-12.4/include:$CPATH
export PATH=/usr/local/cuda-12.4/bin:$PATH
更新 ~/.bashrc
:
source ~/.bashrc
conda 环境:sh: /media/pc/data/tmp/cache/conda/envs/xin/bin/…/lib/libtinfo.so.6: no version information available (required by sh)#
这个错误信息表明在执行某个脚本时,sh 无法找到所需的 libtinfo.so.6
库文件。该库文件是用于提供终端界面功能的共享库。
要解决这个问题,你可以尝试以下几个步骤:
确保你的系统已经安装了 libtinfo 库。你可以使用以下命令来检查是否已安装该库:
dpkg -l | grep libtinfo
如果没有安装,你可以使用适合你的操作系统的包管理器进行安装。例如,在 Ubuntu 上可以使用以下命令安装:
sudo apt-get install libtinfo6
如果已经安装了 libtinfo 库,但仍然出现该错误,可能是因为库文件的路径没有正确设置。你可以尝试将包含
libtinfo.so.6
的目录添加到系统的库搜索路径中。可以通过编辑/etc/ld.so.conf
文件或创建一个新的配置文件来实现。例如,在 Ubuntu 上可以编辑/etc/ld.so.conf.d/libc.conf
文件,添加以下内容:/media/pc/data/tmp/cache/conda/envs/xin/lib
然后运行以下命令更新库缓存:
sudo ldconfig
如果上述步骤都没有解决问题,可能是由于库文件的版本不兼容导致的。你可以尝试升级或降级相关的库文件版本,以使其与 sh 的要求相匹配。具体的操作方法取决于你的操作系统和使用的包管理器。
请注意,以上解决方法是基于常见的 Linux 发行版(如 Ubuntu)的情况。如果你使用的是其他操作系统,可能需要采取不同的步骤来解决该问题。
conda 环境:/usr/bin/ld: cannot find -lcudart_static: No such file or directory#
参考:cuda-cudart
conda install nvidia/label/cuda-12.4.0::cuda-cudart