环境安装和例程运行
显卡主要有两家,ATI、NVIDIA,简称A卡和N卡。随着GPU计算能力的上升,采用GPU并行计算来加速的应用越来越多。
Nvidia创立人之一,黄仁勋(Jen-Hsun Huang),美籍,中国*人,现为公司主席兼行政总裁。NVIDIA采用cuda框架实现并行计算,cuda是c语言的拓展集。
ATI总部设在加拿大安大略省万锦。06年,被AMD收购。ATI有类似于cuda的框架,streaming,需要用汇编写。
本篇主要讲述
1、 Cuda编程环境准备。驱动更新、安装toolkit;
2、 运行cuda的例程。
官方文档http://docs.nvidia.com/cuda/#installation-guides
windows环境
在下载页面(https://developer.nvidia.com/cuda-downloads),选择相应版本的cuda toolkit,16年最新是8.0版本。Local类型的包含安装所需的全部内容,network类型在安装时,需要再次下载。
跟着官方教程一步步走(http://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html#axzz4VKGVD1Gj)。
在thinkpad win7 vs2012和台式机 win10 vs2015上分别做了测试。
在安装之前,需要确认自己的N卡支持cuda。
https://developer.nvidia.com/cuda-gpus CUDA-Enabled GeForce Products
NVIDIA官方还对自己的GPU有Compute Capability计算能力的测试
GeForce GTX 1070 6.1
Quadro K2000 3.0
GeForce 610M 2.1
Thinkpad上运行安装程序,出现错误“请安装intel驱动程序”。
解决方案:更新系统更新、主板驱动、集显驱动和独显驱动。
安装程序会检测本机的编程环境,安装相应版本的内容。
Installed:
- Nsight for Visual Studio 2015
- Nsight Monitor and HUD Launcher
Not Installed:
- Nsight for Visual Studio 2013
Reason: VS2013 was not found
安装完成之后,选中运行samples和readme。
Samples的目录C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0
在该目录下,打开相应的sln文件就能打开所有例程。选择相应的cu文件就能运行。
注意win10可能会出现错误:“error MSB4062: 未能从程序集 C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomizations\Nvda.Build.CudaTasks.v8.0.dll 加载任务“Nvda.Build.CudaTasks.SanitizePaths”。未能加载文件或程序集“Microsoft.Build.Utilities.v3.5, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。系统找不到指定的文件。 请确认 <UsingTask> 声明正确,该程序集及其所有依赖项都可用,并且该任务包含实现 Microsoft.Build.Framework.ITask 的公共类。”
解决方法:下载安装.net framework 3.5
运行例程bandwidth.cu。输出如下:
GPU Device 0: "GeForce GTX 1070" with compute capability 6.1
CUDA device [GeForce GTX 1070]
time spent executing by the GPU: 11.27
time spent by CPU in CUDA calls: 0.06
CPU executed 4404 iterations while waiting for GPU to finish
Linux环境
环境:ubuntu16.04。第一次装的时候,关闭x server之后,ubuntu出现了循环登录界面,愣是进不去图形界面,告诫大家,显卡驱动自己官网下,不要在toolkit中安装。
如何安装显卡驱动?
下载gnome桌面,在software中additional software中选择安装集显和独显的驱动。
不然,就是去http://www.nvidia.cn/Download/index.aspx?lang=cn 官网下载相应版本的驱动,然后需要字符界面安装。否则出错:
Installing the NVIDIA display driver...
It appears that an X server is running.
注:x server是ubuntu的图形界面系统。
sudo service lightdm stop关闭图形界面
Ctrl+alt+F1进入字符界面
Ctrl+alt+F7进入图形界面
另外Ubuntu的字符界面不支持中文显示和输入。需要将ubuntu设为英文,在system setting中设置语言。然后重启,更改桌面到Desktop文件夹。
修改桌面文件夹
Vim /home/maximus(我的用户名)/.config/user-dirs.dirs
主要还是参看官方文档(http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#axzz4VKMDC9Z8)
1、确认显卡类型是不是在支持cuda的显卡列表里
lspci | grep -i nvidia
01:00.0 VGA compatible controller: NVIDIA Corporation GF119M [GeForce 610M] (rev a1)
lspci 是一个用来显示系统中所有PCI总线设备或连接到该总线上的所有设备的工具
2、确认linux版本
uname 是Linux命令,用于显示当前操作系统名称。
uname –m (x86_64)
cat /etc/*release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
3、确认安装gcc
gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.1) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
4、确认安装正确的内核头文件和package
uname -r
4.4.0-31-generic
apt-get install linux-headers-$(uname -r)
apt-get install linux-headers-4.4.0-31-generic
5、进入cuda的安装程序
这次下载的runfile文件,执行“sh filename”
安装文件夹/usr/local/cuda-8.0
选择不安装driver