8种机械键盘轴体对比
本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?
这篇文档是参照NVIDIA的官方文档做了删减修补而成,官方文档在这里。
这篇教程在以下服务器上部署成功:
系统版本:Ubuntu-14.04.5-Server-amd64
CUDA Toolkit版本: 8.0.61_375_26
系统版本: CentOS 6.8(amd64)
CUDA Toolkit版本:9.1
基本步骤:安装前检查系统是否满足要求
(假如需要安装CUDA的标准样本库则需要进行此步操作)安装CUDA SAMPLE所必需的依赖包
禁用Nouveau驱动
下载CUDA-Toolkit驱动文件
安装CUDA-Toolkit
检查是否安装成功
1. 安装前检查系统是否满足要求
系统要求:
在您的系统安装CUDA需要安装以下部件:CUDA GPU
GCC编译器,Linux开发环境支持以及其他相关包
NVIDIA CUDA Toolkit,可在NVIDIA官方网站下载。
1.1 检查系统GPU是否支持CUDA
为了检验系统是否支持CUDA,你可以去不同发行版对应的系统配置里查看,或者使用以下命令检查:1lspci | grep -i nvidia
1.2 检查系统版本是否符合要求
CUDA只支持某些版本的linux系统,在cuda的版本手册里面已经注明了,为了检验你的系统是否支持CUDA,你可以使用以下命令查看:1uname -m && cat /etc/*release
或者uname -r,你应当可以看到和下面相似的输出1
2x86_64
Red Hat Enterprise Linux Workstation release 6.0 (Santiago)
其中x86_64一行表明你的系统是64位的,下面一行给出了关于系统的相关信息。
1.3 检查系统是否已经安装了GCC编译器
对于使用CUDA从事开发而言,gcc编译器是必须的,但对于运行CUDA应用它不是必须的。在大多数情况下,gcc编译器要是安装在(cuda)支持的linux发行版里,工作起来没有什么问题。
查看系统里安装的gcc编译器可以使用以下命令:1gcc --version
对于Ubuntu而言,则是1gcc -v
假如系统上没有安装gcc编译器,可以使用以下命令安装:
ubuntu:1sudo install -y gcc
RHEL/CentOS:1yum install -y gcc
1.4 检查系统是否已经安装了对应版本的Kernel Headers以及对应的开发包
无论你什么时候更改了kernel的版本,对应版本的kernel headers以及开发包都必须在安装CUDA之前安装好,查看系统的内核(kernel)版本可以使用以下命令查看:1uname -r
输出结果是系统内核版本号。在安装CUDA驱动前,系统的kernel headers以及开发包的版本号必须和这个版本号一致,这个命令可以用于拼接命令从而安装kernel headers以及开发包。
下面列举出来的是一些linux发行版如何安装kernel headers以及开发包的命令,需要注意的是,对于其他的linux发行版,需要保证kernel headers和kernel build版本保持一致。
1.4.1 RHEL/CentOS
可以用以下命令来安装和内核版本一致的kernel headers以及开发包:1sudo yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r)
1.4.2 Fedora1sudo dnf install kernel-devel-$(uname -r) kernel-headers-$(uname -r)
1.4.3 OpenSUSE/SLES
使用输出的内核版本信息:1
2uname -r
3.16.6-2-default
在这个例子里面,内核版本是3.16.6-2, variant是default. kernel headers以及开发包可以用以下命令安装,记得将variant和version用上面输出来的版本号和信息替换。1sudo zypper install kernel--devel=
1.4.4 Ubuntu1sudo apt-get install linux-headers-$(uname -r)
2. 安装CUDA SAMPLE所必需的依赖包1sudo apt-get install -y make freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libglu1-mesa-dev
3. 禁用Nouveau驱动
为了安装显示驱动,需要禁用Nouveau驱动。不同发行版的linux的禁用方法是不同的。
首先查看系统的Nouveau驱动是否已经启用了:1lsmod | grep nouveau
假如有任何信息说明系统加载了Nouveau驱动。
禁用方法如下:
3.1. Fedora1touch /usr/lib/modprobe.d/blacklist-nouveau.conf
在blacklist-nouveau.conf中写入:1
2blacklist nouveau
options nouveau modeset=0
重新生成内核的启动镜像initramfs文件包:1sudo dracut --force
3.2. RHEL/CentOS1touch /etc/modprobe.d/blacklist-nouveau.conf
在blacklist-nouveau.conf中写入:1
2blacklist nouveau
options nouveau modeset=0
重新生成内核的启动镜像initramfs文件包:1sudo dracut --force
3.3. OpenSUSE1touch /etc/modprobe.d/blacklist-nouveau.conf
在blacklist-nouveau.conf中写入:1
2blacklist nouveau
options nouveau modeset=0
重新生成内核的启动镜像initramfs文件包:1sudo /sbin/mkinitrd
3.4. SLES
SLES上不需要做任何操作因为SLES上没有安装Nouveau.
3.5. Ubuntu1touch /etc/modprobe.d/blacklist-nouveau.conf
在blacklist-nouveau.conf中写入:1
2blacklist nouveau
options nouveau modeset=0
重新生成内核的启动镜像initramfs文件包:1sudo update-initramfs -u
3.下载NVIDIA的CUDA Toolkit
NVIDIA CUDA Toolkit可在这里下载。
可以用MD5校验下载文件是否完整:1md5sum
CUDA-Toolkit对应的MD5SUM可以在这里进行校验。
4. 安装CUDA Toolkit
4.1 安装
使用以下命令进行安装:1sudo sh cuda__linux.run
或者1sudo ./cuda__linux.run
在安装过程中,installer会弹出下列对话要求我们响应:EULA Acceptance
CUDA Driver installation
CUDA Toolkit installation, location, and /usr/local/cuda symbolic link
CUDA Samples installation and location
假如选择了安装CUDA驱动(显卡的驱动),installer会提示是否安装openGL库。假如用于显示器显示的显卡不是NVIDIA显卡,那么OpenGL库不应该被安装,否则非Nvidia的OpenGL会被覆盖从而导致GUI不能正常工作。此时可以在安装命令后面加上参数--no-opengl-libs可以拒绝安装OpenGL库文件。
假如用于显示的显卡是NVIDIA显卡,那么X server的配置文件:/etc/X11/xorg.conf可能需要手动修改配置。在默认情况下,nvidia-xconfig会为系统自动生成一个xorg.conf文件。对于一些非标准的系统,比如超过一个GPU以上的系统,更加推崇的是手动修改xorg.conf文件。查看xorg.conf文件的文档以便获取更多信息。
其他配置保持默认即可。
4.2 添加环境变量
安装完成后需要在/etc/profile中添加环境变量, 在文件最后添加:1
2PATH=/usr/local/cuda-8.0/bin:$PATH
export PATH
保存后, 执行下列命令, 使环境变量立即生效1source /etc/profile
5. 检查是否安装成功:
5.1 敲命令1nvidia-smi
有显示nvidia的显卡信息则成功
5.2 编译例子,看例子是否能运行
完成后编译Sample文件, 整个过程大概10分钟左右1
2cd /usr/local/cuda-8.0/samples
sudo make
全部编译完成后, 进入samples/bin/x86_64/linux/release,sudo下运行deviceQuery1
2cd samples/bin/x86_64/linux/release
sudo ./deviceQuery
如果出现下列显卡信息, 则驱动及显卡安装成功:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41./deviceQuery Starting...
CUDA Device Query (Runtime API) version (CUDART static linking)
Detected 1 CUDA Capable device(s)
Device 0: "GeForce GTX 670"
CUDA Driver Version / Runtime Version 6.5 / 6.5
CUDA Capability Major/Minor version number: 3.0
Total amount of global memory: 4095 MBytes (4294246400 bytes)
( 7) Multiprocessors, (192) CUDA Cores/MP: 1344 CUDA Cores
GPU Clock rate: 1098 MHz (1.10 GHz)
Memory Clock rate: 3105 Mhz
Memory Bus Width: 256-bit
L2 Cache Size: 524288 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 1 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 Bus ID / PCI location ID: 1 / 0
Compute Mode:
< Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 6.5, CUDA Runtime Version = 6.5, NumDevs = 1, Device0 = GeForce GTX 670
Result = PAS
到此成功安装了CUDA Toolkit。