conda虚拟环境中安装的cuda和服务器上安装的cuda的异同

服务器上已安装Nvidia提供的cuda,nvidia-smi时会出现已安装的CUDA版本。如下图所示,服务器上已安装好的cuda版本为10.1。
在这里插入图片描述
但是当我们在Anaconda虚拟环境下安装pytorch或者paddlepaddle等深度学习框架的GPU版本时,通常会选择较高版本的cuda,这样服务器就存在两个cuda版本,但是/usr/local的目录下只有Nvidia家的cuda版本,这是为什么呢?而且使用conda命令安装cuda相比于Nvidia的cuda安装要简单很多,例如安装gpu版本的pytorch命令如下所示。

conda install pytorch == 1.12.1 torchvision == 0.13.1 torchaudio== 0.12.1 cudatoolkit=11.3 -c pytorch

Nvidia官方提供的CUDA Toolkit是一个完整的工具安装包,包含了进行CUDA相关程序开发的编译、调试等过程相关的所有组件。使用 Nvidia 官网提供的 CUDA Toolkit 可以安装开发 CUDA 程序所需的工具,包括 CUDA 程序的编译器、IDE、调试器等,CUDA 程序所对应的各式库文件以及它们的头文件。

但是对pytorch/paddlepaddle等这样的深度学习框架而言,其本身与CUDA相关的部分已经提前编译好,在深度学习框中调用GPU只需要CUDA 的动态链接库就可支持程序的运行。所以,安装pytorch的gpu版本时,只需要安装cudatoolkit,只要系统上存在与当前的cudatooklit所兼容的nvidia驱动,就可以运行程序。

Anaconda为用户安装的cudatooklit,主要包含应用程序在使用 CUDA 相关的功能时所依赖的动态链接库,不会安装驱动程序。这也是为什么nvidia-smi时出现的cuda版本为服务器上已安装的cuda版本,而不是自己虚拟环境中的cuda版本。

conda创建管理虚拟环境是Python数据科学开发中常用的一种工具,它允许你在独立的环境中隔离项目依赖。如果你需要在conda环境下重新安装CUDA(Compute Unified Device Architecture),通常用于深度学习等GPU加速应用,可以按照以下步骤操作: 1. **激活现有的conda环境**: ```bash conda activate your_env_name ``` 2. **检查当前环境是否支持CUDA**: 使用`conda list`查看当前环境已安装的库,确认是否有` cudatoolkit` 或 `nvidia-cuda` 的版本信息。 3. **如果CUDA安装**: ```bash conda install cudatoolkit=版本号 -c anaconda ``` 将`版本号`替换为你需要的具体CUDA版本,如`cu102`、`cu110`等。注意,有些较新的CUDA版本可能只在特定的conda channel上可用。 4. **如果已有CUDA但想更新到新版本**: 如果你想升级到另一个版本,先卸载再安装: ```bash conda remove cudatoolkit -y conda install cudatoolkit=新版本号 -c anaconda ``` 5. **安装CUDA drivers** (如果需要): CUDA需要对应的驱动程序才能运行。对于Linux系统,通常会随CUDA一起安装;Windows则可能需要从NVIDIA官网下载并安装。 6. **验证安装**: 创建一个简单的PyTorch脚本测试CUDA是否安装成功: ```python import torch print(torch.cuda.is_available()) ``` 完成上述步骤后,你应该可以在所选的conda环境中使用CUDA了。不过,要注意的是,不是所有环境都能支持CUDA,特别是科学计算基础的环境可能不会包含CUDA
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

马鹤宁

谢谢

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值