ai-devtools —

Extending LLDB to Debug Applications That Span CPUs and GPUs

- We built a vendor-neutral accelerator plugin architecture in lldb-server for debugging applications that span CPUs and GPUs.

Extending LLDB to Debug Applications That Span CPUs and GPUs

It separates shared debugger infrastructure from hardware-specific device control. - The design represents the CPU and GPU as separate debugger processes while presenting them in one debugging session. Modern AI applications rarely execute in one place. A workload can begin in a high-level framework and move back and forth between native CPU code and kernels running on a GPU.

When a bug crosses those boundaries, developers need to understand the host application and the device together. That is harder than attaching a conventional debugger to another process. The CPU and GPU may use different instruction sets, registers, memory spaces, and execution models.

The GPU is also controlled through a runtime and driver inside the host process, so debugging the device often requires careful coordination with the CPU. Historically, GPU vendors built device-specific debuggers, including AMD’s ROCgdb and NVIDIA’s CUDA-GDB.

Earlier coverage

Reported by engineering.fb.com.

ai-devtoolscloud

Related coverage

Elsewhere in this edition