@@ -68,6 +68,7 @@ def __init__(self, criterion, parameters: dict, lgr: Logger):
6868
6969 # Determine whether subclustering is performed immediately after swapping
7070 self .__separate_subclustering = parameters .get ("separate_subclustering" , False )
71+ self .__disable_subclustering = parameters .get ("subclustering_disabled" , False )
7172 self ._logger .info (
7273 f"Enter subclustering immediately after cluster swapping: { self .__separate_subclustering } " )
7374
@@ -279,15 +280,16 @@ def execute(self, known_peers, phase: Phase, ave_load: float, max_load: float):
279280 self .__n_sub_skipped += 1
280281 continue
281282
282- # Perform feasible subcluster swaps from given rank to possible targets
283- self .__transfer_subclusters (phase , r_src , targets , ave_load , max_load )
283+ if not self .__disable_subclustering :
284+ # Perform feasible subcluster swaps from given rank to possible targets
285+ self .__transfer_subclusters (phase , r_src , targets , ave_load , max_load )
284286
285287 # Report on new load and exit from rank
286288 self ._logger .debug (
287289 f"Rank { r_src .get_id ()} load: { r_src .get_load ()} after { self ._n_transfers } object transfers" )
288290
289291 # Perform subclustering when it was not previously done
290- if self .__separate_subclustering :
292+ if self .__separate_subclustering and not self . __disable_subclustering :
291293 # In non-deterministic case skip subclustering when swaps passed
292294 if self .__n_swaps and not self ._deterministic_transfer :
293295 self .__n_sub_skipped += len (rank_targets )
0 commit comments