def omap(fun, arglist):
print banner("Starting omap")
N_tasks = len(arglist)
jobname = str(npr.RandomState().randint(10**12))
working_dir = path.join(root_working_dir, jobdir(jobname))
module_path = path.join(os.getcwd(), inspect.getsourcefile(fun))
module_name = inspect.getmodulename(module_path)
run_signal_path = path.join('..', run_signal(jobname))
fun_name = fun.__name__
slurm_str = slurm_template.format(jobname=jobname,
N_tasks=N_tasks,
other_options=slurm_options,
module_name=module_name,
fun_name=fun_name)
with temp_dir(working_dir):
shutil.copy(module_path, ".")
with open(arg_fname, 'w') as f: pickle.dump(arglist, f)
with open(slurm_fname, 'w') as f: f.write(slurm_str)
with open(run_signal_path, 'w'): pass
print "Submitting {0} tasks (output in {1})".format(N_tasks, working_dir)
while path.exists(run_signal_path): time.sleep(1)
print "Tasks submitted"
return collect_results(jobname)
评论列表
文章目录