Skip to content

Accelerating Kimchi zero-knowledge provers via webGPU

Notifications You must be signed in to change notification settings

jk89/kimchi-webgpu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Abstract

Kimchi WebGPU explores accelerating Kimchi zero-knowledge provers by performing Number-Theoretic Transforms (NTTs) NTT and Multi-Scalar Multiplications (MSMs) MSM over the Pallas and Vesta fields entirely on the GPU via WebGPU. The approach keeps all polynomial coefficients and intermediate results resident on-device, minimizing host-GPU synchronization, with the goal of improving prover throughput while preserving correctness and determinism.

Requirements

  • Brave Nightly installed (macOS or Linux) to run browser-based WebGPU tests and benchmarks.
    • Ensure flags like --enable-unsafe-webgpu and --ignore-gpu-blocklist are enabled for full GPU support.e

Installation

  1. Install dependencies:
    npm install

Build

  • Compile TypeScript source files into the dist folder:
    npm run build
    This runs the command: tsc

Test / Run Browser WebGPU Tests

  • Headless CLI Tests (for CI or automated runs):
    npm run test:browser-cli
    This runs the compiled browser test runner in Node using Puppeteer + Brave in headless mode.

  • Interactive Browser Tests (leave browser open for inspection):
    npm run test:browser
    This starts an Express server, opens Brave with WebGPU enabled, and displays test results in the browser page.
    The page URL will be printed to stdout so you can open it manually if needed.

About

Accelerating Kimchi zero-knowledge provers via webGPU

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published