ROCm (Rocgdb debugger) use queues to pass debug commands?
It's Me
aghozzo@gmail.com
Mon Feb 1 21:29:55 GMT 2021
Hi Tony ,
I appreciate the reply , thanks .
So just to confirm the commands are not encapsulated in a packet and pushed into queues in HSA AQL queues .
Can you please give a high level path for setting a breakpoint from user land to the GPU ( how the flow happen through the software stack )
Also if there is not much trouble can you also provide any APIs for passing a breakpoint . I looked through rocgdb / rocgdb driver code / ROCm API .. and the clear path is not clear for me ..
Again thanks a lot for the help and the reply . Appreciated
> On Feb 1, 2021, at 12:24 PM, Tye, Tony <Tony.Tye@amd.com> wrote:
>
> [AMD Official Use Only - Internal Distribution Only]
>
> rocgdb uses a driver that provides an ioctl interface that is similar in concept to what the ptrace and waitpid do for a CPU. There is a Debugger API library that uses the ioctl interface to provide an general way to control the GPU threads. There is a rocm target that is part of gdb that uses the Debugger ABI to allow GPU threads to be controlled just like CPU threads. All the code is open source.
>
> Thanks,
> -Tony
>
> -----Original Message-----
> From: Gdb <gdb-bounces@sourceware.org> On Behalf Of It's Me via Gdb
> Sent: Monday, February 1, 2021 3:18 PM
> To: gdb@sourceware.org
> Subject: ROCm (Rocgdb debugger) use queues to pass debug commands?
>
> [CAUTION: External Email]
>
> Hi ,
>
> In a heterogenous environment , how ROCm / rocgdb pass its debug commands ( example : breakpoint command) to the target ( Example a GPU) . Does the debugger queue it’s debug commands using HSA queues ? If that’s not that case how ?
>
> What is the role of the driver in this case .
>
> Thanks
More information about the Gdb
mailing list