optimum/neuron/utils/neuron_parallel_compile.py (21 lines of code) (raw):

#!/usr/bin/env python3 # -*- coding: utf-8 -*- import codecs import re import sys import torch_neuronx from torch_neuronx.parallel_compile.neuron_parallel_compile import LOGGER as torch_neuronx_logger from torch_neuronx.parallel_compile.neuron_parallel_compile import main def get_hlos_from_run_log(trial_run_log): # New graphs are detected by specific message matching key hlo_key = "Extracting graphs" new_hlo_list = [] with codecs.open(trial_run_log, "r", encoding="utf-8", errors="ignore") as f: for line in f.readlines(): # Move temporary MODULE_* files into workdir before checking if there are any # new graphs. In try_compilations, compile only new graphs (those without # corresponding neffs). if hlo_key in line: model_path = line.split("Extracting graphs (")[1].split(")")[0] new_hlo_list.append(model_path) format_str = "\n\t" torch_neuronx_logger.info(f"New graph list from script: {format_str.join(new_hlo_list)}") return new_hlo_list torch_neuronx.parallel_compile.neuron_parallel_compile.get_hlos_from_run_log = get_hlos_from_run_log if __name__ == "__main__": sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) sys.exit(main())