amdgpu_top
is tool that display AMD GPU utilization, like umr or clbr/radeontop or intel_gpu_top.
The tool displays information gathered from performance counters (GRBM, GRBM2), sensors, fdinfo, and AMDGPU driver.
Simple TUI (like nvidia-smi, rocm-smi) |
TUI | GUI |
---|---|---|
cargo run -- [options ..]
# or
amdgpu_top [options ..]
FLAGS:
-d, --dump
Dump AMDGPU info. (Specifications, VRAM, PCI, ResizableBAR, VBIOS, Video caps)
This option can be combined with the "-J" option.
--list
Display a list of AMDGPU devices.
This option can be combined with the "-d" option.
-J, --json
Output JSON formatted data.
--gui
Launch GUI mode.
--smi
Launch Simple TUI mode. (like nvidia-smi, rocm-smi)
--apu, --select-apu
Select APU instance.
-V, --version
Print version information.
-h, --help
Print help information.
OPTIONS:
-i <u32>
Select GPU instance.
--pci <String>
Specifying PCI path. (domain:bus:dev.func)
-s <u64>, -s <u64>ms
Refresh period (interval) in milliseconds for JSON mode. (default: 1000ms)
-n <u32>
Specifies the maximum number of iteration for JSON mode.
If 0 is specified, it will be an infinite loop. (default: 0)
-u <u64>, --update-process-index <u64>
Update interval in seconds of the process index for fdinfo. (default: 5s)
key | |
---|---|
g | toggle GRBM |
r | toggle GRBM2 |
v | toggle VRAM/GTT Usage |
f | toggle fdinfo |
n | toggle Sensors |
m | toggle GPU Metrics |
h | change update interval (high = 100ms, low = 1000ms) |
q | Quit |
P | sort fdinfo by pid |
M | sort fdinfo by VRAM usage |
G | sort fdinfo by GFX usage |
M | sort fdinfo by MediaEngine usage |
R | reverse sort |
$ amdgpu_top --json | --json | jq -c -r '(.devices[] | (.Info | .DeviceName + " (" + .PCI + "): ") + ([.gpu_activity | to_entries[] | .key + ": " + (.value.value|tostring) + .value.unit] | join(", ")))'
AMD Radeon RX 6600 (0000:03:00.0): GFX: 13%, MediaEngine: 0%, Memory: 4%
AMD Radeon Graphics (0000:08:00.0): GFX: 0%, MediaEngine: 0%, Memory: null%
AMD Radeon RX 6600 (0000:03:00.0): GFX: 15%, MediaEngine: 0%, Memory: 5%
AMD Radeon Graphics (0000:08:00.0): GFX: 0%, MediaEngine: 0%, Memory: null%
AMD Radeon RX 6600 (0000:03:00.0): GFX: 3%, MediaEngine: 0%, Memory: 2%
AMD Radeon Graphics (0000:08:00.0): GFX: 0%, MediaEngine: 0%, Memory: null%
...
- Releases
- .deb (generated by cargo-deb)
- .rpm (generated by cargo-generate-rpm)
- .AppImage (generated by cargo-appimage)
- AUR
- OpenMandriva to install run
sudo dnf install amdgpu_top
- Nix (v0.1.11, 2023-07-28)
- Solus to install run
sudo eopkg it amdgpu_top
Dependencies:
- libdrm2
- libdrm-amdgpu1
cargo install amdgpu_top
# or
git clone https://github.com/Umio-Yasuno/amdgpu_top
cd amdgpu_top
cargo install --locked --path .
cargo install --locked --path . --no-default-features --features="tui"
- Tom St Denis / umr · GitLab
- Mesa3D
- AMD Documentation
- https://github.com/AMDResearch/omniperf/tree/v1.0.4/src/perfmon_pub
- https://github.com/freedesktop/mesa-r600_demo
- radeonhd:r6xxErrata
- Linux Kernel AMDGPU Driver
- libdrm_amdgpu API
/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
amdgpu_allowed_register_entry
/drivers/gpu/drm/amd/amdgpu/{cik,nv,vi,si,soc15,soc21}.c
- libdrm_amdgpu API
amdgpu_top
is using cargo-i18n with Project Fluent for translation.
Please refer to pop-os/popsicle for additional supported languages.
If amdgpu_top
is not enough for you or you don't like it, try the following applications.
AMD_DEBUG=info <opengl application>
orRADV_DEBUG=info <vulkan application>
- Print AMDGPU-related information
- https://docs.mesa3d.org/envvars.html#envvar-AMD_DEBUG
- https://docs.mesa3d.org/envvars.html#envvar-RADV_DEBUG
- clbr/radeontop
- View your GPU utilization, both for the total activity percent and individual blocks.
- Syllo/nvtop
- GPUs process monitoring for AMD, Intel and NVIDIA
- Tom St Denis / umr · GitLab
- User Mode Register Debugger for AMDGPU Hardware
- GPUOpen-Tools/radeon_gpu_profiler
- for developer
- Radeon GPU Profiler (RGP) is a tool from AMD that allows for deep inspection of GPU workloads.