xref: /aosp_15_r20/external/pytorch/benchmarks/dynamo/check_perf_csv.py (revision da0073e96a02ea20f0ac840b70461e3646d07c45)
1import argparse
2import sys
3import textwrap
4
5import pandas as pd
6
7
8def check_perf_csv(filename, threshold):
9    """
10    Basic performance checking.
11    """
12
13    df = pd.read_csv(filename)
14
15    failed = []
16    for _, row in df.iterrows():
17        model_name = row["name"]
18        speedup = row["speedup"]
19        if speedup < threshold:
20            failed.append(model_name)
21
22        print(f"{model_name:34} {speedup}")
23
24    if failed:
25        print(
26            textwrap.dedent(
27                f"""
28                Error {len(failed)} models performance regressed
29                    {' '.join(failed)}
30                """
31            )
32        )
33        sys.exit(1)
34
35
36if __name__ == "__main__":
37    parser = argparse.ArgumentParser()
38    parser.add_argument("--file", "-f", type=str, help="csv file name")
39    parser.add_argument(
40        "--threshold", "-t", type=float, help="threshold speedup value to check against"
41    )
42    args = parser.parse_args()
43    check_perf_csv(args.file, args.threshold)
44