-
Notifications
You must be signed in to change notification settings - Fork 94
Home
Gpuvis is a Linux GPU profiler similar to GPUView on Windows. It is designed to work with trace-cmd captures and help track down Linux gpu and application performance issues.
If you are running Linux kernel v4.12+ and capture these amdgpu events:
"amdgpu:amdgpu_cs_ioctl"
"amdgpu:amdgpu_sched_run_job"
"*fence:*fence_signaled"
Gpuvis will show you "SW queue", "HW queue", and "HW execution" duration in the gfx timeline.
Capturing "sched:sched_switch"
events allows gpuvis to graph task states:
In the above image, our mouse is hovering over the selected purple rectangle which is in the TASK_INTERRUPTIBLE state for 4.8ms. Green sections are TASK_RUNNING.
From linux/sched.h:
TASK_RUNNING (0): On the run queue
TASK_INTERRUPTABLE (1): Sleeping but can be woken up
TASK_UNINTERRUPTABLE (2): Sleeping but can't be woken up by a signal
TASK_STOPPED (4): Stopped process by job control signal or ptrace
TASK_ZOMBIE (32): Finished but waiting for parent to call wait() to cleanup
Gpuvis will show vertical lines for vblank events if you capture "drm:drm_vblank_event"
, and calculate vblank queued duration if you also capture "drm:drm_vblank_event_queued"
events.