Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Sparse Matrix Transposition and SMVP in Metal #9

Open
moven0831 opened this issue Oct 25, 2024 · 0 comments
Open

Implement Sparse Matrix Transposition and SMVP in Metal #9

moven0831 opened this issue Oct 25, 2024 · 0 comments
Assignees

Comments

@moven0831
Copy link
Collaborator

Problem

The accumulation phase of MSM can use sparse matrix transposition and Sparse Matrix-Vector Product (SMVP) operations for better efficiency. The current implementation does naive bucket accumulation.

Details

Develop efficient sparse matrix transposition and SMVP algorithms optimized for Metal. These optimizations will facilitate parallel bucket accumulation, thereby accelerating the MSM process on iOS devices.

Acceptance criteria

  • Adapt the parallel transposition algorithm implemented in ZPrize 2023 Prize 2, Tal Derei and Koh Wei Jie, for Metal’s compute shaders, which is originally from the cuZK paper.
  • Optimize memory access patterns within Metal shaders to reduce latency and improve throughput.
  • Validate the correctness of transposition and SMVP operations through comprehensive testing.

Reference

@moven0831 moven0831 self-assigned this Oct 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant