Ep. 014 - Finding Miscompiles For Fun, Not Profit (AI Infrastructure) | Justin Lebar & Jordan Nanos

Original source
Artwork for Ep. 014 - Finding Miscompiles For Fun, Not Profit (AI Infrastructure) | Justin Lebar & Jordan Nanos

Guest

Justin LebarSemiAnalysis contractor

Compiler engineer and researcher focused on ML infrastructure, previously at Google, Waymo, and OpenAI.

Summary

Justin Lebar walks through a project that hunted miscompiles in Nvidia’s PTX compiler and LLVM’s AMDGPU and x86 backends using two approaches: traditional fuzzing and LLM-assisted code reading. He describes how fuzzing requires generating well-formed random programs and checking equivalence after compilation, often by executing on a GPU, but eventually hits diminishing returns as the same bugs recur. Lebar reports finding one or two high-severity x86 bugs, including an atomic operation that can be split into two non-atomic operations, plus multiple AMDGPU miscompiles. He says agentic code reading was initially shocking in how well it worked, though it was expensive, and that newer tooling like slash-goal support and UltraCode improved token efficiency substantially. The broader takeaway is that LLMs can materially improve compiler bug-finding and even help validate fixes, if teams are willing to spend the compute and human review time.

Notes

Guests

Justin Lebar

Hosts

Jordan Nanos

Topics

Compiler BugsLLVMCode Review AutomationAI InfrastructureGPU ToolchainsFuzzingLLM AgentsCompiler SecurityLLVM Backends