github链接:https://github.com/hyye/dsl
一、首先介绍Ubuntu20.04下如何安装nvidia显卡驱动、CUDA。
1.安装Nvidia显卡驱动
从官网上下对应的驱动!!!!不推荐用install命令以及下载系统推荐的版本。
步骤主要为:
1.1查询电脑显卡型号
1.2官网查询显卡对应的驱动,并下载
1.3卸载原有驱动/禁用默认驱动,并安装新的驱动
如果电脑之前没有安装过显卡驱动,通过下面的教程step1可以成功安装。注意:在安装时不要加 -no-opengl-files(台式机不加没有问题,一些教程说笔记本不加会导致循环登陆的情况)
https://blog.csdn.net/qq_41246375/article/details/115597025
如果电脑之前安装驱动安崩了,需要重新安装,可以参考第三部分列出的一系列链接,别放弃,总有一个会有用。(本人的情况是,不小心在按照上述教程成功安装后,发疯又利用apt-get install命令安装了系统推荐的另外一个版本的驱动,导致执行nvidia-smi失败报错:mismatch,之后尝试卸载驱动甚至Ubuntu系统都进不去。在尝试各路神仙的花样百出的教程后终于重新成功折腾了回来,相关的博客都放在第三部分)有些博客的一部分内容是有效的,部分内容没用或者有坑,为了避坑,把推荐参考的内容标注了出来。
2.安装CUDA
CUDA的安装会比较顺利,但注意CUDA的版本需要与驱动版本对应好。
2.1CUDA版本确认
(1)对应的版本可以通过nvidia-smi命令查询,右上角的CUDA Version是驱动支持的最高版本的CUDA。
(2)如果nvidia-smi命令失败可以通过查阅release notes的第三个表查询CUDA版本与驱动的对应情况。release notes链接:
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
2.2CUDA下载
参考下面教程的step2
https://blog.csdn.net/qq_41246375/article/details/115597025
二、github项目下载到本地。
这个项目下载与之前下载的项目有所不同,记录一下正确的过程。
创建工作空间
mkdir DSL && cd DSL
mkdir src && cd src
git空间初始化
git init
git clone xxx #代码链接
进入项目
cd dsl
执行:
git submodule update --init --recursive
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo
make -j8
三、遇到的问题与问题的解决。
1.通过./xx.run与apt-install命令两次安装驱动,导致版本冲突问题
failed to initialize nvml: driver/library version mismatch
解决:彻底卸载之前的驱动,重新安装
链接一:正确卸载驱动以及查看是否卸载干净命令方法一。方法二没试过。
https://blog.csdn.net/Perfect886/article/details/119109380
链接二:完全卸载NAVIDIA驱动
https://blog.csdn.net/qq_46107892/article/details/122616172
链接三:卸载步骤非常详细,尝试过
https://zhuanlan.zhihu.com/p/685593441
链接三:文末禁止Ubuntu内核自动更新部分
https://blog.csdn.net/weixin_47571196/article/details/124111150
链接四:没有试过,放在这里做个参考
https://yinguobing.com/fix-nvidia-driver-library-mismatch/
2.CMAKE版本过低
升级教程:https://blog.csdn.net/qq_27350133/article/details/121994229
3.Cmake时GLOG等无法找到
踩坑:
下载源码编译后使用sudo make install进行了安装,其实系统里已经有了GLOG,导致原有GLOG被覆盖,之前能够成功编译的代码无法正常编译。
解决:
将make install安装的GLOG进行卸载,卸载教程如下(使用链接1成功):
1,https://blog.csdn.net/qq_39779233/article/details/125123326
2,https://blog.csdn.net/reasonyuanrobot/article/details/106732047
实际原因:
没有执行成功git submodule update --init --recursive命令,
解决:
按照第二部分执行该命令,出现xxx cloneing into xxx 字段说明执行成功,什么都不显示说明执行失败。
4.运行测试数据集时opengl报错
解决:重装显卡驱动,在安装时不要加 -no-opengl-files