【发布时间】:2012-12-22 08:03:01
【问题描述】:
有什么方法可以在 FORTRAN 程序中调用 mprirun 吗?我正在通过 ssh 在公共 linux 集群上工作,主要思想是在程序执行结束后自动将程序入队。
我试着在程序的最后写下这样的东西:
CALL system('mpirun -np 16 -maxtime 100 TestNP')
但收到此错误:
sh: mpirun: command not found
有什么想法吗?
【问题讨论】:
-
因此,请尝试在您对
system的调用中为mpirun加上系统上mpirun的绝对路径——如果您不知道那是什么,请查看@987654326 的结果@ 在命令行。我对您为什么要这样做感到有些困惑,您真的想在程序完成后(重新)提交程序吗? (当然,重新提交它无限期) -
是的,我正在处理长期的流体动力学模拟,所以程序应该执行多次(因为集群上的计划你不能启动涉及许多过程的长时间计算)。因此,在一次迭代结束后,将保存数据以供下次启动。现在我正在手动启动,但这绝对不方便。
-
我想我明白你想要做什么,但我仍然不会使用
system来做这件事。我会做什么取决于您没有提供给我们的信息,例如您的集群提供的作业管理系统。 -
不幸的是,我不太了解集群如何管理排队的作业。为了让我的工作排队,我在 putty 控制台中使用 mpirun 命令。在该集群自动将我的程序排入队列并执行它之后,没有足够的资源可用。
-
我建议,您最好花时间学习如何在集群上配置和管理长时间运行的作业,而不是尝试创建一个使用 @ 调用重新运行自身的程序987654328@例行公事。
标签: ssh fortran cluster-computing mpi