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

Parallel processing GNU并行运行具有多个选项的代码,parallel-processing,Parallel Processing,我必须承认,我当时正在阅读gnu并行文档,但我不能 找到我要找的东西。 我需要运行一个有几个选项的代码。这段代码是数学密集型的,在一台运行在单核上的3Ghz计算机上需要5天的时间。 我以前使用过gfortran和-fopemp,但现在我运行这个C代码,所以gnu并行似乎足够了。现在谈到这个问题,我需要使用nice和nohup执行wcmap.c,并使用以下选项: nohup nice -n 19 ./wcmap --slon_min 74.5 --slon_max 74.5 --ll_0_min

我必须承认,我当时正在阅读gnu并行文档,但我不能 找到我要找的东西。 我需要运行一个有几个选项的代码。这段代码是数学密集型的,在一台运行在单核上的3Ghz计算机上需要5天的时间。 我以前使用过gfortran和-fopemp,但现在我运行这个C代码,所以gnu并行似乎足够了。现在谈到这个问题,我需要使用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。 任何建议都将不胜感激! 提前谢谢你!
Sebastian

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

似乎引用命令确实有效,但我仍然收到“并行:输入是从终端读取的。只有专家故意这样做。按CTRL-D退出。”消息。它现在运行在两个线程上。你是从阅读和理解示例开始的吗?谢谢你。是的,需要在太阳经度上运行几次。我知道这一点,但我不知道这会有什么不同。每个核心实际上是一个线程,我希望每个核心有几个线程。因此,我可用的24个内核实际上是24个线程。我将手动启动这些运行,每个线程运行一次,占用所有线程。再次感谢你!