conda环境下如何设置cuda路径?

hom*_*aha 7 cuda virtualenv anaconda conda

我使用的是 ubuntu 22 LTS。我想在 conda 虚拟环境中使用不同版本的 Cuda。我想为tensorflow 1.x使用一个虚拟conda环境,为tensorflow 2.x使用另一个conda环境,为PyTorch使用一个环境。我在创建环境时添加了Cuda的版本。我的问题是,它不使用 conda env 中安装的 Cuda(即conda create -n tf1 cudnn=7.6.5 cudatoolkit=10.1.243),而是使用系统 cuda。当我输入

nvcc --version
Run Code Online (Sandbox Code Playgroud)

输出是:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Tue_May__3_18:49:52_PDT_2022
Cuda compilation tools, release 11.7, V11.7.64
Build cuda_11.7.r11.7/compiler.31294372_0
Run Code Online (Sandbox Code Playgroud)

如何设置路径以使用环境中安装的特定 Cuda 版本而不是系统?

pey*_*cas 3

您可以使用此命令设置 CUDA_HOME 环境变量。

conda env config vars set CUDA_HOME=""
Run Code Online (Sandbox Code Playgroud)

您应该能够使用此命令来查找 conda 安装的 CUDA 库的路径。

sudo find / -name nvcc
Run Code Online (Sandbox Code Playgroud)

您可能还想查看此文档以将环境变量设置为激活步骤的一部分。

https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html# saving-environment-variables

  • 谢谢你的回答。但是,我尚未在 env 中安装 cuda-nvcc 。我已经通过 conda 安装了 cudatoolkit 和 cudnn。还有另一种方法可以在 conda env 中找到 cuda 的路径吗? (3认同)