我想第一次进行并行计算,但我不知道应该从哪里开始。
问题是我有一个庞大的文件列表(大约7000个csv文件),我想处理该列表并从数据中获取单个文件。对于此任务,我想使用与Torque PBS配合使用的校园集群。
到目前为止,我最想实现的目标是this one。与我应该使用Torque的主要区别(真的吗?)。
因此,为了简单起见,我的问题是:如何使用Torque PBS实现所引用问题的解决方案?
答案 0 :(得分:1)
好吧,我设法通过以下方式做到这一点:
假设有一个名为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