gpt4 book ai didi

cuda - anaconda如何pick cudatoolkit

转载 作者:行者123 更新时间:2023-12-01 21:47:02 27 4
gpt4 key购买 nike

我有多个 anaconda 环境,上面安装了不同的 cuda 工具包。

env1 有 cudatoolkit 10.0.130

env2 有 cudatoolkit 10.1.168

env3 有 cudatoolkit 10.2.89

我通过在每个环境中运行 conda list 找到了这些。

当我执行 nvidia-smi 时,无论我在哪个环境中,我都会得到以下输出

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 435.21 Driver Version: 435.21 CUDA Version: 10.1 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce RTX 208... Off | 00000000:01:00.0 On | N/A |
| 0% 42C P8 7W / 260W | 640MiB / 11016MiB | 2% Default |
+-------------------------------+----------------------+----------------------+

上面显示的cuda版本和cuda toolkit版本一样吗?如果是这样,为什么它在所有环境中都一样?

在具有 cudatoolkit 版本 10.2.89 的 env3 中,我尝试安装 cupy使用命令 pip install cupy-cuda102 库。当我尝试这样做时出现以下错误。

ERROR: Could not find a version that satisfies the requirement cupy-cuda102 (from versions: none)
ERROR: No matching distribution found for cupy-cuda102

我能够使用适用于 cuda 10.1 的 pip install cupy-cuda101 安装。为什么找不到 cudatoolkit 10.2?

我问这个问题的原因是,当我运行深度学习模型时出现错误 cupy.cuda.cublas.CUBLASError: CUBLAS_STATUS_NOT_INITIALIZED。我只是想知道 cudatoolkit 版本是否与此错误有关。即使此错误与 cudatoolkit 版本无关,我也想知道 anaconda 如何使用 cudatoolkit。

最佳答案

这并不是真正回答原始问题,而是后续问题:

tensorflow and pytorch can be installed directly through anaconda without explicitly downloading the cudatoolkit from nvidia. It only needs gpu driver installed. In this case nvcc is not installed still it works fine. how does it work in this case?

一般来说,Anaconda/Conda-Forge 上的 GPU 包是使用 Anaconda 的新 CUDA 编译器工具链构建的。它的制作方式是 nvcc 和 friend 从 CUDA 工具包中的其余运行时库(cuFFT、cuSPARSE 等)中分离出来。后者打包在 cudatoolkit 包中,作为 run 依赖项(用 conda 的术语),并在您安装 PyTorch 等 GPU 包时安装。

然后,GPU包被编译,链接到cudatoolkit,并被打包,这就是为什么你只需要安装CUDA驱动程序,而不需要安装其他东西的原因。由于此链接,系统的 CUDA 工具包(如果有的话)默认情况下会被忽略,除非包(例如 Numba)有自己的方式在运行时查找 CUDA 库。

值得一提的是,安装的cudatoolkit 并不总是与您的驱动程序匹配。在这种情况下,您可以明确限制其版本(例如 10.0):

conda install some_gpu_package cudatoolkit=10.0

what happens when the environment in which tensorflow is installed is activated? Does conda create environment variables for accessing cuda libraries just when the environment is activated?

当环境被激活时,Conda 总是会设置一些环境变量。我不完全确定 tensorflow,但很可能在构建时,它链接到 CUDA 运行时库(换句话说,cudatoolkit)。因此,当启动 tensorflow 或其他 GPU 应用程序时,它们将使用安装在同一 conda 环境中的 cudatoolkit

关于cuda - anaconda如何pick cudatoolkit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60272028/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com