cuda linux编译器_CUDA与Linux系统

本文详细介绍了如何在Linux系统上安装CUDA toolkit,包括CUDA驱动和toolkit的安装步骤,以及如何配置环境变量。此外,还讨论了CUDA的调试工具CUDA GDB的使用方法,分析工具CUDA Profile的Visual Profiler和nvprof的使用,以及CUDA集成开发工具nsight的功能和操作流程。最后提到了nvml库的安装和使用方式。
摘要由CSDN通过智能技术生成

CUDA与Linux系统

目录

1. CUDA安装

在Linux系统上安装CUDA toolkit需要下载两个包:驱动和toolkit

cuda_7.0.28_linux.run

NVIDIA-Linux-x86_64-352.41.run

1.1 安装toolkit

toolkit包中提供多项功能,有显卡驱动、toolkit和samples;安装过程为:

退出X server:在控制终端执行命令:init 3;

启动安装包:执行命令:sh cuda_7.0.28_linux.run;

跳出安装须知:执行命令:strl + C,并输入accept;

不进行显卡驱动安装:在第一个选项中输入命令:N

其它选项:其它选项都选择Y或者直接回车。

添加环境变量:在~/.bashrc文件中添加如下两行

PATH=/usr/local/cuda-7.0/bin:$PATH

LD_LIBRARY_PATH=/usr/local/cuda-7.0/lib64:$LD_LIBRARY_PATH

参考文献:CUDA_Getting_Started_Linux.pdf

1.2 安装显卡驱动

本来CUDA toolkit中自带显卡驱动,但是由于自动安装显卡驱动后,导致Linux系统图形界面无法启动,所以需要手动下载和安装显卡驱动,其安装过程为:

退出图形界面:运行命令为:init 3;

启动:启动驱动文件,命令为:sh NVIDIA-Linux-x86_64-352.41.run -a;

配置:安装完成后,会提示是否运行nvidia显卡工具来自动更新xorg.conf文件,选择"Yes";

返回图形界面:在显卡安装完成后,返回图形界面,命令为:startx;

参考文献:Linux下,手动安装NVIDIA显卡官方驱动;

2. 调式工具:CUDA GDB

对于CUDA的调式工具GDB,需要使用GPU的设备。但是当在图形界面时,GPU设备已经被占用着,所以若需要使用CUDA GDB需要退出X server,进入init 3。其使用过程为:

退出X server:在终端执行命令:init 3

编译:若源程序为:pmandel.cu,编译命令可以为:nvcc -g -G pmandel.cu -o pamandel;若是有makefile文件,则也可执行命令:make。如图5所示。

图1

启动GDB:执行命令:cuda-gdb pmandel;如图6所示。

图2

设置断点:可以在任何函数或行设置断点,如执行命令:break main;或break 21;

开始调式:执行命令为:run;

继续执行:可以执行命令:continue,或是:C;如图7所示。

图3

单步执行:命令为:next,或是:n

显示信息:可以执行命令:info cuda Commands,其中的Commands可以是threads、blocks、warps和contexts等命令,其它信息可参考《cuda-gdb.pdf》。如图8所示。

图4

参考文献:cuda-gdb.pdf

3. 分析工具:CUDA Profile

3.1 Visual Profiler:图形化

Visual Profiler是NVIDIA提供的图形化分析工具,其在成功安装CUDA toolkit后,就能够使用。通过Profiler能够对CUDA 应用的CPU和GPU的时间节点进行分析,并能够调优CUDA应用的性能。Visual Profiler的简单使用方法如下所示:

1. 启动:在控制终端输入命令:nvvp;如图5所示的启动后界面。

图5

2. 新建session:其创建入口为:FileàNew Session,如图6所示是新建Session对话框,在该对话框中的File输入框中输入需被分析的可执行文件。

图6

3. 分析结果:在新建Session对话框中输入相应的可执行文件后,就能产生分析结果,如图7所示。

图7

3.2 nvprof Profiler:命令行

通过nvprof可以以命令行的形式分析和调优CUDA应用程序。nvprof的使用形式是:

nvprof    [options] [CUDA-application]    [application-arguments]

1) summary模型

这是nvprof的默认模型,在这个模型中只简单输出核函数和CUDA内存复制性能。如对于需要被测试的可执行文件boxFilterNPP,可直接执行命令:nvprof boxFilterNPP。如图 8所示的结果。

图8

2) GPU-Trace和API-Trace模型

这个模型能够以时间轴顺序提供所有在GPU发生的活动点,每个核函数的执行或是复制/赋值都能够详细的显示。如图 9所示。

图9

3) Event/metric Summary模型

通过这个模型能够在指定的NVIDIA GPU上显示所有可用的Event/metric,

图10

4) Event/metric Trace Mode

通过这个模型能够显示每个核函数的event和metric值。如图11所示。

图11

参考文献:CUDA_Profiler_Users_Guide.pdf

4. 集成工具:nsight Eclipse

4.1 CUDA编辑器

Linux中也有CUDA的集成开发工具nsight。其中在CUDA toolkit中自带nsight,所以当成功安装toolkit后,就可以启动nsight。其使用过程为:

1) 启动:在终端中输入:nsight;如图1所示是启动后的nsight界面。

图12

2) 创建项目:在nsight界面中:FileàProjectàCUDA c/c++ projectàExecutableà其中一项,如图2所示的Executable选项。

图13

3) 编译:创建可执行文件:右击项目àBuild Project;如图3所示。

图14

4) 执行:右击项目àRun AsàCocal c/c++ Application;如图4所示。

图15

参考文献:nsight_Eclipse_Edition_getting_started.pdf;

4.2 CUDA调试器

nsight也集成了gdb,通过nsight可用非常方便了对cuda程序进行调式。其中若需要进入Debug模型需要退出X server,进入init 3。当单击Debug按钮时,就会自动进入Debug Perpspective, 如图 16所示。其中当进入Debug模式时,就会在main函数中暂停。其中在nsight的工具栏中有四个相关的调式按钮:

Step Info:进入函数;

Step Over:单步执行;

Step Return:退出函数;

Resume:跳到下一断点。

图16

4.3 CUDA性能分析器

nsight同时集成了Profiler的分析工具,当打开一个项目后就能够非常方便了进行性能分析。其分析Perpspective与visual Profiler一样,如图 17所示。

图17

5. nvml库

5.1 安装方式

运行安装完nvml库后,

lib文件安装路径是:/usr/src/gdk/nvml

.h文件的安装路径是:/usr/include/nvidia/gdk/nvml.h

5.2 使用方式

lib文件

将/usr/src/gdk/nvml/lib/目录下的两个文件复制到/usr/lib64,并覆盖以前文件。若在项目中需要使用该库,则需添加所以的lib路径,如在nsight项目中按如图18所示进行添加。

图18

.h文件

若在项目中需要使用nvml库,则只需在源程序中包含nvml.h文件,同时在环境中需要添加nvml.h文件所在的路径,如图19所示。

图19

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值