Ubuntu14.04安装CUDA8.0报错could not insert 'nvidia_367_uvm':Invalid argument
来源:互联网 发布:nginx 1.8.0 漏洞 编辑:程序博客网 时间:2024/05/22 09:05
继AMAX 服务器双系统装机+TITAN X 显卡驱动装好之后
安装CUDA8.0折腾总结
到官网下载适合自己系统的CUDA8.0安装包.(有.deb和.run两种形式),推荐下载.run形式,可以自行决定是否安装NVIDIA DRIVER,因为deb文件在安装的过程中会自动安装NVIDIA GPU DRIVER,而我已经在上一篇博文中记录了如何安装好最新的显卡驱动,所以此处选择run文件安装,安装时不安装驱动,只安装toolkit以及samples.
如果此处选择deb形式安装,安装完毕后,编译官方给的示例,并运行deviceQuery这个示例,会出现如下错误:
CUDA Device Query (Runtime API) version (CUDART static linking) modprobe: ERROR: could not insert ‘nvidia_367_uvm’: Invalid argument.
错误原因在于,cuda自行安装的GPU driver,与系统中已经安装好的driver版本不匹配.要解决这个问题,可以卸载原来已经安装好的driver,也可以在安装的过程中选择不安装driver.
记之.
1.安装CUDA8.0(deb包)
Notes: 请有英语基础的同学,自行下载安装手册,并按照步骤一步一步来操作,手册看上去页数很多,关键安装步骤只有几句话.我在下面简要列出安装过程. 1) 确保你有一块支持CUDA的GPU显卡.(例如我的GTX TITAN X) 在[这个网站](http://developer.nvidia.com/cuda-gpus)上查看你的GPU 是否支持CUDA加速. 2) 确保你的LINUX版本是CUDA支持的 在命令行(ctrl+alt+T)中运行以下命令.
$ uname -m && cat /etc/*release
会出现以下结果:
emma@emma-AMAX:~$ uname -m && cat /etc/*releasex86_64DISTRIB_ID=UbuntuDISTRIB_RELEASE=14.04DISTRIB_CODENAME=trustyDISTRIB_DESCRIPTION="Ubuntu 14.04.5 LTS"NAME="Ubuntu"VERSION="14.04.5 LTS, Trusty Tahr"ID=ubuntuID_LIKE=debianPRETTY_NAME="Ubuntu 14.04.5 LTS"VERSION_ID="14.04"HOME_URL="http://www.ubuntu.com/"SUPPORT_URL="http://help.ubuntu.com/"BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
3) 确保你的电脑已经安装好gcc
运行以下命令查看gcc版本
$ gcc --version
4) 确保你的系统有正确的kernel headers and development packages installed
运行以下命令,获取当前版本信息
$ uname -r
运行以下命令,安装所需的头文件和包
$ sudo apt-get install linux-headers-$(uname -r)
5) 在terminal(终端)中.将目录切换到下载好的deb安装包目录下.
运行以下命令进行安装
$ sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb$ sudo apt-get update$ sudo apt-get install cuda
分别是安装repository meta-data,更新the Apt repository cache,安装CUDA 的命令.
6) 添加环境变量
$ export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}$ export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64\ ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
run $ sudo ldconfig
to make it effective.
7) 安装运行示例
目录切换到/usr/local/cuda-8.0/bin下面,运行cuda-install-samples-8.0.sh.
$ sudo cuda-install-samples-8.0.sh <dir>
解压到当前目录
$ cuda-install-samples-8.0.sh ./
8) 确认驱动版本
$ cat /proc/driver/nvidia/version
结果:
emma@emma-AMAX:~$ cat /proc/driver/nvidia/versionNVRM version: NVIDIA UNIX x86_64 Kernel Module 367.57 Mon Oct 3 20:37:01 PDT 2016GCC version: gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
其实,这个地方一开始的版本是375.27,正确的版本应该是367.57.但是咱们在上一篇博文中安装的是最新版375.之后这个更改版本的问题,我会再提及.
9) 编译示例
将terminal目录转至/usr/local/cuda-8.0/bin/NVIDIA_CUDA-8.0_Samples,在次目录下运行sudo make,调用makefile进行编译.
编译时间比较长,可能得一个小时.等到显示success.
$ sudo make
if your computer has several kernels, you can also run $ sudo make -j16
to accelerate your compile speed. To the concrete number every computer is different.
10) 运行示例
进入./bin/x86_64/linux/release.
其实我第一遍运行到这里时,是显示有错误的,错误跟本文开头提到的一样.
上网搜了很多,知道为啥会有这样的错误(驱动版本不匹配,电脑自带最新版本,cuda的是367版本,所以运行时产生冲突),但是解决方法都不理想,害得我重装了一边cuda8.0,型号过程并不复杂.但是依然没解决,最后这个问题,在我装好cuda7.5后,自动解决了!!!
$ cd ./bin/x86_64/linux/release$ sudo chmod +x deviceQuery$ sudo ./deviceQuery
结果如下:
emma@emma-AMAX:/usr/local/cuda-7.5-samples/NVIDIA_CUDA-7.5_Samples/bin/x86_64/linux/release$ sudo ./deviceQuery[sudo] password for emma: ./deviceQuery Starting... CUDA Device Query (Runtime API) version (CUDART static linking)Detected 1 CUDA Capable device(s)Device 0: "GeForce GTX TITAN X" CUDA Driver Version / Runtime Version 8.0 / 7.5 CUDA Capability Major/Minor version number: 5.2 Total amount of global memory: 12204 MBytes (12796297216 bytes) (24) Multiprocessors, (128) CUDA Cores/MP: 3072 CUDA Cores GPU Max Clock rate: 1076 MHz (1.08 GHz) Memory Clock rate: 3505 Mhz Memory Bus Width: 384-bit L2 Cache Size: 3145728 bytes Maximum Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096) Maximum Layered 1D Texture Size, (num) layers 1D=(16384), 2048 layers Maximum Layered 2D Texture Size, (num) layers 2D=(16384, 16384), 2048 layers Total amount of constant memory: 65536 bytes Total amount of shared memory per block: 49152 bytes Total number of registers available per block: 65536 Warp size: 32 Maximum number of threads per multiprocessor: 2048 Maximum number of threads per block: 1024 Max dimension size of a thread block (x,y,z): (1024, 1024, 64) Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535) Maximum memory pitch: 2147483647 bytes Texture alignment: 512 bytes Concurrent copy and kernel execution: Yes with 2 copy engine(s) Run time limit on kernels: Yes Integrated GPU sharing Host Memory: No Support host page-locked memory mapping: Yes Alignment requirement for Surfaces: Yes Device has ECC support: Disabled Device supports Unified Addressing (UVA): Yes Device PCI Domain ID / Bus ID / location ID: 0 / 2 / 0 Compute Mode: < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 8.0, CUDA Runtime Version = 7.5, NumDevs = 1, Device0 = GeForce GTX TITAN XResult = PASS
2.安装CUDA7.5(run包)
1) 安装步骤跟8.0差不多,尤其是前期的预处理工作.
2) 安装过程
没有进入text mode,即一开始的tty1-6.直接在命令行下安装.
将terminal 找到run的文件所在位置.然后
$ sudo sh cuda_<version>_linux.run
- 按空格,查看安装条例,首先问你是否接受NVIDIA安装条例.输入accept.然后会问你是否需要安装驱动(driver),选择NO.
- 是否安装cuda toolkit, YES,选择安装位置,默认就好.
- 是否安装CUDA Samples,YES,自己找个中意的地方,把samples放下,哈哈哈.
哦了
重启电脑
根据CUDA8.0的过程,编译运行示例,看能否正常运行,你会发现,守的云开见月明,居然安装成功了,系统自带的显卡版本居然跟cuda的是一个版本了.开森
重新运行刚才cuda8.0没有运行成功的示例,发现cuda8.0,也能正常运行了~**棒棒哒**
- 我还没想好要不要卸掉一个呢,先都留着吧.
3) add PATH LD_LIBRARY_PATH to your environment like before. And test it.
## 卸载方法 ##
进入/usr/local/cuda-8.0/bin,运行
$ sudo /usr/local/cuda-8.0/bin/uninstall_cuda_8.0.pl$ sudo /usr/bin/nvidia-uninstall
Emma
WSJ8020@gmail.com
奋斗在——南山下
- Ubuntu14.04安装CUDA8.0报错could not insert 'nvidia_367_uvm':Invalid argument
- ubuntu14.04 安装cuda8.0
- ubuntu14.04安装CUDA8.0
- ubuntu14.04安装cuda8.0
- ubuntu14.04安装cuda8.0
- ubuntu14.04安装cuda8.0
- ubuntu14.04安装CUDA8.0
- Ubuntu14.04 cuda8.0 opencv3.0安装caffe及遇到的各种报错的解决办法
- ubuntu14.04 安装cuda8.0--deb安装
- GTX1080+ ubuntu14.04+cuda8.0 配置安装
- Ubuntu14.04下安装Cuda8.0
- ubuntu14.04安装CUDA8.0的方法
- shmget报错Invalid argument
- 记一次虚拟机复制迁移到异机启动报could not open disk image /123.img: Invalid argument 错误
- Invalid argument: could not call shmget错误处理方法
- could-not-read-Username-for-https-github-com-Invalid-argument
- Could not open the editor: Invalid thread access报错
- org.hibernate.ex ception.DataException: could not insert报错
- python第一篇
- [Android]通过广播读取短信
- 配置文件出现BOM头(文件编码改变)引发的问题
- 润乾报表数据集中参数和宏的使用方法
- nginx log_format详解
- Ubuntu14.04安装CUDA8.0报错could not insert 'nvidia_367_uvm':Invalid argument
- Redis 使用spring-data-redis的序列化问题
- .net框架
- 干货:分析学中常用的3种分析方法!
- IEnumerable与IEnumerator区别
- mysql linux命令行导入导出数据
- DDR工作原理
- Linux screen命令简单使用方法
- 纯css画一颗跳动的心