Torque PBS-运行几个串行Python进程



我想第一次做一些并行计算,但我不知道从哪里开始。

问题是我有一个巨大的文件列表(大约7000个csv文件(,我想处理它并从数据中获得一个文件。对于这个任务,我想使用校园集群,它与Torque PBS一起工作。

到目前为止,我发现的最接近我想要实现的目标的问题是这个。主要区别是我应该使用Torque(我真的这么认为吗?(。

所以,简而言之,我的问题是:我如何使用Torque PBS实现所引用问题的解决方案?

好吧,我用以下方式做到了:

假设有一个名为process.py的python串行进程,它一次处理100个csv文件。

然后我们需要一个文件call_pyprocess.pbs,它用以下语法调用process.py

#!/bin/bash
#PBS -l nodes=1:ppn=1
#PBS -o out.varx
#PBS -e error.varx
source activate p2.7    """ if need to specify python environment  """
python /path/to/file/process.py varx   """ varx is the iteration number """

请注意,process.py文件需要一个参数解析器才能将varx用作内部变量。

然后使用bash发出的以下命令发送作业:

for i in {00..70} ; do cp call_pyprocess.pbs temp.pbs ;
perl -pi -e "s/varx/$i/" temp.pbs; qsub temp.pbs; done

最新更新