@@ -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
253258def 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