mirror of
https://github.com/tile-ai/tilelang.git
synced 2026-10-24 07:04:00 +08:00
* fix bug * update performance.py * update python api docs * test workflow * fix dependency * fix bug * fix * update correct git config * test workflow * clear cache * lint fix * fix exclude path
50 lines
1.7 KiB
Python
50 lines
1.7 KiB
Python
import subprocess
|
|
import re
|
|
from tabulate import tabulate
|
|
|
|
import os
|
|
|
|
env = os.environ.copy()
|
|
env["TILELANG_CLEAR_CACHE"] = "1"
|
|
|
|
|
|
def parse_output(output):
|
|
data = {}
|
|
for line in output.split('\n'):
|
|
line = line.strip()
|
|
if line.startswith('Latency:'):
|
|
match = re.search(r'Latency: ([\d.]+)', line)
|
|
data['latency'] = match.group(1) if match else 'N/A'
|
|
elif line.startswith('TFlops:'):
|
|
match = re.search(r'TFlops: ([\d.]+)', line)
|
|
data['best_tflops'] = match.group(1) if match else 'N/A'
|
|
elif line.startswith('Config:'):
|
|
data['config'] = line.split('Config: ')[-1]
|
|
elif line.startswith('Reference TFlops:'):
|
|
match = re.search(r'Reference TFlops: ([\d.]+)', line)
|
|
data['ref_tflops'] = match.group(1) if match else 'N/A'
|
|
return data
|
|
|
|
|
|
output_v1 = subprocess.run(['./tl/bin/python', './maint/scripts/performance.py'],
|
|
capture_output=True,
|
|
text=True,
|
|
env=env).stdout
|
|
data_v1 = parse_output(output_v1)
|
|
|
|
output_v2 = subprocess.run(['./tll/bin/python', './maint/scripts/performance.py'],
|
|
capture_output=True,
|
|
text=True,
|
|
env=env).stdout
|
|
data_v2 = parse_output(output_v2)
|
|
|
|
table = [[
|
|
"original", data_v1['latency'], data_v1['best_tflops'], data_v1['ref_tflops'], data_v1['config']
|
|
], [
|
|
"current", data_v2['latency'], data_v2['best_tflops'], data_v2['ref_tflops'], data_v2['config']
|
|
]]
|
|
|
|
headers = ["version", "Best Latency (s)", "Best TFlops", "Reference TFlops", "Best Config"]
|
|
|
|
print(tabulate(table, headers=headers, tablefmt="github", stralign="left", numalign="decimal"))
|