看 torch 使用的cuda版本
torch.version.cuda
这个打印的 cuda 版本可能跟后面的 nvcc --version 的不一样
因为如果在 ~/.bashrc 里面修改了 CUDA 的环境变量
比如修改后使得指向 /usr/local/cuda
那么
nvcc --version
显示的就会是 /usr/local/cuda 的
但是
torch.version.cuda
会显示 anaconda (虚拟)环境里的
因为用 conda install torch 的命令时,会自动装上 cudatookit ,但是用 pip install 可能不会
看本地 CUDA 版本
nvcc --version
查看显卡使用
nvidia-smi
查看 NVCC 安装位置
which nvcc
CUDA 编译相关问题
问题 pycharm 用远程服务器环境跑代码报错
报错1
cuda_runtime.h:no such file or directory
该问题,需要用到方法 3 才能解决
报错2
找不到 nvcc
该问题需要用到 方法 1、3能解决。
解决方案
提供三种解决方法,注意将 cuda-11.6 切换成自己使用的版本。
抑或甚至需要将整个路径替换
- .bashrc 里面加入
# 如果需要使用cuda11.6 ,请配置如下
export CUDA_HOME=/usr/local/cuda-11.6
export PATH=/usr/local/cuda-11.6/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.6/lib64/
export CPATH=/usr/local/cuda-11.6/targets/x86_64-linux/include:$CPATH
- python 代码里面加入
os.environ["PATH"] = os.environ["PATH"]+":/usr/local/cuda-11.6/targets/x86_64-linux/include/"
os.environ["PATH"] = os.environ["PATH"]+":/usr/local/cuda-11.6/targets/x86_64-linux/lib/"
os.environ["PATH"] = os.environ["PATH"]+":/usr/local/cuda-11.6/bin/"
os.environ["PATH"] = os.environ["PATH"]+":/usr/local/cuda-11.6"
- IDE(例如 Pycharm) 配置环境变量
CPATH=/usr/local/cuda-11.6/targets/x86_64-linux/include:$CPATH;
CUDA_HOME=/usr/local/cuda-11.6;
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.6/lib64/;
PATH=/usr/local/cuda-11.6/bin:$PATH
CUDA_HOME /usr/local/cuda-11.6
PATH /usr/local/cuda-11.6/bin:$PATH
LD_LIBRARY_PATH $LD_LIBRARY_PATH:/usr/local/cuda-11.6/lib64/
CPATH /usr/local/cuda-11.6/targets/x86_64-linux/include:$CPATH
针对某个 .py 文件(启动项目的文件)邮件
然后 找到 More Run/Debug
接着 Modify Run Configuration
最后在 environment 找到 environment variable ,修改
- 其他可能有用但是还没尝试的
PyCharm 编辑器中设置环境变量
[pycharm]添加环境变量