Graphsignal: Production ROCm Profiling for Inference Workloads

Most GPU profilers are built for a single run on a workstation. Production inference is different: thousands of requests in flight, GPUs running flat out, and behavior that only shows up under real load. Full kernel traces don’t scale, elevated privileges often aren’t available in containers, and a flat list of kernel names isn’t what you tune against.

We’ve added ROCm support to the Graphsignal profiler. It attaches via AMD’s rocprofiler-sdk as a low-overhead sidecar (no code changes, no root), and continuously captures GPU kernel activity, memory transfers, and host sync waits (hipDeviceSynchronize / hipStreamSynchronize / hipEventSynchronize) for HIP/ROCm workloads including PyTorch, vLLM, and SGLang (ROCm 7+).

ROCm support is still in BETA while we work around a few upstream issues in rocprofiler-sdk (including HIP graph incompatibility).

Setup is a wrap around your existing launch command:

export GRAPHSIGNAL_API_KEY=
graphsignal-run vllm serve --port 8000

Try it out, see the ROCm integration guide.

Happy to answer questions

1 Like