GDB/MI Heterogeneous Debugging Commands (Debugging with ROCGDB)

Next: GDB/MI Variable Objects, Previous: GDB/MI Stack Manipulation, Up: GDB/MI [Contents][Index]

### 28.15 GDB/MI Heterogeneous Debugging Commands

This section documents GDB/MI commands for heterogeneous debugging (see Heterogeneous Debugging).

#### The `-agent-info` Command

#### Synopsis

     -agent-info [ agent-id ]

Reports information about either a specific heterogeneous agent, if the agent-id parameter is present, or about all heterogeneous agents. agent-id is the qualified heterogeneous agent ID. When printing information about all heterogeneous agents, also reports the qualified heterogeneous agent ID of the current heterogeneous agent. See qualified heterogeneous entity numbers.

#### ROCGDB Command

The corresponding ROCGDB command is ‘`info agents`’.

#### Result

The result contains the following attributes:

`agents`

  A list of heterogeneous agents. The format of the elements of the list is described in GDB/MI Heterogeneous Agent Information.

`current-agent-id`

  The qualified heterogeneous agent ID of the heterogeneous agent associated with the currently selected thread. This field is omitted if there is no selected thread (for example, when the selected inferior is not running, and therefore has no threads), the selected thread is not associated with a heterogeneous agent, or if a agent-id argument was passed to the command.

#### Example

    (gdb)
    -agent-info
    ^done,agents=[
    {id="1.1",state="A",target-id="AMDGPU Agent (GPUID 45151)",architecture="gfx906",
      name="vega20",cores="240",threads="2400",location="0a:00.0"},
    {id="1.2",state="A",target-id="AMDGPU Agent (GPUID 39113)",architecture="gfx906",
      name="vega20",cores="240",threads="2400",location="44:00.0"}],
    current-agent-id="1.1"
    (gdb)

#### The `-queue-info` Command

#### Synopsis

     -queue-info [ queue-id ]

Reports information about either a specific heterogeneous queue, if the queue-id parameter is present, or about all heterogeneous queues. queue-id is the qualified heterogeneous queue ID. When printing information about all heterogeneous queues, also reports the qualified heterogeneous queue ID of the current heterogeneous queue. See qualified heterogeneous entity numbers.

#### ROCGDB Command

The corresponding ROCGDB command is ‘`info queues`’.

#### Result

The result contains the following attributes:

`queues`

  A list of heterogeneous queues. The format of the elements of the list is described in GDB/MI Heterogeneous Queue Information.

`current-queue-id`

  The qualified heterogeneous queue ID of the heterogeneous queue associated with the currently selected thread. This field is omitted if there is no selected thread (for example, when the selected inferior is not running, and therefore has no threads), the selected thread is not associated with a heterogeneous queue, or if a queue-id argument was passed to the command.

#### Example

    (gdb)
    -queue-info
    ^done,queues=[
    {id="1.1",agent-id="1.1",target-id="AMDGPU Queue 1:1 (QID 2)",type="HSA (Multi)",
      read="0",write="2",size="65536",addr="0x00007ffff7ee0000"}âââââ,
    {id="1.2",agent-id="1.1",target-id="AMDGPU Queue 1:2 (QID 3)",type="DMA",
      size="1048576",addr="0x00007ffde4800000"}âââââ],
    {id="1.3",agent-id="1.1",target-id="AMDGPU Queue 2:3 (QID 1)",type="HSA (Multi)",
      read="2",write="2",size="262144",addr="0x00007ffff7e80000"}âââââ,
    {id="1.4",agent-id="1.1",target-id="AMDGPU Queue 1:4 (QID 0)",type="HSA (Multi)",
      read="4",write="4",size="262144",addr="0x00007ffff7f80000"}âââââ],
    current-queue-id="1.1"
    (gdb)

#### The `-dispatch-info` Command

#### Synopsis

     -dispatch-info [ dispatch-id ]

Reports information about either a specific heterogeneous dispatch, if the dispatch-id parameter is present, or about all heterogeneous dispatches. dispatch-id is the qualified heterogeneous dispatch ID. When printing information about all heterogeneous dispatches, also reports the qualified heterogeneous dispatch ID of the current heterogeneous dispatch. See qualified heterogeneous entity numbers.

#### ROCGDB Command

The corresponding ROCGDB command is ‘`info dispatches`’.

#### Result

The result contains the following attributes:

`dispatches`

  A list of heterogeneous dispatches. The format of the elements of the list is described in GDB/MI Heterogeneous Dispatch Information.

`current-dispatch-id`

  The qualified heterogeneous dispatch ID of the heterogeneous dispatch associated with the currently selected thread. This field is omitted if there is no selected thread (for example, when the selected inferior is not running, and therefore has no threads), the selected thread is not associated with a heterogeneous dispatch, or if a dispatch-id argument was passed to the command.

#### Example

    (gdb)
    -dispatch-info
    ^done,dispatches=[
    {id="1.1",queue_id="1.1",target-id="AMDGPU Dispatch 1:1:1 (PKID 0)",
      grid="[1024,1,1]",workgroup="[256,1,1]",
      fences=[{name="Barrier", abbrev="B"},{name="Aquire", value="System", abbrev="As"}],
      address-spaces=[{name="Shared", size="0"},{name="Private", size="0"}],
      kernel-desc="0x00007ffde7e00740",kernel-args="0x00007fffeff00000",
      completion="0x0000000000000000",kernel-function="0x00007ffde7e01000"}âââââ],
    current-dispatch-id="1.1"
    (gdb)

Next: GDB/MI Variable Objects, Previous: GDB/MI Stack Manipulation, Up: GDB/MI [Contents][Index]