运行matlab卡,Tesla K40c加速卡的安装已使用(2)软件篇

前言

在硬件篇中已经安装了Tesla K40加速卡安装在机箱中,接下来详细记录一下软件环境的搭建,更深层地,试着研究如何将该卡应用在大型工程运算中,主要是Visual Studio和Matlab环境下的运算。

软件安装环境

为了应对以后可能出现的这种错误,现记录搭建环境的过程,以及在实验室PC中的实际情况。先上搭建环境的官方教程

该教程不仅给出了环境搭建方法,环境搭建成功与否的测试方法,还给出了普通vs工程执行加速服务的方法。

现将英文版废话去掉,整理以下内容。

实验室软件环境介绍:

操作系统:win8 64bit

vs版本: 2013

远程登录信息LAN地址:192.168.1.222

user:Administrator

pwd:1111

环境搭建只需要4个东西:

一个GPU

一个Windows操作系统

一个VisualStudio

一个toolkit

安装

安装NVIDIA CUDA Toolkit

首先介绍CUDA,这东西就是英伟达开发的一个platform,在这个平台上,我们才可以使用GPU强大的性能(主要是并行的高性能计算);

按我的个人理解:Nvidia CUDA Toolkit之于Visual Studio,就像ADT(Android Development tools)之于Eclipse

都是相当于给IDE安装了一个强大的插件,使其能够支持某些特定的编程需求。按照说明文档的介绍,当你在vs中建立一个CUDA工程后,这个工程就是一个预先配置了CUDA build格式的C++工程 (.vcxproj) ,C++工程怎么编,这个就怎么编!(是否需要引入其他库什么的,待实践)。

这东西做的非常好,把要用的东西,集成在一个一个.exe中了,下载

最终是一个将近1GB的可执行文件,实验室安装的是版本是cuda_6.5.14_windows_general_64_bit

该版本适合win7与win8,按照文档顺序,本应该安装驱动,但我们在安装这个tookit的过程中,它已经帮忙把驱动、cuda、用例、与vs连接,甚至环境变量都已经安装设置完毕。

安装这么个软件,实际上环境就已经搭建好了。

toolkit安装路径分解

有必要分解一下安装路径,因为该环境下的好多操作工具和用例都在这些目录下,这里列出来,方便查找.

有这么几个玩意儿总是要提到:

CUDA Toolkit

路径: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5 Bin\ the compiler executables and runtime libraries

Include\ the header files needed to compile CUDA programs

Lib\the library files needed to link CUDA programs

Doc\the CUDA documentation, including:CUDA C Programming Guide

CUDA C Best Practices Guide

documentation for the CUDA libraries

other CUDA Toolkit-related documentation

CUDA Samples

路径: C:\Application Data\NVIDIA Corporation\CUDA Samples\v6.5.

不同类型的例子分装在

0_Simple, 1_Utilities, 2_Graphics, 3_Imaging, 4_Finance, 5_Simulations, 6_Advanced, 7_CUDALibraries 都是已经编译好的,可以挑一些运行一下,运行方法见Note

重要工具和文档

结合上面的过程,这里说明几个重要工具

nvidia-smi

路径:C:\Program Files\NVIDIA Corporation\NVSMI

GPU的控制台: 状态监测、模式切换,可以将其添加到环境变量了,所以打开cmd后课直接运行nvidia-smi 可以之间看见GPU的运行情况。

nvidia-smi -h查看命令帮助,另外,在其目录下有nvidia-smi.pdf使用文档

nvidia-smi -dm 1/0 更改显卡的驱动模式 1:TCC / 0:WDDM

nvcc

路径:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\bin

这东西是相当于gcc,也就是cuda下的compiler,就酱~~

还是针对cuda toolkit的命令行工具,查看cuda的版本就用这东西了nvcc -v,其他命令还没研究。

CUDA文档,上面已经给出了

Note

Note0:必须保证系统当前的驱动环境在TCC(一种支持tesla卡的驱动模式)模式下.

Note1:好多工具都是通过cmd打开,并在命令行下工作,如果哪些命令提示“不是系统命令”,把该命令所在的路径添加到环境变量path中。

Note2:如果直接双击.exe文件,会闪退看不到结果,需要在cmd运行。

Note3:如命令行下运行test.exe文件,需要在test.exe文件所在文件夹的空白处,按shift+右键,之后选择“在此处运行命令行”然后输入test即可。

啥是TCC和WWDM?

这就是NVIDIA的两种驱动模式,TCC只支持undisplay的device,如我们的tesla卡;而WWDM就是windows下正常的驱动模式,两种模式切换方法用上面的nvidia-smi -dm 后接0或1即可,更改后需要重启。

下面这段除了环境搭建者可忽略

现在即使切换回WWDM也并不能使心脏机的显示器显示内容,原因是当pci插入类显卡设备后,主板的集成显卡将被屏蔽,所以只要pci插着tesla,主板都会将其识别为独立显卡设备,再加上我们也没有做集显与tesla的交火,所以显示屏无法显示。

我猜想的解决方法:以后换主板时,考虑到可能再加一块tesla,所以建议买带有3个以上pci-e 16x插槽的主板,除了两个tesla,再加一个普通独立显卡的位置,这样关掉TCC模式后,应该能够使普通独立显卡启动,以驱动显示器。

至于多tesla,以及和独显的交火

通过cuda给程序加速

这个博客很有用,但是新建项目那部分没有用

vs下的C/C++工程

按照此博客的过程,这是4.2版本的,6.5版本按以下过程设置即可:

新建win32控制台项目;

在向导的应用程序设置中选择空项目复选框;

然后向项目添加文件,文件夹类型可选择cpp文件夹,写名称时可直接写.cu文件,也可以写成.cpp之后再进行重命名;

在项目名称上右击,快捷菜单中选择“生成自定义”命令,在打开的对话框中选择CUDA6.5;

右键.cu文件,选择属性,项类型设为 CUDA C/C++;

右键项目名称,选择属性,检查一下,保持默认;

linker–>输入–>附加以来库中添加”cudart.lib;”

cu文件中添加以下头文件

#include#include#include//提供了时间计算的功能函数

若使用arrayfire,则需要属性–VC++目录–包含目录。 添加AF_PATH

以上步骤可以使cuda工程在VS中直接build–run

另: 对.cu文件可以用nvcc工具手动编译

另: 关于cuda的运行时间

2.MATLAB

去网上查matlab cuda一大推教程:

环境我已配好,只用过程做简单整理.

done!