Check kernelport's WebGPU ports on your GPU
These are 15 CUDA kernels ported to WGSL with kernelport: its 12-kernel test zoo, two kernels from Karpathy's llm.c and a FlashAttention forward pass from flash-attention-minimal. This page runs each port on your GPU, here in the browser, and compares every output with a reference that was itself validated against the original CUDA kernel. It uses kernelport's fixed tolerances. Nothing is uploaded anywhere.
| kernel | status | cases | max abs error | time |
|---|
What this checks
- kernelport ran each original CUDA kernel against a PyTorch reference on an NVIDIA GPU, and froze the reference only after every case matched.
scripts/build_web_demo.pyused kernelport's own harness to generate the inputs and the expected outputs (the frozen reference, rounded to the output dtype). It also took the tolerances and the exact shader thatkernelport verifyruns.- This page uploads those inputs, dispatches the WGSL shader and compares element by element. NaN and
infinity positions must match, and every other value must be within
atol + rtol·|expected|. These are the torch.testing defaults: rtol 1.3e-6 and atol 1e-5 for float32, and rtol 1e-3 (about one ulp) for float16.
Only small cases are included (up to 400 KB per float32 case), so the page stays small. float16 runs only
where the GPU and browser support shader-f16. kernelport verify also runs the large cases.