提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
最近在给一台Ubuntu20.04的电脑装cuda-11.2版本的时候遇到了些错,经过一些列研究终于解决了这个问题。我记录了下来,希望情况和我一样的小伙伴可以解决这个问题。
一、报错的原因是什么?
报错的原因可以说是内核,也可以说是cuda的问题,我的系统内核是5.15的,如果你是5.4的内核,那么你应该不会遇到这个错误。如果遇到了,这个教程可能并不适用于你的情况,请继续往下看。
二、安装cuda-11.2
我从官网下载了适用于Ubuntu20.04的cuda-11.2,文件名叫cuda_11.2.0_460.27.04_linux.run
,我一开始准备用这个包同时把driver装上去,我在Ubuntu18.04上就是这么做的,而且没有遇到过问题。先看看报了什么错,然后一步步分析
以前遇到过gcc版本不对的问题,现在看来问题出现在安装驱动上。其实还有一个安装日志nvidia-installer.log
,只不过报错页面上没提到这个文件,这个文件的位置在/var/log/nvidia-installer.log
,我们cat下看看就知道问题在哪里了。
说的很清楚,少了一个<asm/kmap_types.h>
,我们去/usr/include
里面找发现,根本没有asm这个文件夹。只有一个asm-generic文件夹,我到这个里面看了下发现根本没有这个头文件。于是我查了下内核版本,发现有点过于新,其实对于我这个老爷机来说,根本不需要这么新的内核版本,Ubuntu20.04默认的版本应该是5.4的版本,应该是自动升级了,我没注意到。有一些资料说如果切换到5.4的版本就不会有这个问题了,我没有尝试过,感兴趣的可以去试试。以下是我的内核版本:
Linux anold-Lenovo-TianYi-100-14IBD 5.15.0-46-generic #49~20.04.1-Ubuntu SMP Thu Aug 4 19:15:44 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
上面Nvidia的论坛有个哥们说降级到5.4,他解决了这个问题,我不想折腾内核了,说不定哪天又升上来了。
以下是我已安装的所有内核版本:
确实是两个内核版本,5.4是装机自带的,5.15是升级上来的。切换内核版本的教程这里不给了,很简单的,网上一大堆,这里说怎么在5.15版本上解决这个问题。我在逛老外一个论坛的时候偶然间发现了解决方案:
这里简单翻译下,通过apt安装driver,然后通过.run安装cuda-11.2能够解决这个报错,然后在任何内核上都不会失败。现在我们试一下。
三、安装nvidia-driver-455
安装之前先禁止nouveau,这一步很关键,方法大家自行搜索下吧,网上一大堆。
sudo apt-get purge nvidia-*
先删除之前安装的,如果是新机器这一步可以忽略。
sudo add-apt-repository ppa:graphics-drivers/ppa
增加nvidia驱动的源,会自动update,如果没有就手动update下。
sudo apt-get install nvidia-driver-455
根据个人需要安装
注意:driver和cuda版本有对应关系,这个在cuda介绍页面有描述,大家可以去查阅下
sudo reboot
安装成功后reboot才会生效,重启后执行
nvidia-smi
会看到描述信息,如果不报错就是成功了
四、再装cuda-11.2
安装方法和前面一样,使用.run文件,注意:一定要勾掉driver,其它的根据需求勾选
,这个时候就可以安装了,加下环境变量就行了。
nvcc -V
不报错就是成功了,接下来上sample测试就可以了。文章来源:https://www.toymoban.com/news/detail-612988.html
总结
由于这个方法受内核的影响,所以不同的内核可能会不一样,大家如果和我一个内核应该是没有问题了。
有问题欢迎留言,我测试可以正常使用,没遇到兼容问题。文章来源地址https://www.toymoban.com/news/detail-612988.html
到了这里,关于解决Ubuntu20.04安装CUDA-11.2报256错误的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!