我不熟悉Python多处理,但经常使用Python。我使用python来
脚本系统多次调用不同的程序(而不是shell脚本)。在
假设我有一个有64个处理器的计算集群,我需要运行一个操作系统调用多次调用外部程序,每次都很昂贵。在
有没有一种方法可以使用多处理来循环我的系统调用?在
假设我有以下循环:
我有一个合适的文件名列表。在
for i in filenames:
...code to setup new protein system..
os.system("$AMBERHOME/exe/sander -O -i min3.in -o min3.out -p test.prmtop -c test.inpcrd -r min3.rst -ref test.inpcrd")
基本上我的代码脚本建立了一个蛋白质系统,然后在新系统上反复运行琥珀程序。它以串行方式执行此操作,并且需要很长时间,因为如果有200个结构,那么对于每个结构,当它调用amber时,可能需要30分钟,因此总运行时间是30*200分钟。在
如果可能的话,我想要的是使用64个处理器——也许是一种方法(或者是对我可以尝试实现方法的引用)来使用Python中的多处理,这样当我有64个处理器时,我可以在某种程度上遍历上面的循环,以便每个单独的处理器用于64个独立的进程(操作系统命令)一次执行,当每个操作完成时,它发送一些信号以继续下一个可用结构的循环。通过其他处理器的工作方式操作系统电话)。在
这是不是可以在python中使用集群上的多处理来实现呢?如果有人能建议一种方法,或是一个有用的参考资料,以便能够解决这个问题,我将非常感激。谢谢!在
目前没有回答
相关问题 更多 >
编程相关推荐