VIewing assembly line ready to execute

It is possible to see the assembly line which is going to be executed by a warp? For example, in the following output, I have set a break point at the kernel start point and then go to the next line

(cuda-gdb) break vadd
Breakpoint 1 at 0xb66a: file, line 19.
(cuda-gdb) r
hread 1 "vector_add" hit Breakpoint 1, vadd<<<(136,1,1),(768,1,1)>>> (A=0x7fffa6000000, B=0x7fff9e000000, C=0x7fff96000000, 
    ds=33554432) at
21	  for (int idx = threadIdx.x+blockDim.x*blockIdx.x; idx < ds; idx+=gridDim.x*blockDim.x)         // a grid-stride loop
(cuda-gdb) n
22	    C[idx] = A[idx] + B[idx];         // do the vector (element) add here

The following command shows that warp 0 on SM 0 is active

(cuda-gdb) info cuda warps
  Wp Active Lanes Mask Divergent Lanes Mask Active Physical PC Kernel BlockIdx First Active ThreadIdx 
Device 0 SM 0
*  0        0xffffffff           0x00000000 0x00000000000001f0      0  (0,0,0)                (0,0,0) 
   1        0xffffffff           0x00000000 0x00000000000001f0      0  (0,0,0)               (32,0,0) 

Now when I run disassemble, it shows a bunch of instructions. I would like to see the next ready to execute instruction.

In the disassembly listing the “=>” token identifies the instruction that is currently being executed at the $pc. The instruction that would be executed next depends on the type of instruction at the current $pc. For example, a control flow instruction might cause execution to move elsewhere.

More information about interpreting disassembly output can be found in the cuda-gdb documentation here: CUDA-GDB

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.