zkmopro / zkmopro/gpu-acceleration
Exploring Best Practices for Cryptographic Libraries on Metal
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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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