Skip to content

feat: add end-to-end benchmark for Metal MSM pipeline#93

Merged
moven0831 merged 1 commit into
zkmopro:mainfrom
yaroslavyaroslav:benchmarking
Jul 14, 2025
Merged

feat: add end-to-end benchmark for Metal MSM pipeline#93
moven0831 merged 1 commit into
zkmopro:mainfrom
yaroslavyaroslav:benchmarking

Conversation

@yaroslavyaroslav

@yaroslavyaroslav yaroslavyaroslav commented Jul 14, 2025

Copy link
Copy Markdown
Collaborator

This is the implementation of benchmarking of shaders of msm 0.2.0 version.

There's two benchmarks available:

  • cargo bench -p mopro-msm --bench shaders -- --sample-size 100 --warm-up-time 3 --measurement-time 10
  • cargo bench -p mopro-msm --bench e2e -- --sample-size 100 --warm-up-time 3 --measurement-time 10

The latter one just calls related unit test under the hood, which is honestly makes little sense since the amount of CPU work's going on under the hood, so it gives little chance of measuring really interesting part -- shaders running time.

The former is the opposite, it mimics the each shader from 0.2.0 unit test running each of them on a set of input sizes, and it measures how long is it take shader to run since the dispatch to the finish in the pretty isolated way.

@moven0831 moven0831 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, would you add the instructions for benchmarking using this approach to the README?

@yaroslavyaroslav

Copy link
Copy Markdown
Collaborator Author

Yeah, done.

@moven0831 moven0831 merged commit 5beca80 into zkmopro:main Jul 14, 2025
2 checks passed
@yaroslavyaroslav yaroslavyaroslav deleted the benchmarking branch July 14, 2025 17:14
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

Successfully merging this pull request may close these issues.

2 participants