From 6031f963c7d63c5d6eda68e533539db354b68932 Mon Sep 17 00:00:00 2001 From: Kristian Fossum Date: Tue, 28 May 2024 10:33:01 +0200 Subject: [PATCH] option for simpler execution of multi-thread processess --- ensemble/ensemble.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/ensemble/ensemble.py b/ensemble/ensemble.py index ec50771..2cbdee4 100644 --- a/ensemble/ensemble.py +++ b/ensemble/ensemble.py @@ -553,9 +553,12 @@ def calc_prediction(self, input_state=None, save_prediction=None): # Index list of ensemble members list_member_index = list(range(self.ne)) - # Run prediction in parallel using p_map - en_pred = p_map(self.sim.run_fwd_sim, list_state, - list_member_index, num_cpus=no_tot_run, disable=self.disable_tqdm) + if no_tot_run==1: # if not in parallel we use regular loop + en_pred = [self.sim.run_fwd_sim(state, member_index) for state, member_index in + tqdm(zip(list_state, list_member_index), total=len(list_state))] + else: # Run prediction in parallel using p_map + en_pred = p_map(self.sim.run_fwd_sim, list_state, + list_member_index, num_cpus=no_tot_run, disable=self.disable_tqdm) # List successful runs and crashes list_crash = [indx for indx, el in enumerate(en_pred) if el is False]