Ubuntu14.04下使用cuda-gdb进行调试

Ubuntu14.04下使用cuda-gdb进行调试


xhHuang, 韩伟


       在Ubuntu下我们想要调试CUDA程序时,就需要使用cuda-gdb调试工具,在Ubuntu下装完CUDA的集成安装包(包括:软件、驱动、样例)之后,我们就可以使用cuda-gdb了。本文讲解Ubuntu 14.04环境下如何使用cuda-gdb进行调试。


一、软、硬件概述

显卡:NVIDIA GeForce GTX Titan Black

 

CUDA集成环境:cuda_6.5.14_linux_64.run

gcc版本和cuda-gdb版本如图1所示。

Ubuntu14.04下使用cuda-gdb进行调试_第1张图片

1gcc和cuda-gdb版本

二、使用cuda-gdb调试基本流程及常用命令说明

       使用cuda-gdb进行调试首先要进行如下几步:

[1]    在终端下将程序编译为可调式版本,例如:

$ nvcc–g –G MatrixCUDA.cu –o MatrixCUDA

       其中,nvcc为cuda的编译工具,-g表示将CPU(主机)代码编译为可调式版本,-G表示将GPU(设备)代码编译为可调试版本,MatrixCUDA.cu为文件名,-o表示将原文件编译为二进制文件,MatrixCUDA为编译后的二进制文件。

[2]    判断机器显卡的计算能力(CUDA Capability)

本实验中用到的GeForceGTX Titan Black为计算能力在3.5以上的显卡,只有计算能力在3.5以上的显卡才支持图形界面调试。如果显卡计算能力在3.5以下,那么执行以下操作:

l  同时按下Ctrl+Shift+(F1-F5任取一个)进入tty模式,输入用户名和密码登录;

l  执行以下命令,关闭桌面显示

$ sudo set /etc/init.d/lightdm stop

执行完上述操作就可以进行cuda-gdb调试了。

调试完成后执行以下命令,进入Ubuntu图形界面:

$ sudo set /etc/init.d/lightdm restart

如果计算能力在3.5以上的显卡,我们就可以在图形界面模式下调试了,直接在终端(快捷键:Alt+Control+T)下输入cuda-gdb命令,进入cuda-gdb调试模式,进入之后,要输入以下命令,允许在图形界面模式下进行调试。

$ set cuda software-preemption on

[3]    在终端下使用cuda-gdb命令进入调试模式后,要引入调试的文件,使用如下命令引入文件

$ (cuda-gdb ) file MatrixCUDA

       其中,file为引入文件的命令,MatrixCUDA为步骤[1]中编译好的二进制文件。

 

       使用cuda-gdb调试过程中常用的指令如下表所示:

Ubuntu14.04下使用cuda-gdb进行调试_第2张图片

1cuda-gdb调试过程中常用的命令

 

三、Example

       下面以一个二维矩阵乘法的例子来展示如何使用cuda-gdb进行调试。


图2

Ubuntu14.04下使用cuda-gdb进行调试_第3张图片

图3

Ubuntu14.04下使用cuda-gdb进行调试_第4张图片

图4

你可能感兴趣的:(GPU)