Skip to content

Instantly share code, notes, and snippets.

@tucan9389
Created May 10, 2023 12:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tucan9389/9ce47a8aa3e9bd3be79611ae5f09d91a to your computer and use it in GitHub Desktop.
Save tucan9389/9ce47a8aa3e9bd3be79611ae5f09d91a to your computer and use it in GitHub Desktop.
import argparse
import os
import subprocess
from tqdm import tqdm
import random
def get_mlir_file_paths(directory):
mlir_file_paths = []
for root, dirs, files in os.walk(directory):
for file in files:
if file.endswith(".mlir"):
file_path = os.path.join(root, file)
mlir_file_paths.append(os.path.abspath(file_path))
return mlir_file_paths
# python main.py /PATH_TO_TARGET_REPO/tensorflow
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("directory", help="Directory to search for .mlir files")
args = parser.parse_args()
path_list = get_mlir_file_paths(args.directory)
random.shuffle(path_list)
success_count = 0
fail_count = 0
fail_timout_count = 0
fail_exception_count = 0
total_count = len(path_list)
t = tqdm(path_list)
for path in t:
try:
# print(['node', '/Users/tucan9389/projects/toy-projects/netron/source/mlir.js', path])
result = subprocess.run(['node', '/Users/tucan9389/projects/toy-projects/netron/source/mlir.js', path], timeout=1, check=True)
# print(result)
success_count += 1
except subprocess.TimeoutExpired:
fail_count += 1
fail_timout_count += 1
# Execution timed out for /Users/tucan9389/projects/toy-projects/tf-mlir-tmp/tensorflow/dtensor/mlir/tests/lower_send_recv.mlir
# print(f"Execution timed out for {path}")
except subprocess.CalledProcessError:
fail_count += 1
fail_exception_count += 1
# print(f"Command failed for {path}")
success_ratio = float(success_count) / float(success_count + fail_count)
t.set_postfix({'s': success_count, 'f': fail_count, 'ft': fail_timout_count, 'fe': fail_exception_count, 'ratio': success_ratio})
print(f"Total: {total_count}, Success: {success_count}, Fail: {fail_count}, Fail Timeout: {fail_timout_count}, Fail Exception: {fail_exception_count}")
success_ratio = float(success_count) / float(total_count)
print(f"Success Ratio: {success_ratio}")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment