1

我在 HPC 上运行 doMPI,我想记录工作人员的输出。使用 doParallel,我能够使用makeCluster(outfile='myfile.log'). 使用 doMPI,任何方法中似乎都没有outfile参数。我尝试使用sinkWorkerOutput(). 这行得通,但只为其中一名工人写了日志。我怀疑每个工人都在覆盖另一个。是否有outfile用于 doMPI 的模拟?

一个相关的问题 - 在工人内部,我可以找到工人编号吗?

编辑:这是一个讨论如何使用 outfile 的答案的链接:How can I print when using %dopar%

谢谢您的帮助,

4

1 回答 1

0

要将工作人员输出发送到doMPI包中的文件,请将startMPIcluster“详细”选项设置为TRUE

cl <- startMPIcluster(verbose=TRUE)

这会为每个工作人员创建一个名称格式为“MPI_1_steve_41747.log”的文件。MPI 等级、用户名和进程 ID 用于使文件名唯一。您还可以通过“logdir”选项指定日志目录。

要获取工人编号,您可以简单地调用该mpi.comm.rank函数。

于 2017-03-04T15:08:14.173 回答