我试图在我的conda环境(anaconda3)中安装/降级到NVCC10.2,因为我正在使用的PyTorch (1.10.2)版本需要它。
我有一个nvcc 11.7安装在conda之外,我的conda env是自动使用的。
我成功地安装并取代了cudatoolkit 10.2,但这并不是nvcc带来的。
所以torch.version.cuda
给了我10.2
,nvcc -V
给了我11.7
。
Internet主要建议安装cudatoolkit-dev,因为它似乎与nvcc一起安装,但是没有cudatoolkit-dev 10.2可以找到。
conda search cudatoolkit-dev --channel conda-forge
我使用的是Ubuntu22.04,一个带有驱动程序515.43.04的GTX1080。
编辑:正确的解决方案似乎是在conda中安装CUDA
conda install -c conda-forge cudatoolkit-dev=xxx
我不得不降低PyTorch的评级,这样我就可以使用CUDA10.1,其中有一个conda锻造包。
发布于 2022-08-08 04:08:58
如果您能够理解CudaToolkit、NVCC和您安装的PyTorch版本之间的关系,这将有所帮助。维基百科说
Nvidia CUDA编译器是Nvidia的专有编译器,旨在与CUDA一起使用。CUDA代码运行在CPU和GPU上。NVCC将这两个部分分开,并将主机代码发送给C编译器,如GCC或Intel C++编译器或Microsoft C++编译器,并将设备代码发送给GPU。
您可以同时在计算机上安装多个CUDA版本,但只能使用一个版本(设置路径上的版本)。
Conda创建了一个新的虚拟环境来打包您的代码库,比如python、== 3.6、torch、==、10.2等等。它帮助您拥有不同版本的PyTorch和其他库,以便在需要时可以在这些环境之间切换(例如,对于不同的项目,您可能有不同的torch版本、NumPy版本等等)。但conda不能更改CUDA,CudaToolkit paths
解决方案:如果您已经安装了CUDA,CUDA工具包,您需要将它放在这里的路径上,这是一个示例
# PATH FOR CUDA 10.0 being used by tensorflow 1.13
#export PATH="/usr/local/cuda-10.0/bin:$PATH"
#export LD_LIBRARY_PATH="/usr/local/cuda-10.0/lib64:$LD_LIBRARY_PATH"
#export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.0/lib64
#write for CUDA libs 11.0
#export PATH=$PATH:/usr/local/cuda-11.0/bin
#export CUDADIR=/usr/local/cuda-11.0
#export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.0/lib64
# PATH FOR CUDA 10.2
#export PATH="/usr/local/cuda-10.2/bin:$PATH"
#export LD_LIBRARY_PATH="/usr/local/cuda-10.2/lib64:$LD_LIBRARY_PATH"
#export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.2/lib64
#export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.2/extras/CUPTI/l$
#cuda 11.4
export PATH="/usr/local/cuda-11.4/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-11.4/lib64:$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.4/lib64
我安装了多个CUDA版本,每当bashrc文件中需要特定版本时,我就取消注释。
在ubuntu中,您可以用
sudo nano ~/.bashrc
在Windows上,您可能需要将其添加到环境变量中,请检查NVIDIA指南,并根据需要更改路径。
发布于 2022-08-08 01:44:56
nvcc
映射到环境路径中存在的CUDA
版本。这意味着,当您通过conda
安装conda
时,除非您已经通过apt
或NVIDIA
的网站手动安装了CUDA
,否则您将无法获得nvcc
。您可以使用以下命令:which nvcc
验证这一点:which nvcc
,并且该命令应该在/usr/local/
下显示一些路径,而不是在conda
环境下。
安装cudatoolkit
时,您正在python
环境中安装torch
版本,该环境映射了torch
并具有访问权限。这就是为什么torch.version.cuda
给出了与nvcc --version
不同的版本。
https://stackoverflow.com/questions/73270806
复制相似问题