使用conda安装的cudatoolkit安装NVIDIA apex

需要在一台无sudo权限的机器上编译安装NVIDIA的apex扩展,然而系统的cuda版本是9.0。

查看系统cuda千万不能用nvidia-smi来看,nvidia-smi提供的是Driver Cuda的版本,并非我们运行时所用的cuda。可以用下列最可靠的指令来看系统cuda版本。

nvcc -V

或者(如果你没配环境变量的话)

/usr/local/cuda/bin/nvcc -V

编译安装apex的前提条件之一就是所使用辅助apex编译的cudatoolkit版本必须和pytorch所需的cuda版本对应。(其实就是用到了cudatoolkit里面的NVIDIA CUDA Compiler——nvcc罢了)

同时想到我用conda装pytorch的时候,也装了和pytorch版本对应的cudatoolkit,那么用这里面的nvcc是不是就能来编译apex了呢?

很遗憾的是,经过翻箱倒柜的寻找,并没有在我的anaconda环境里找到nvcc。

查阅相关资料 后发现,conda install安装的cudatoolkit只是NVIDIA提供的cudatoolkit的一个子集,通常只包含 PyTorch、TensorFlow 等深度学习框架运行所需的运行时环境,即 runtime lib,但是并没有nvcc。

无奈之下,只能自己在用户目录下装一个工具人cudatoolkit,用完nvcc后删掉就行。

在用户目录下安装cudatoolkit的方法可以参考:https://blog.csdn.net/weixin_41278720/article/details/81255265

在安装要阅读一大段文字的时候可以直接按ctrl+c,不用一直按回车一行行看完。安装器会提供很多组件给我们选择是否安装,除了我们的工具人cuda toolkit以外,其他的组件都无需安装。

安装完之后,可以有这两种方式来编译安装apex:

export CUDA_HOME=(cuda安装目录)
pip install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./

或者

export PATH=(cuda安装目录)/bin:$PATH
pip install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./

安装完成后,可以用下面这段代码来检验是否安装成功:

import torch
import apex

input = torch.rand(3, 10).cuda()
fln = apex.normalization.FusedLayerNorm(10).cuda()
fln(input)
  • 12
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值