zkmopro / zkmopro/gpu-acceleration

Exploring Best Practices for Cryptographic Libraries on Metal

Open
#96 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
29
Forks
12
PR merge metrics
No merged PRs in 30d

Description

Problem

Most of the existing works on client-side proving acceleration with GPUs maintain their own wheels. They build from scratch (BigInt, FF arithmetic) to tower (MSM, NTT, STARKs).

However, this fragmented codebase leads to high discovery costs, and it's hard to follow up on the SoTA implementations.

Details

Explore the best practices for crypto libraries on Metal so that they could serve as the bedrock for state-of-the-art NTT, MSM, and acceleration of client-side proving. Some directions could include:

  • SIMD optimizations
  • Features of the latest Metal APIs (Metal 4)
  • Optimized Barrett Reduction
  • Optimized Montgomery Multiplication
  • Batch Inversions
  • Sparse Matrix-Vector Ops

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no files, tests, or entry points. Start by surveying the existing GPU acceleration code and the linked Metal 4 core API documentation, then compare the listed optimization areas. Done means producing a documented set of best practices that can guide future NTT, MSM, and client-side proving acceleration work.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
computer-graphics, cryptography
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.