def launch_parallel_run(params, env_dic, fun, ncpu, progress_total_count): if ncpu < 0: num_cpus = max(psutil.cpu_count(logical=False) - ncpu, 1) elif ncpu == 0: num_cpus = 1 else: num_cpus = min(ncpu, psutil.cpu_count(logical=False)) ray.init(num_cpus=num_cpus) pb = ProgressBar(params[nrun_key] * progress_total_count) actor = pb.actor ray_params = ray.put(params) ray_env_dic = ray.put(env_dic) stats_l = [] for run_id in range(params[nrun_key]): stats_l.append( fun.remote(ray_env_dic, ray_params, run_id, random.randint(0, 10000), actor)) pb.print_until_done() return ray.get(stats_l)
def test_sc0_base_lockdown(self): params = get_default_params() params[nindividual_key] = 100 params[nday_key] = 30 env_dic = get_environment_simulation(params) ray_params = ray.put(params) ray_env_dic = ray.put(env_dic) pb = ProgressBar(params[nday_key]) actor = pb.actor stats_l = [ sc0_base_lockdown.do_parallel_run.remote(ray_env_dic, ray_params, 0, 0, actor) ] self.assertTrue(len(stats_l) > 0)
def test_sc2_yoyo_lockdown_removal(self): params = get_default_params() params[nindividual_key] = 100 params[nday_key] = 30 params[additional_scenario_params_key] = [14, 2, 7] env_dic = get_environment_simulation(params) ray_params = ray.put(params) ray_env_dic = ray.put(env_dic) pb = ProgressBar(params[nday_key]) actor = pb.actor stats_l = [ sc2_yoyo_lockdown_removal.do_parallel_run.remote( ray_env_dic, ray_params, 0, 0, actor) ] self.assertTrue(len(stats_l) > 0)
def test_sc5_rogue_neighborhood(self): params = get_default_params() params[nindividual_key] = 100 params[nday_key] = 30 params[additional_scenario_params_key] = [4, 2] env_dic = get_environment_simulation(params) ray_params = ray.put(params) ray_env_dic = ray.put(env_dic) pb = ProgressBar(params[nday_key]) actor = pb.actor stats_l = [ sc5_rogue_neighborhood.do_parallel_run.remote( ray_env_dic, ray_params, 0, 0, actor) ] self.assertTrue(len(stats_l) > 0)