-
Notifications
You must be signed in to change notification settings - Fork 630
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
Add multi-configuration performance benchmarking #5858
base: main
Are you sure you want to change the base?
Conversation
!build |
CI MESSAGE: [25999015]: BUILD STARTED |
CI MESSAGE: [25999015]: BUILD FAILED |
- Add support for range-based arguments for CPU threads and HW decoder load - Implement performance testing across multiple configurations - Add best throughput configuration reporting - Enhance performance metrics with more detailed statistics - Refactor pipeline definitions to support variable HW decoder load Signed-off-by: Janusz Lisiecki <[email protected]>
!build |
CI MESSAGE: [25999773]: BUILD STARTED |
CI MESSAGE: [25999773]: BUILD PASSED |
internal_tools/hw_decoder_bench.py
Outdated
|
||
@pipeline_def( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pipeline definitions could be outside of the loops, for better readibility.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
print(f"Total time: {best_result['total_time']:.6f} sec") | ||
print(f"Throughput: {best_result['total_throughput']:.2f} frames/sec") | ||
else: | ||
print("No results to display") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
an idea, print the results for all parameters in a way that can be easily parsed and plotted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you elaborate which format you have in mind?
internal_tools/hw_decoder_bench.py
Outdated
parser.add_argument( | ||
"-j", | ||
dest="num_threads", | ||
help="CPU threads. Can be a single value (e.g. 4) or range 'start:end:step' (e.g. 1:8:2)", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd mention that the end of the range is included (which is not typically the case in Python ranges)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
internal_tools/hw_decoder_bench.py
Outdated
) | ||
|
||
|
||
def parse_range_arg(arg_str, use_float=False): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just a suggestion: maybe just parse_fn=int
here instead of use_float
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
Signed-off-by: Janusz Lisiecki <[email protected]>
Category:
New feature (non-breaking change which adds functionality)
Description:
Additional information:
Affected modules and functionalities:
Key points relevant for the review:
Tests:
Checklist
Documentation
DALI team only
Requirements
REQ IDs: N/A
JIRA TASK: N/A