feat: add end-to-end benchmark for Metal MSM pipeline #93
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.