Linux(Ubuntu)配置QtCreator使用cuda-gdb调试Cuda .cu

1.项目设置

使用QT在Linux(Ubuntu)下开发C++软件时,使用CUDA进行加速。首先是在ubuntu下配置好cuda的开发环境,可参照其他相关博客。
在.pro中进行配置:

CUDA_DIR = /usr/local/cuda-11.0
CUDA_LIBS = -lcudart -lcuda

INCLUDEPATH  += $$CUDA_DIR/include
QMAKE_LIBDIR += $$CUDA_DIR/lib64
LIBS += $$CUDA_LIBS

CUDA_SOURCES += HelloCuda.cu

#CUDA编译器配置                   
#GPU架构
SYSTEM_TYPE = 64
CUDA_ARCH = sm_61
NVCCOPTIONS = -use_fast_math -O2

#调试模式下,-g 表示将CPU代码(host)编译成可调式版本,-G表示将GPU代码(kernel)编译成可调式版本。
debug 
{
    NVCCOPTIONS += -g -G
}

CUDA_INC = $$join(INCLUDEPATH,' -I','-I',' ')

cuda.input = CUDA_SOURCES
cuda.output = ${OBJECTS_DIR}${QMAKE_FILE_BASE}_cuda.o
cuda.commands = $$CUDA_DIR/bin/nvcc $$NVCCOPTIONS $$CUDA_INC $$CUDA_LIBS --machine $$SYSTEM_TYPE -arch=$$CUDA_ARCH -c -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME} 2>&1 | sed -r \"s/\\(([0-9]+)\\)/:\\1/g\" 1>&2
cuda.dependency_type = TYPE_C

QMAKE_EXTRA_COMPILERS += cuda

上述在QtCreator中增加了cuda的编译设置。根据实际环境配置路径和源文件。

2.调试配置

QtCreator中默认是使用gdb进行调试,此时无法调试进入.cu文件,我们通过cuda-gdb进行替代,从而实现.cu文件的调试。

1.检查cuda-gdb位置

$ which cuda-gdb
/usr/local/cuda-11.0/bin/cuda-gdb

2.设置QtCreator

进入QtCreator>Option>Kit>Debuggers>Add
Name:CUDA_GDB
Path:/usr/local/cuda-11.0/bin/cuda-gdb
应用>保存。

进入QtCreator>Option>Kit>Kit
选择使用的kit,我是用的是Desktop Qt 5.13.2 GCC 64bit(默认)
修改 Debugger:CUDA_GDB。
应用>保存。

此时已经完成了调试器的替换。即可以在cpp、cu中设置断点进行在线调试。

你可能感兴趣的:(Qt)