Shell 如何在RHEL6.9上并行运行多个不同的Fortran脚本

Shell 如何在RHEL6.9上并行运行多个不同的Fortran脚本,shell,parallel-processing,openmp,rhel,gnu-parallel,Shell,Parallel Processing,Openmp,Rhel,Gnu Parallel,假设我的机器上有N个Fortran可执行文件和M个内核,其中N大于M。我希望能够并行运行这些可执行文件。我正在使用RHEL6.9 在过去,我使用和来并行运行代码。然而,就我目前的目的而言,这两个选项都不起作用:RHEL没有GNU并行发行版,OpenMP适用于单个可执行文件中的并行块,而不是多个可执行文件 并行运行这N个可执行文件的最佳方式是什么?一个简单的方法会像 executable_1 & executable_2 & ... & executable_N 工作?仅

假设我的机器上有N个Fortran可执行文件和M个内核,其中N大于M。我希望能够并行运行这些可执行文件。我正在使用RHEL6.9

在过去,我使用和来并行运行代码。然而,就我目前的目的而言,这两个选项都不起作用:RHEL没有GNU并行发行版,OpenMP适用于单个可执行文件中的并行块,而不是多个可执行文件

并行运行这N个可执行文件的最佳方式是什么?一个简单的方法会像

executable_1 & executable_2 & ... & executable_N

工作?

仅仅因为它不是官方存储库的一部分,并不意味着您不能在RHEL系统上使用GNU并行。您只需自行构建即可。

xargs
也支持并行执行。它的界面并不适合您的用例,但这应该可以:

echo executable_1 executable_2 ... executable_N | xargs -n1 -P8 bash -c
-P8
表示“并行运行八个进程”。)


对于更复杂的任务,我有时编写makefile并使用
make-j8
并行运行目标。

这与Fortran没有太多关系,您确定需要Fortran标记吗?我想说,你更需要标记你的shell(bash?)或类似的东西。已编辑。安装GNU Parallel大约需要3-5秒时间
,但这应该可以运行。只需非常小心:如果使用输出,则不再正确: