mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 21:14:14 +08:00
Companion with https://github.com/pytorch/test-infra/pull/4424 Uses the file rating generated by the test infra PR to re order tests. For each test file, sum the file ratings from the changed files in the PR, and put the tests in order of sum. A lot of tests are probably going to end up as "prioritized" since it takes anything with a rating > 0 right now. Sharding is done twice, once on the prioritized tests, and once on the general/non prioritized tests. Prioritized tests have an order, so they should be sharded according to that order, while general tests don't have an order and are sharded by test time, which should result in more balanced shards. I'll change the metric name before I merge, i want to quarantine my testing stuff from actual results Pull Request resolved: https://github.com/pytorch/pytorch/pull/106347 Approved by: https://github.com/ZainRizvi
20 lines
580 B
Python
20 lines
580 B
Python
import pathlib
|
|
import sys
|
|
|
|
REPO_ROOT = pathlib.Path(__file__).resolve().parent.parent.parent
|
|
sys.path.append(str(REPO_ROOT))
|
|
from tools.stats.import_test_stats import get_test_file_ratings, get_test_times
|
|
|
|
TEST_TIMES_FILE = ".pytorch-test-times.json"
|
|
TEST_FILE_RATINGS_FILE = ".pytorch-test-file-ratings.json"
|
|
|
|
|
|
def main() -> None:
|
|
print(f"Exporting test times from test-infra to {TEST_TIMES_FILE}")
|
|
get_test_times(str(REPO_ROOT), filename=TEST_TIMES_FILE)
|
|
get_test_file_ratings(str(REPO_ROOT), filename=TEST_FILE_RATINGS_FILE)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|