[fix] rewrite do_bench with fixed warmup/rep runs mode #411
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.
PR Category
Benchmark
Type of Change
Bug Fix
Description
In the original implementation of triton's
do_bench
function, when users specify thewarmup
andrep
parameters, the behavior may not align with their expectations. This is because:triton.testing.do_bench
, thewarmup
andrep
parameters are in milliseconds instead of reps, so that triton dynamically adjusts the number of warmup and repetition runs. And this is inconsistent with torch's measurement.Therefore, this PR rewrites the
triton.testing.do_bench
function to support a newfixed_warmup_rep_runs
parameter, which allows users to choose between two modes:triton.testing.do_bench
): Estimates the runtime of the kernel and dynamically adjusts the number of warmup and repetition runs based on the providedwarmup
andrep
times (in milliseconds).warmup
andrep
values directly as the number of warmup and repetition runs.Issue
None
Progress
Performance
No need