Files
pytorch/benchmarks/dynamo/check_perf_csv.py
Bin Bao cfc5d18aad [AOTI] Turn on the ABI-compatible mode as default (#136534)
Summary: Make AOTI generate ABI-compatible code as default for OSS.

Pull Request resolved: https://github.com/pytorch/pytorch/pull/136534
Approved by: https://github.com/chenyang78
ghstack dependencies: #137660
2024-10-13 14:42:58 +00:00

51 lines
1.2 KiB
Python

import argparse
import sys
import textwrap
import pandas as pd
def check_perf_csv(filename, threshold, threshold_scale):
"""
Basic performance checking.
"""
df = pd.read_csv(filename)
failed = []
for _, row in df.iterrows():
model_name = row["name"]
speedup = row["speedup"]
if speedup < threshold * threshold_scale:
failed.append(model_name)
print(f"{model_name:34} {speedup}")
if failed:
print(
textwrap.dedent(
f"""
Error {len(failed)} models performance regressed
{' '.join(failed)}
"""
)
)
sys.exit(1)
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("--file", "-f", type=str, help="csv file name")
parser.add_argument(
"--threshold", "-t", type=float, help="threshold speedup value to check against"
)
parser.add_argument(
"--threshold-scale",
"-s",
type=float,
default=1.0,
help="multiple threshold by this value to relax the check",
)
args = parser.parse_args()
check_perf_csv(args.file, args.threshold, args.threshold_scale)