前言
因为很多人共用一个账号在集群上跑代码,所以不免环境过于错杂,使得出错了也不知道怎么处理,所以这里记录一下重新安装cuda-9.0的过程。之前跑代码只要涉及到device部分的就会出错,当时还不知道为什么现在知道了,是因为驱动
的问题。
环境
$> uname -r
3.10.0-514.el7.x86_64
$> cat /proc/version
Linux version 3.10.0-514.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Tue Nov 22 16:42:41 UTC 2016
安装
多一下嘴,我这里是先参考官方指南安装的,在遇到问题之后去搜的博客,才有如下博客参考,也推荐大家尽量先跟着官方指南来。附上链接:NVIDIA CUDA Installation Guide for Linux
-
单个版本cuda-9.0
参考博客:在Red Hat 6.3系统上安装CUDA 8.0版本 即可,虽然版本不同,但是安装步骤都是一样的。
-
多版本下安装cuda9.0
cuda默认在linux上的安装目录是在/usr/local/cuda-x.x
下。集群上因为有多个cuda的版本,参考博客:安装多版本 cuda ,多版本之间切换,采用runfile方式安装,其他就是到装驱动的地方注意一下就好。
验证cuda是否安装成功
- nvcc --version是否成功
没有在path中加入nvcc路径的话可以用以下方式查询版本。
- samples中的./deviceQuery是否运行成功
$> ./deviceQuery
./deviceQuery Starting...
CUDA Device Query (Runtime API) version (CUDART static linking)
Detected 4 CUDA Capable device(s)
Device 0: "Tesla K40c"
CUDA Driver Version / Runtime Version 9.0 / 9.0
CUDA Capability Major/Minor version number: 3.5
Total amount of global memory: 11440 MBytes (11995578368 bytes)
(15) Multiprocessors, (192) CUDA Cores/MP: 2880 CUDA Cores
GPU Max Clock rate: 745 MHz (0.75 GHz)
Memory Clock rate: 3004 Mhz
Memory Bus Width: 384-bit
L2 Cache Size: 1572864 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: