GNU Parallel运行具有多个选项的代码

时间:2013-06-05 20:04:07

标签: parallel-processing

我必须承认我正在阅读gnu并行文档但我不能 找到我在找什么。 我需要运行一个有几个选项的代码。代码是数学密集型的,在单核运行的3Ghz计算机中最多需要5天。 我之前使用过gfortran和-fopemp,但现在我正在运行这个C代码,所以gnu parallel似乎已经足够了。现在问题,我需要使用nice和nohup使用以下选项执行wcmap.c:

nohup nice -n 19 ./wcmap --slon_min 74.5 --slon_max 74.5 --ll_0_min 325 --ll_0_max 340 --bet_min 0.0 --bet_max 15 --vg 38.9 --ll_0_step 0.5 --bet_step 0.5 --path PARALLEL/ MORHIST-Exit.dat 

我尝试过gnu并行没有成功

parallel --gnu nice -n 19 ./wcmap --slon_min 74.5 --slon_max 74.5 --ll_0_min 325 --ll_0_max 340 --bet_min 0.0 --bet_max 15 --vg 38.9 --ll_0_step 0.5 --bet_step 0.5 --path PARALLEL/ MORHIST-Exit.dat  :::

我需要在远程服务器中将其在几个节点上运行几天。甚至在我的办公室电脑(4核),这就是为什么我在远程会话中使用nohup。 任何建议表示赞赏! 先感谢您! 塞巴斯蒂安

1 个答案:

答案 0 :(得分:0)

GNU Parallel无法神奇地并行化wcmap程序的内部。它能做的是并行运行带有不同参数的wcmap。所以我们假设你想要运行:

./wcmap --slon_min 74.5 --slon_max 74.5 MORHIST-Exit.dat
./wcmap --slon_min 75 --slon_max 75 MORHIST-Exit.dat
./wcmap --slon_min 75.5 --slon_max 75.5 MORHIST-Exit.dat
./wcmap --slon_min 76 --slon_max 76 MORHIST-Exit.dat

然后你可以用GNU Parallel做到这一点:

parallel ./wcmap --slon_min {} --slon_max {} MORHIST-Exit.dat ::: 74.5 75 75.5 76