Skip to main content
||3 min read

Mendy Berger talks wasi:webgpu on the WebAssembly Unleashed podcast

Mendy Berger talks wasi:webgpu on the WebAssembly Unleashed podcast

If WebAssembly gives you portable, sandboxed access to the CPU, what's the equivalent for the GPU? That's the question at the heart of wasi:webgpu, and the subject of the latest episode of WebAssembly Unleashed, where Cosmonic engineer and wasi:webgpu champion Mendy Berger joins hosts Joel Moses and Matthew Yacobucci to dig into portable GPU access for Wasm components.

Mendy puts it this way: WebGPU is to the GPU what Wasm is to the CPU. Both standards came out of the web, and both carry the same constraints that make them so useful everywhere else—portability across operating systems and hardware, near-native performance, and isolation you can reason about. A WebGPU program runs over Vulkan, Metal, or DX12 (the native GPU APIs on Linux, Apple, Android, and Windows platforms), and on hardware from NVIDIA, AMD, Intel, and others. Where GPU architectures keep churning, the WebGPU abstraction remains stable.

The episode digs into the details that make wasi:webgpu interesting for the component ecosystem:

  • It's a serious exercise of the Component Model. The proposal comprises a substantial WIT surface that puts resources, flags, enums, and WASI 0.3's native async to work, surfacing upstream design questions along the way.
  • Sandboxed, multi-tenant GPU compute. Capability-based security means a host grants GPU access explicitly, making GPU workloads inspectable and schedulable like any other capability.
  • The use cases are already concrete. AI inference (think llama.cpp or ONNX Runtime), server-side rendering, and scientific compute all map naturally onto portable GPU access. Because wasi:webgpu is deliberately low-level, higher-level APIs like wasi:nn can be built on top of it.

wasi:webgpu is a Phase 2 WASI proposal today, with implementations for Wasmtime and jco maintained in the wider wasi-gfx project. The wasmCloud runtime integrates the wasi:webgpu implementation, so components can put GPUs to work on wasmCloud hosts.

Learn more

Questions about GPU access on wasmCloud? Join us in the wasmCloud community—and catch WebAssembly Unleashed for more conversations from across the Wasm ecosystem.

b]:tw-hidden>

Keep up to date

Subscribe to Cosmonic for occasional communication straight to your inbox.