Most active commenters
  • thegeeko(3)

←back to thread

AMD GPU Debugger

(thegeeko.me)
276 points ibobev | 15 comments | | HN request time: 0.627s | source | bottom
1. snarfy ◴[] No.46195053[source]
Is there not an official tool from AMD?
replies(2): >>46195175 #>>46195264 #
2. c2h5oh ◴[] No.46195175[source]
GDB supports it https://sourceware.org/gdb/current/onlinedocs/gdb.html/AMD-G...

You also get UMR from AMD https://gitlab.freedesktop.org/tomstdenis/umr

There is also a bunch of other tools provided: https://gpuopen.com/radeon-gpu-detective/ https://gpuopen.com/news/introducing-radeon-developer-tool-s...

replies(2): >>46196538 #>>46196724 #
3. almostgotcaught ◴[] No.46195264[source]
> After searching for solutions, I came across rocgdb, a debugger for AMD’s ROCm environment.

It's like the 3rd sentence in the blog post.......

replies(1): >>46195451 #
4. djmips ◴[] No.46195451[source]
to be fair it wasn't clear that was an official AMD debugger and besides that's only for debugging ROCm applications.
replies(2): >>46195764 #>>46196474 #
5. ◴[] No.46195764{3}[source]
6. almostgotcaught ◴[] No.46196474{3}[source]
this sentence doesn't make any sense a) ROCm is an AMD product b) ROCm "applications" are GPU "applications".
replies(3): >>46196704 #>>46196725 #>>46196746 #
7. slavik81 ◴[] No.46196538[source]
It's worth noting that upstream gdb (and clang) are somewhat limited in GPU debugging support because they only use (and emit) standardized DWARF debug information. The DWARF standard will need updates before gdb and clang can reach parity with the AMD forks, rocgdb and amdclang, in terms of debugging support. It's nothing fundamental, but the AMD forks use experimental DWARF features and the upstream projects do not.

It's a little out of date now, but Lance Six had a presentation about the state of AMD GPU debugging in upstream gdb at FOSDEM 2024. https://archive.fosdem.org/2024/events/attachments/fosdem-20...

replies(1): >>46204348 #
8. ◴[] No.46196704{4}[source]
9. thegeeko ◴[] No.46196724[source]
amd gdb is an actual debugger but it only works with applications that emit dwarf and use the amdkfd KMD aka it doesn't work with graphics .. all of the rest are not a actual debuggers .. UMR does support wave stepping but it doesn't try to be a shader debugger rather a tool for drivers developers and the AMD tools doesn't have any debugging capabilities.
10. fc417fc802 ◴[] No.46196725{4}[source]
But not all GPU applications are ROCm applications (I would think).

I can certainly understand OP's confusion. Navigating parts of the GPU ecosystem that are new to you can be incredibly confusing.

11. thegeeko ◴[] No.46196746{4}[source]
there's 2 AMD KMD(kernel mode drivers) in linux: amdkfd and amdgpu .. the graphics applications use the amdgpu which is not supported by amdgdb .. amdgdb also has the limitation of requiring dwarf and and mesa/amd UMDs doesn't generate that ..
replies(1): >>46203244 #
12. dman ◴[] No.46203244{5}[source]
Do you know which one rocm uses?
replies(1): >>46203567 #
13. thegeeko ◴[] No.46203567{6}[source]
amdkfd
replies(1): >>46219123 #
14. core-explorer ◴[] No.46204348{3}[source]
The extensions were voted into the upcoming DWARF 6 standard, e.g.https://dwarfstd.org/issues/211206.1.html
15. dman ◴[] No.46219123{7}[source]
Thank you!