Linux上CUDA程序调试(cuda-gdb)

来源:互联网 发布:四川大学软件学院课程 编辑:程序博客网 时间:2024/04/30 05:20
  1. 将程序编译成可调式版本

    $: nvcc –g –G program.cu –o program

    -g 表示将CPU代码(host)编译成可调式版本,-G表示将GPU代码(kernel)编译成可调式版本。

  2. 进入调试器

    $: cuda-gdb

    cuda-gdb

  3. 调试指令

指令 简写 指令说明 举例 file exe_name 指定待调试的可执行文件 file program set args arg1 arg2 … 设置命令行参数 set args 1 2 breakpoint b 设置断点 b main
b 数字 run r 在调试器中执行程序 start 开始执行程序,并在main的第一行停住 next r 单步执行到下一行 step s 单步执行,会进入函数内部执行 continue c 执行已暂停程序到下一断点或结尾处 print p 打印参数信息,查看变量 p var1 thread 列出当前主机线程 cuda 列出当前活跃的kernel/grid/block/thread内容,并允许将焦点移至此处 cuda thread(1, 1, 1)
cuda kernel 1 block(1, 2, 1) info 查看参数所包含的具体信息 info devices
info kernels
info threads backtrace bt 显示当前函数调用栈的内容
0 0