I’m trying to debug a program which uses CUDA 11.5 and Optix 7.4 on a Fedora 35 Linux system with a RTX3060 card.
The program crashes and when I run it in cuda-gdb the error is
CUDA Exception: Warp Illegal Address The exception was triggered at PC 0x7fffce30dd70 Thread 4 "GPUThread" received signal CUDA_EXCEPTION_14, Warp Illegal Address. [Switching focus to CUDA kernel 0, grid 90, block (2714,0,0), thread (0,0,0), device 0, sm 0, warp 1, lane 0] 0x00007fffce30e0e0 in ??<<<(7680,9,1),(128,1,1)>>> ()
I tried disassembling the GPU code, and got the following output where disassembly does not work
(cuda-gdb) x/4i $pc-32 0x7fffce30e0c0: 0x7fffce30e0c1: 0x7fffce30e0c2: 0x7fffce30e0c3: (cuda-gdb) p $pc $1 = (void (*)()) 0x7fffce30e0e0 (cuda-gdb) x/4x $pc-32 0x7fffce30e0c0: 0xff4b7224 0x000000ff 0x078e0035 0x000fe200 (cuda-gdb) where #0 0x00007fffce30e0e0 in ??<<<(7680,9,1),(128,1,1)>>> ()
How do I get the debugger to show me a disassembly of memory at the instruction counter?