• 配置环境的坑坑洼洼


    0 序言

    一段时间后,总会遇到同样的配置环境问题,又要重新搜索解决方案。这里为自己做一个总结。
    
    • 1

    General

    0. cuda, g++, 版本更换

    老版本cuda下载连接:
    https://developer.nvidia.com/cuda-toolkit-archive

    gedit ~/.bashrc
    source ~/.bashrc
    
    • 1
    • 2

    在bashrc中加入以下:

    export CUDA_HOME=/usr/local/cuda 
    export PATH=$PATH:$CUDA_HOME/bin 
    export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
    
    • 1
    • 2
    • 3

    并通过软链接的方式更换cuda版本

    sudo rm -rf /usr/local/cuda  #删除之前生成的软链接
    sudo ln -s /usr/local/cuda-10.1 /usr/local/cuda #生成新的软链接
    
    • 1
    • 2

    gcc版本切换可以用类似思路,或:
    安装命令

     sudo add-apt-repository ppa:ubuntu-toolchain-r/test
     sudo apt-get update
     sudo apt-get install -y gcc-7 g++-7
    
    • 1
    • 2
    • 3

    这个文件夹先显示gcc已经安装的版本

    ls /usr/bin/gcc*
    
    • 1

    gcc版本切换

     
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 20 --slave /usr/bin/g++ g++ /usr/bin/g++-5
     
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 10 --slave /usr/bin/g++ g++ /usr/bin/g++-7
     
    # 10,20这些表示的是优先级,可根据需要选定,优先级高的即为默认的。
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    然后执行

    sudo update-alternatives --config gcc
    
    • 1

    选择优先级,最后使用

    gcc -V
    
    • 1

    查看

    a 更换完仍无效

    安装了新版本cuda后要先重启;仍然不行:
    20221104

    which nvcc
    
    • 1

    返回

    /usr/bin/nvcc
    
    • 1

    还正常,打开nvcc这个脚本,发现

    exec /usr/lib/nvidia-cuda-toolkit/bin/nvcc
    
    • 1

    和软链接的位置不同,改为

    exec /usr/local/cuda/bin/nvcc "$@"
    
    • 1

    后,可正常切换cuda版本

    1. subprocess.CalledProcessError: Command ‘[‘ninja‘, ‘-v‘]‘ returned non-zero exit status 1.

    对于ninja的问题,一些solution将[‘ninja’,‘-v’]改成[‘ninja’,‘–v’] 或者[‘ninja’,‘–version’]是不能解决问题的。本质在于没有统一cuda、pytorch的版本。
    20221102出现:pytorch版本:1.8.2+CU101;NVCC 版本cuda10.2

    tiny-cuda-nn

    1.FileNotFoundError: [Errno 2] No such file or directory: ‘:/usr/local/cuda:/usr/local/cuda-10.1/bin/nvcc’

    命名有这个directory, which nvcc 路径是一样的。但是在tiny-cuda-nn torch extension部分编译不通过。
    solution:https://github.com/NVIDIA/apex/issues/368

  • 相关阅读:
    51单片机音乐喷泉频谱彩灯多功能音乐盒播放器
    基于Raft解决“幽灵复现”问题
    OD-Model【8】:YOLOv4
    golang中的panic 和 recover
    掌握逻辑漏洞复现技术,保护您的数字环境
    Java数组截取如何实现?Java语言教程
    Vue实现增删改查——基于SpringBoot和Vue的后台管理系统项目系列博客(九)
    allegro中怎样制作和添加logo
    常见故障及其解决方法
    【leetcode】最小差值 I c++
  • 原文地址:https://blog.csdn.net/qq_35624030/article/details/127665102