用于将函数提交到sge批处理集群的python接口
pysge的Python项目详细描述
pysge + +
/\ /\ \ O \
/ \\ /\ /\\\ \_/|\_\
/ \\/ \\ / \\\ \\
/ \/ \\\ \/'
/ / \\\ \\_
/ / \\\ -
使用TQM进度条在(IC)SGE批处理集群上调用Python函数。
如何使用
Docs和example of SGE submission
高级接口使用:
import pysge
tasks = [...] # list of dicts with keys ["task", "args", "kwargs"] run on each node as task(*args, **kwargs)
results = pysge.local_submit(tasks)
results = pysge.mp_submit(tasks, ncores=4)
results = pysge.sge_submit(tasks, "name", "/tmp/pysge-temporaries", options="-q hep.q")
返回值是按任务顺序排列的每个任务的结果列表。
工作原理
对于sge批处理系统,将创建一个工作区,并对函数+args+kwargs进行修改。然后,提交者使用子流程将每个dilled文件提交给批处理。监视器检查这些作业的状态,等待所有作业完成并返回结果。
对于多处理,不需要工作区,提交者使用多处理。
对于本地,不需要提交者。它只是循环执行任务。