多版本cuda共存

  1. 首先在机器中安装一个版本的cuda,参考链接

  2. 然后再安装另一个版本的cuda时,不要配置环境变量(这样可以保证默认使用第一个版本的cuda),然后安装相应版本的cudnn即可。

  3. 安装了两个版本的cuda之后,需要安装anaconda(安装参考链接)来控制python版本以及tensorflow-gpu版本。(其实是因为tensorflow-gpu版本的不同,才要求cuda版本不同的。)

  4. 假设第一次安装的版本如下:tensorfow-gpu1.4 + cuda8.0 + cudnn6.0 + python3.4(即本机的默认环境),但是你现在需要运行tensorflow-gpu1.6 + cuda9.0 + cudnn7.0 + python3.5。那么你需要执行以下步骤
    a. 先用anaconda创建一个虚拟环境:$ conda create -n cuda_test python=3.5
    b. 开启tensorflow-gpu1.6的虚拟环境:$ source activate cuda_test
    c. 新建启动该虚拟环境时需要运行的脚本:

    $ mkdir -p /home/username/.conda/envs/cuda_test/etc/conda/activate.d
    $ vim /home/username/.conda/envs/cuda_test/etc/conda/activate.d/activate.sh
    $ chmod +x /home/username/.conda/envs/cuda_test/etc/conda/activate.d/activate.sh
    

    在脚本中输入以下内容,使该虚拟环境启动时,自动切换为cuda9.0:

    ORIGINAL_CUDA_HOME=$CUDA_HOME
    ORIGINAL_LD_LIBRARY_PATH=$LD_LIBRARY_PATH
    export CUDA_HOME=/usr/local/cuda-9.0
    export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH
    

    d. 新建退出该虚拟环境时需要运行的脚本:

    $ mkdir -p /home/username/.conda/envs/cuda_test/etc/conda/deactivate.d
    $ vim /home/username/.conda/envs/cuda_test/etc/conda/deactivate.d/deactivate.sh
    $ chmod +x /home/username/.conda/envs/cuda_test/etc/conda/deactivate.d/deactivate.sh
    

    在脚本中输入以下内容,使该虚拟环境退出时,自动切换为本机默认环境(即cuda8.0):

    export CUDA_HOME=$ORIGINAL_CUDA_HOME
    export LD_LIBRARY_PATH=$ORIGINAL_LD_LIBRARY_PATH
    unset ORIGINAL_CUDA_HOME
    unset ORIGINAL_LD_LIBRARY_PATH
    
  5. 至此,多版本cuda共存的问题就解决了。如果使用不同版本的tensorflow-gpu,就可以自动切换cuda版本了。如果版本多于两个,利用同样的原理进行配置启动与退出时的规则即可。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值