Skip to content

Commit c4808ee

Browse files
authored
Update pash_compiler.py
1 parent 4896a16 commit c4808ee

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

compiler/pash_compiler.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ def main_body():
5151
config.load_config(args.config_path)
5252

5353
runtime_config = config.config['distr_planner']
54+
config.parallelization_success = False
5455

5556
## Read any shell variables files if present
5657
vars_dict = env_vars_util.read_vars_file(args.var_file)
@@ -93,9 +94,10 @@ def compile_ir(ir_filename, compiled_script_file, args, compiler_config):
9394
try:
9495
ret = compile_optimize_output_script(ir_filename, compiled_script_file, args, compiler_config)
9596
if ret is None:
96-
log("No parallelization opportunities detected for this script.")
97+
log("[PaSh Info] No parallelization opportunities detected for this region.")
9798
except Exception as e:
98-
log("WARNING: Exception caught:", e)
99+
log("[PaSh Warning] Compilation failed due to an unexpected error.", level=0)
100+
log(traceback.format_exc(), level=1)
99101
# traceback.print_exc()
100102

101103
return ret
@@ -137,7 +139,7 @@ def compile_optimize_output_script(ir_filename, compiled_script_file, args, comp
137139

138140
ret = optimized_ast_or_ir
139141
else:
140-
raise Exception("Script failed to compile!")
142+
log("[PaSh Warning] Script failed to compile. Ensure regions are annotated properly.", level=0)
141143

142144
return ret
143145

@@ -213,6 +215,9 @@ def optimize_irs(asts_and_irs, args, compiler_config):
213215
## Assert that the graph that was returned from compilation is valid
214216
assert(ast_or_ir.valid())
215217

218+
if ast_or_ir.valid():
219+
config.parallelization_success = True
220+
216221
# log(ir_node)
217222
# with cProfile.Profile() as pr:
218223
distributed_graph = choose_and_apply_parallelizing_transformations(ast_or_ir, compiler_config.width,
@@ -252,6 +257,8 @@ def print_graph_statistics(graph):
252257

253258
def choose_and_apply_parallelizing_transformations(graph, fan_out, batch_size, r_split_batch_size):
254259
parallelizer_map = choose_parallelizing_transformations(graph)
260+
if any(parallelizer_map.values()): # Check if any transformations were applied
261+
config.parallelization_success = True
255262
apply_parallelizing_transformations(graph, parallelizer_map, fan_out, batch_size,
256263
r_split_batch_size)
257264
return graph

0 commit comments

Comments
 (0)