Skip to content
  • Pierre-Eric Pelloux-Prayer's avatar
    6ab5ab10
    A graphical frontend for umr · 6ab5ab10
    Pierre-Eric Pelloux-Prayer authored and Tom Denis's avatar Tom Denis committed
    This commit introduces 2 features:
     - "umr --server url": starts a long running umr instance, accessible remotely
       It exposes a json based interface over a nanomsg transmission layer. See
       https://nanomsg.org/documentation.html.
     - "umr --gui [url]": a gui frontend. It can either connect to the GPU on the
       machine, or connect remotely to a "umr --server" instance.
    
       The features available from the GUI are (and their equivalent CLI switch):
         * --enumerate: to discover available GPUs and their config. Each GPU is accessible in its
         own tab.
         * --list-blocks: list IP blocks
         * --list-regs: list blocks registers. The registers can be filtered by name
         (a fuzzy search/match is used, so e.g. the filter "SDCNL" will match mmSDMA0_CNTL) or/and by
         bitfield names.
         * --vm-read/--vm-decode: read vmid or linear VRAM. When reading vmid memory the page table
         information will be displayed too.
         * --waves: dump waves. Waves information are parsed, so sgpr/vgpr are viewable (as int, uint,
         hex or float) and the shader disassembly is also available in the same view.
         * --ring: dump a given ring and display its disassembly.
         * --read: read a register and display its raw value and the individual bits. Register can also
         be auto-refreshed with a configurable frequency (default: 5 sec).
         * --write: update a register value, by modifing the raw 32 bits value or individual bits
    
    Limitations:
      * mostly tested on Navi10
      * lacks most error checking in the GUI
    6ab5ab10
    A graphical frontend for umr
    Pierre-Eric Pelloux-Prayer authored and Tom Denis's avatar Tom Denis committed
    This commit introduces 2 features:
     - "umr --server url": starts a long running umr instance, accessible remotely
       It exposes a json based interface over a nanomsg transmission layer. See
       https://nanomsg.org/documentation.html.
     - "umr --gui [url]": a gui frontend. It can either connect to the GPU on the
       machine, or connect remotely to a "umr --server" instance.
    
       The features available from the GUI are (and their equivalent CLI switch):
         * --enumerate: to discover available GPUs and their config. Each GPU is accessible in its
         own tab.
         * --list-blocks: list IP blocks
         * --list-regs: list blocks registers. The registers can be filtered by name
         (a fuzzy search/match is used, so e.g. the filter "SDCNL" will match mmSDMA0_CNTL) or/and by
         bitfield names.
         * --vm-read/--vm-decode: read vmid or linear VRAM. When reading vmid memory the page table
         information will be displayed too.
         * --waves: dump waves. Waves information are parsed, so sgpr/vgpr are viewable (as int, uint,
         hex or float) and the shader disassembly is also available in the same view.
         * --ring: dump a given ring and display its disassembly.
         * --read: read a register and display its raw value and the individual bits. Register can also
         be auto-refreshed with a configurable frequency (default: 5 sec).
         * --write: update a register value, by modifing the raw 32 bits value or individual bits
    
    Limitations:
      * mostly tested on Navi10
      * lacks most error checking in the GUI
Loading