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 vector_add.cu, 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 vector_add.cu:21 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.