-
Notifications
You must be signed in to change notification settings - Fork 536
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
Submission checker: better modularize the code, and have better documentation of the expectation of results #1670
Comments
Agree with old configs - when running the submission checker on old submissions it makes sense to use the old release of the submission checker. We probably need to maintain only the latest submission and the upcoming submission compatibility in the submission checker. This itself will reduce the submission checker size considerably and this PR does a first iteration for this. This PR adds a GitHub action for the submission checker changes and runs it against the v4.0 results repository - once this is merged we can safely do any change in the submission checker. One concrete example of uncaught error is: if users submit runs lower than 600 seconds, the submission checker will report ERROR in the log and return non-zero, but at the end of the log it will still say "the results look OK". This issue should already be fixed in the master branch by this PR |
Proposal for Submission Checker Refactor
Proposal:
Proposed structure:
schema.py
Example: v4.0: models.py:
config.py:
For example: performance_dir_check.py:
Where Checker is a class that has a method that runs all member methods that begin with "fail_if_", and ctx contains the necessary information about the workload being checked. |
@pgmpablo157321 to have a look |
PR removing the backward compatibility of the submission checker: #1677 |
We should get back to this issue after #1677 is merged. That PR would simplify the submission checker a lot. |
@nv-ananjappa @nvzhihanj @arjunsuresh @mrmhodak
Helper modules:
Additional items:
|
From chatgpt :) To modularize this script, I’ll refactor the file into logical components, grouping functions, constants, and class definitions into separate modules. Here's how the code can be broken down: Folder Structure:
1.
|
WIth the increasing number of benchmarks and checks, we have found several issues with the submission checker (https://github.com/mlcommons/inference/blob/master/tools/submission/submission_checker.py):
We would like to propose several changes to the submission checker, including but not limited to:
One concrete example of uncaught error is: if users submit runs lower than 600 seconds, the submission checker will report ERROR in the log and return non-zero, but at the end of the log it will still say "the results look OK".
@pgmpablo157321 FYI. We are discussing how to better improve the submission_checker, and will continue to update in this thread.
The text was updated successfully, but these errors were encountered: