feat: add end-to-end benchmark for Metal MSM pipeline#93
Merged
moven0831 merged 1 commit intozkmopro:mainfrom Jul 14, 2025
Merged
feat: add end-to-end benchmark for Metal MSM pipeline#93moven0831 merged 1 commit intozkmopro:mainfrom
moven0831 merged 1 commit intozkmopro:mainfrom
Conversation
moven0831
approved these changes
Jul 14, 2025
Collaborator
moven0831
left a comment
There was a problem hiding this comment.
lgtm, would you add the instructions for benchmarking using this approach to the README?
4293339 to
8fa8318
Compare
Collaborator
Author
|
Yeah, done. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 10cargo bench -p mopro-msm --bench e2e -- --sample-size 100 --warm-up-time 3 --measurement-time 10The 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.