r语言 - doMPI and Clusters



这是我第一次使用R和集群。在谷歌上搜索,我发现了"doMPI"包。这个包允许我自动化流程的创建。然而,我对函数有点困惑。

1 - startMPIcluster和registerDOMPI的区别是什么?

2 -传递给startMPIcluster的参数是什么?

3—当我使用命令mpirun -H n1,n2,n3 -n 1 R --slave -f sincMPI.R时,-n 1是什么意思?

4—最后,假设我有4个集群,每个集群有60个cpu。怎么可能是我的代码?

您看过doMPI的小短文吗?我试着在里面回答所有的问题。我还建议您下载doMPI源代码发行版,并查看其中包含的示例脚本。

关于你的问题:

  1. startMPIcluster用于创建一个集群对象,该对象表示一组用于并行计算的进程;registerDoMPI用于用foreach注册集群对象,因此它将用于执行并行foreach循环。

  2. 如果你用-n 1选项通过mpirun执行你的R脚本,mpirun将只启动一个进程来执行你的R脚本(我称之为主进程),startMPIcluster的第一个参数指定主进程应该启动的工人数量,以便执行由foreach循环生成的任务。如果使用mpirun启动多个进程,则根本不需要指定count值。我建议使用mpirun启动所有工作程序(在您的示例中使用-n 3),并且不指定count值。

  3. mpirun -n选项指定它应该启动的工作进程/进程的数量。如果你想生成工人,你应该使用-n 1,这样mpirun只启动主进程,并使用startMPIcluster count参数来控制要生成的工人的数量。

我真的不明白你的最后一个问题,但我认为小插图和例子应该帮助你更好地理解所有这些概念。

相关内容

  • 没有找到相关文章

最新更新