示例#1
0
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)