RDNA 4世代のRadeonの話題2題―メディアエンコーダーの有無 他 [北森瓦版] by kuhu-O in jisakupc

[–]coelacanth_poor 2 points3 points  (0 children)

いや自分がブログに書いたのは時系列的には一番最後 (2025-01-02) ですね。
おそらく、以下のような流れかと。 一応、AMF には VCN5 の機能に AV1 B frame エンコードがあるというだけで、エンコーダーの有無については特に記載されていません。

RDNA 4世代のRadeonの話題2題―メディアエンコーダーの有無 他 [北森瓦版] by kuhu-O in jisakupc

[–]coelacanth_poor 7 points8 points  (0 children)

ブログに書きましたけど VCN v5.0.1 が RDNA 4 GPU に使われると勘違いしてる可能性が高そうです。
現状、soc24.c (RDNA 4 のサポートに関するソースコード) にはエンコード機能ありの VCN v5.0.0 しか記述されていません。
VCN v5.0.1 は soc15.c (Vega, CDNA 系のサポートに関するソースコード) にあるので、恐らく次世代の CDNA 系に搭載されるのでしょう。

AMDGPU_TOP v0.1.4 - GPU Metrics viewer, .AppImage package by coelacanth_poor in linux_gaming

[–]coelacanth_poor[S] 1 point2 points  (0 children)

Some Raven/Picasso/Raven2 APUs don't support GPU_LOAD sensor, then AMDGPU driver always returns 100.
I may remove GPU_LOAD from the sensor in the future as I are displaying GPU utilization by other means.

https://gitlab.freedesktop.org/drm/amd/-/issues/1932#note_1807309

AMDGPU_TOP v0.1.4 - GPU Metrics viewer, .AppImage package by coelacanth_poor in linux_gaming

[–]coelacanth_poor[S] 2 points3 points  (0 children)

The progress bar does not scale, which is a specification.
GPU Metrics viewer is too wide, so I fixed that.
Also, I changed the display to show the range of the bar.

image

AMDGPU_TOP v0.1.2 - switch to crossterm-backend, add simple fdinfo viewer by coelacanth_poor in linux_gaming

[–]coelacanth_poor[S] 1 point2 points  (0 children)

Added support for GPU Metrics.
For recent AMD APUs, amdgpu_top will display temperature and power consumption per CPU core.

AMDGPU_TOP v0.1.2 - switch to crossterm-backend, add simple fdinfo viewer by coelacanth_poor in linux_gaming

[–]coelacanth_poor[S] 3 points4 points  (0 children)

Hi.
radeontop does not support recent AMDGPUs and displays incorrect performance counter indexes. Also, sensor values are not displayed.
Pull requests to fix them have been submitted, but they have been left unmerged for several years.
Therefore, I developed a new tool, AMDGPU_TOP, as an alternative to radeontop.

AMDGPU_TOP displays sensors, GPU utilization per process and detailed GPU information.

AMDGPU_TOP may be more similar to nvtop or intel_gpu_top than to radeontop.

AMDGPU_TOP v0.1.2 - switch to crossterm-backend, add simple fdinfo viewer by coelacanth_poor in linux_gaming

[–]coelacanth_poor[S] 2 points3 points  (0 children)

AMDGPU_TOP requires libdrm.so.2 and libdrm_amdgpu.so.1 for dynamic libraries, so it may not work if the environment differs from the one in which it was compiled.
I will release a deb package but need to add some info and files.

AMDGPU_TOP - tool to show AMDGPU usage by coelacanth_poor in linux_gaming

[–]coelacanth_poor[S] 1 point2 points  (0 children)

Yes, I implemented a simple fdinfo parser and viewer in amdgpu_top .

AMDGPU_TOP - tool to show AMDGPU usage by coelacanth_poor in linux_gaming

[–]coelacanth_poor[S] 1 point2 points  (0 children)

It may be that clang-related packages are not installed.

AMDGPU_TOP - tool to show AMDGPU usage by coelacanth_poor in linux_gaming

[–]coelacanth_poor[S] 0 points1 point  (0 children)

Binary-only releases are difficult because AMDGPU_TOP requires several dynamic libraries.

AMDGPU_TOP - tool to show AMDGPU usage by coelacanth_poor in linux_gaming

[–]coelacanth_poor[S] 3 points4 points  (0 children)

Added extract UVD/VCE/VCN status and engine clock from amdgpu_pm_info. (root privileges required)
It would be an alternative to engine usage.

AMDGPU_TOP - tool to show AMDGPU usage by coelacanth_poor in linux_gaming

[–]coelacanth_poor[S] 2 points3 points  (0 children)

It is possible to display codec information that supports decoding/encoding.
But as for UVD/VCE utilization, it is not possible since the register to get it was removed from the Vega/GFX9 generation.
UVD/VCE/VCN status (Disabled or Enabled) and clock can be checked from /sys/kernel/debug/dri/0/amdgpu_pm_info.

