在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所示。
图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以下,那么执行以下操作:
同时按下Ctrl+Shift+(F1-F5任取一个)进入tty模式,输入用户名和密码登录;
执行以下命令,关闭桌面显示
$ sudoset /etc/init.d/lightdm stop
执行完上述操作就可以进行cuda-gdb调试了。
调试完成后执行以下命令,进入Ubuntu图形界面:
$ sudoset /etc/init.d/lightdm restart
如果计算能力在3.5以上的显卡,我们就可以在图形界面模式下调试了,直接在终端(快捷键:Alt+Control+T)下输入cuda-gdb命令,进入cuda-gdb调试模式,进入之后,要输入以下命令,允许在图形界面模式下进行调试。
$ setcuda software-preemption on
[3]在终端下使用cuda-gdb命令进入调试模式后,要引入调试的文件,使用如下命令引入文件
$ (cuda-gdb ) file MatrixCUDA
其中,file为引入文件的命令,MatrixCUDA为步骤[1]中编译好的二进制文件。
使用cuda-gdb调试过程中常用的指令如下表所示:
表1cuda-gdb调试过程中常用的命令
三、Example
下面以一个二维矩阵乘法的例子来展示如何使用cuda-gdb进行调试。
图2
图3
图4
ubunt14.04安装cuda:http://www.linuxdiyf.com/linux/15027.html
Ubuntu安装CUDA驱动:http://www.linuxdiyf.com/linux/10093.html
Ubuntu下CUDA(含GPU卡驱动)安装过程:http://www.linuxdiyf.com/linux/13012.html
ubuntu Gnome 15.04/ubuntu 12.04装cuda 7.0经验贴:http://www.linuxdiyf.com/linux/12939.html
Caffe+Ubuntu 15.04+CUDA 7.0新手安装配置指南:http://www.linuxdiyf.com/linux/12708.html