CUDA安装日志2020-10-08

    科技2025-12-03  13

    之前ubuntu18.04安装CUDA10.2,遇到了一些问题,在这里记录一下。 安装包从官网下载,2个G,安装过程参考以下两篇博客,这两篇就很全了,足够安装。 https://blog.csdn.net/ywdll/article/details/103619130 https://blog.csdn.net/u010480194/article/details/54287335 下面是英伟达官方安装文档,可以参考 https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#runfile-installation

    安装过程有两处跟教程不相同的地方, 1.图形化界面开启与关闭 我执行之后显示Unit lightdm.service not loaded. 2.设备节点验证 我按照参考文档操作完之后,nvidia*系类文件没有出现 不过最后安装成功了之后发现这两项没有什么影响,等之后看看有没有问题再说。

    install完之后,在NVIDIA_CUDA-10.2_Samples文件夹执行make -k 这里说一下-k参数作用,也可以通过$man make查看 Continue as much as possible after an error. While the target that failed, and those that depend on it, cannot be remade, the other dependencies of these targets can be processed all the same. 通俗的来说就是在出现错误后,尽可能多地继续。忽略错误。 但是我执行make -k之后还是报错了: cudaNvSci.h:14:22: fatal error: nvscibuf.h: 没有那个文件或目录 除了cudaNvSci这个文件之外,其他文件的编译都是成功的。先放放。

    之后 $ cd ~/NVIDIA_CUDA-10.2_Samples/bin/x86_64/linux/release $ ./deviceQuery 按照教程来说最后PASS即为成功。但是我这里又出错了。不慌。 是驱动器版本和CUDA版本不匹配,我换成nvidia-driver-450(专有)驱动,再试一下。 驱动的切换方法:找到软件与更新,打开,附加驱动 之后重要的一步,重启,一定要重启!!!重启之后驱动才会生效。(之前不知道,一直FAIL) 重启之后问题解决,PASS。

    现在再说make -k尽可能的跳过错误了怎么还报错呢? 英伟达官网上有关于这个问题的讨论: https://forums.developer.nvidia.com/t/where-is-nvscibuf-h/107802 下面是网上提供的一种方法: https://blog.csdn.net/becgiggs/article/details/104081264?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160214542019195264748253%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=160214542019195264748253&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v28-2-104081264.pc_first_rank_v2_rank_v28&utm_term=nvscibuf.h&spm=1018.2118.3001.4187#commentBox 这种方法确实可以编译完成。

    有一条评论 I know, mostly just wanted to share that I also got the same error. And yes, all sample code I have tried so far has been executable, except for those using OpenGL. Not sure if it’s caused by this error or something else thought. Could you execute OpenGL samples?

    可以自己打开cudaNvSci这个文件看看。实现的功能是图像的旋转,之后转一个灰度图。 nvscibuf.h文件在那? $sudo find / -name *.h | grep nvscibuf 可以发现在/usr/local/cuda-10.2/bin/nvscibuf.h目录下有这个头文件,我明明把这条路径添加到环境变量了阿,怎么还是会找不到呢?

    最后这个问题没有解决,这只是个例子,也不用很纠结结果我感觉,只要安装PASS没有错误就ok了。

    Processed: 0.013, SQL: 9