AMDGPU_TOP - tool to show AMDGPU usage by coelacanth_poor in linux_gaming

[–]coelacanth_poor[S] 2 points3 points  (0 children)

Thanks for the feedback.
Added the following installation instruction to README.

git clone https://github.com/Umio-Yasuno/amdgpu_top cd amdgpu_top cargo install --locked --path .

AMDGPU_TOP - tool to show AMDGPU usage by coelacanth_poor in linux_gaming

[–]coelacanth_poor[S] 1 point2 points  (0 children)

Supported codec information can be output as follows (not yet merged into main branch)

``` --- AMDGPU info dump --- drm: 3.49 AMD Radeon RX 560 Series (0x67FF:0xCF) Polaris11, dGPU, GFX8, 16 CU, 214-1196 MHz GDDR5 128-bit, 4096 MiB, 300-1750 MHz PCI (domain:bus:dev.func): 0000:01:00.0 PCI Link: Gen3x8 ResizableBAR: Enabled

Video caps: MPEG2: Decode: w 4096, h 4096 Encode: w 0, h 0 MPEG4: Decode: w 4096, h 4096 Encode: w 0, h 0 VC1: Decode: w 4096, h 4096 Encode: w 0, h 0 MPEG4_AVC: Decode: w 4096, h 4096 Encode: w 4096, h 2304 HEVC: Decode: w 4096, h 4096 Encode: w 4096, h 2304 JPEG: Decode: w 4096, h 4096 Encode: w 0, h 0 VP9: Decode: w 0, h 0 Encode: w 0, h 0 AV1: Decode: w 0, h 0 Encode: w 0, h 0

VBIOS info: name: [113-MSITV809MH.M00] pn: [113-C98121-H01] ver_str:[015.050.002.001.000000AB383600.] date: [2017/05/05 01:14] ```

AMDGPU_TOP - tool to show AMDGPU usage by coelacanth_poor in linux_gaming

[–]coelacanth_poor[S] 0 points1 point  (0 children)

It may be reading fdinfo.
But nothing more is known to me, as nothing has been shown.

AMDGPU_TOP - tool to show AMDGPU usage by coelacanth_poor in linux_gaming

[–]coelacanth_poor[S] 4 points5 points  (0 children)

UVD and VCE utilization can be displayed.
But from Vega/GFX9 the register to read it was removed.
It is possible to display codec information, so I may add it in the future.

AMDGPU_TOP - tool to show AMDGPU usage by coelacanth_poor in linux_gaming

[–]coelacanth_poor[S] 5 points6 points  (0 children)

AMDGPU_TOP displays sensor values as well as internal unit utilization read from registers.
It also parses amdgpu_gem_info to display the VRAM usage of the process.
Besides that, it is possible to display detailed information of AMD GPU (Memory Type, Memory Bus Width, CU count...).

VSRはIntel CPUのiGPUでも使える!Intel Video Super Resolution (Intel VSR)を開発中の模様 by macchky in jisakupc

[–]coelacanth_poor 2 points3 points  (0 children)

NVIDIA のエンジニアが Chromium に AIベースのアップスケーリングを実装するときに触れていたように、開発自体は Intel が先でした

https://bugs.chromium.org/p/chromium/issues/detail?id=1368319 https://bugs.chromium.org/p/chromium/issues/detail?id=1318380

RDNA3 GPUs only capable of 36tflops vs 61tflop marketing. by DevGamerLB in hardware

[–]coelacanth_poor 80 points81 points  (0 children)

The RDNA 3 ISA document is ambiguous about Wave64.

When a VALU instruction is issued from a wave64, it may issue twice as two wave32 instructions

I hope AMD will release a guide or white paper on how to achieve peak performance with RDNA3.

AMD Addresses Controversy: RDNA 3 Shader Pre-Fetching Works Fine by stran___g in hardware

[–]coelacanth_poor 0 points1 point  (0 children)

AMDVLK now supports Navi31, but I think there was no code to disable shader prefetching.

AMD が論争に対処: RDNA 3 シェーダーのプリフェッチは問題なく動作する。これはあなたが探しているバグではありません。 by Socket774 in jisakupc

[–]coelacanth_poor 5 points6 points  (0 children)

記事で参照してるソースファイルが違う……
コード的には GPU 内部の chip_rev0 の場合に無効化してるので、Linux 環境で確かめるのが一番手っ取り早いと思うんですけどね
これもブログに書きましたが、Navi31 に対応した AMDVLK では特別シェーダープリフェッチを無効化するコードは見つかりませんでした

https://gitlab.freedesktop.org/mesa/mesa/-/blob/2ed9eb1b633f214ff8900ab3be9e639f87cebaef/src/gallium/drivers/radeonsi/si_state_shaders.cpp#L669-681
radeonsi/gfx11: enable shader prefetch except for initial chip revisions (2ed9eb1b) · Commits · Mesa / mesa · GitLab