我有一个atoms.out
执行某些功能的 fortran 文件。我在 python 中调用该 fortran 文件:
values = subprocess.Popen(["./atoms.out", "./%s.klj" % test1, "./%s.out" % test1], stdout = subprocess.PIPE)
我看过Python PP,但我认为这不是我想要的,因为它使用 n 个 CPU 来完成一项工作。
fortran 文件进行的计算不是独立的,不能与python pp
所以我的问题是如何向多个不同的 CPU 提交多个作业,例如我有:7 个文件,我想在 4 个 CPU 上运行。
因此,每个作业分布为:
File1 -> CPU1
File2 -> CPU2
File3 -> CPU3
File4 -> CPU4
然后,当一个作业在 CPU 上完成时,它会替换为剩余的 3 个要运行的文件。SayFile1
完成CPU1
后被 替换File5
,因此工作分配如下所示:
File5 -> CPU1
File2 -> CPU2
File3 -> CPU3
File4 -> CPU4
依此类推,直到它完成对 7 个文件的 fortran 文件的运行。