Our team wishes to write a performance measuring tool with focus on GPUGPU In order to understand if a particular app is compute-bound or memory-bound we would like to track Graphic card's memory accesses without sticking to any compute API Is it possible to track syscalls like read for this purpose?
Asked
Active
Viewed 112 times
0
-
`strace` would show you syscalls, but it's unclear that the actual memory access would originate in userspace and not in some kernel driver. – Chris Stratton Mar 18 '19 at 16:17
-
@Chris, it sounds like the memory accesses they want to trace aren't originating from the CPU at all, but from the graphics card. – prl Mar 18 '19 at 16:49
-
That would make syscalls rather irrelevant... at least as the direct actor, though perhaps it's possible to identify triggering interactions. My suspicious is that the asker needs to do a lot more studying of the architecture before any practical experiments. – Chris Stratton Mar 18 '19 at 17:09
-
1It’s possible to trace all MMIO accesses (x86 only for now) for the given device driver. – 0andriy Mar 19 '19 at 06:36
-
@0andriy how MMIO can be traced? – Dmitry Mar 19 '19 at 11:44
-
Surprise, surprise — with *mmiotrace*. It actually had been developed to trace GPU MMIO accesses. https://elixir.bootlin.com/linux/latest/source/Documentation/trace/mmiotrace.rst – 0andriy Mar 20 '19 at 09:20