首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Conda env下调nvcc评级

Conda env下调nvcc评级
EN

Stack Overflow用户
提问于 2022-08-07 20:28:27
回答 2查看 415关注 0票数 1

我试图在我的conda环境(anaconda3)中安装/降级到NVCC10.2,因为我正在使用的PyTorch (1.10.2)版本需要它。

我有一个nvcc 11.7安装在conda之外,我的conda env是自动使用的。

我成功地安装并取代了cudatoolkit 10.2,但这并不是nvcc带来的。

所以torch.version.cuda给了我10.2nvcc -V给了我11.7

Internet主要建议安装cudatoolkit-dev,因为它似乎与nvcc一起安装,但是没有cudatoolkit-dev 10.2可以找到。

代码语言:javascript
运行
复制
conda search cudatoolkit-dev --channel conda-forge

我使用的是Ubuntu22.04,一个带有驱动程序515.43.04的GTX1080。

编辑:正确的解决方案似乎是在conda中安装CUDA

代码语言:javascript
运行
复制
conda install -c conda-forge cudatoolkit-dev=xxx

我不得不降低PyTorch的评级,这样我就可以使用CUDA10.1,其中有一个conda锻造包。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 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工具包,您需要将它放在这里的路径上,这是一个示例

代码语言:javascript
运行
复制
# 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中,您可以用

代码语言:javascript
运行
复制
sudo nano ~/.bashrc

在Windows上,您可能需要将其添加到环境变量中,请检查NVIDIA指南,并根据需要更改路径。

票数 0
EN

Stack Overflow用户

发布于 2022-08-08 01:44:56

nvcc映射到环境路径中存在的CUDA版本。这意味着,当您通过conda安装conda时,除非您已经通过aptNVIDIA的网站手动安装了CUDA,否则您将无法获得nvcc。您可以使用以下命令:which nvcc验证这一点:which nvcc,并且该命令应该在/usr/local/下显示一些路径,而不是在conda环境下。

安装cudatoolkit时,您正在python环境中安装torch版本,该环境映射了torch并具有访问权限。这就是为什么torch.version.cuda给出了与nvcc --version不同的版本。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73270806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档