A small (16KB) VS Code extension that runs dissassembler tools on known GPU program binary formats and shows the output with a basic syntax highlight. This extension collects no data; and has a small and carefully chosen supply chain.
This extension is created entirely by AI under my direction, and is biased towards my own opinion about ergonomics. I understand if you don't like AI, please feel free to not use this extension.
- Automated Magic Byte Detection: Automatically identifies GPU binary formats by inspecting the first 64 bytes of a file.
- Multi-Architecture Support:
- NVIDIA CUDA:
- Standalone CUBIN (.cubin) via
nvdisasm. - Fatbinary (.fatbin) via
cuobjdump. - PTX (.ptx) intermediate assembly.
- Standalone CUBIN (.cubin) via
- DirectX: DXBC (including DXIL and legacy DXBC) via
dxc -dumpbin. - Vulkan/OpenCL: SPIR-V (Little and Big Endian) via
spirv-dis. - Generic ELF: Basic disassembly via
objdump.
- NVIDIA CUDA:
- Syntax Highlighting: Custom, high-fidelity grammars for:
- SASS (NVIDIA Shader Assembly)
- PTX (NVIDIA Parallel Thread Execution)
- SPIR-V Assembly
- DXIL Assembly
- Seamless Workflow: Opens disassembly output in a side-by-side editor with the appropriate language mode automatically applied.
- Right-click any file in the Explorer or within an open Editor.
- Select Disassemble GPU Program.
- The extension will identify the format, invoke the necessary tool, and show the assembly output.
The extension relies on the following tools being available in your system PATH depending on the files you wish to disassemble:
nvdisasmandcuobjdump(NVIDIA CUDA Toolkit)dxc(DirectX Shader Compiler)spirv-dis(SPIRV-Tools)objdump(GNU Binutils or LLVM)