我在HPC上运行DOMPI,我想记录工人的输出。使用多帕尔,我能够使用makeCluster(outfile='myfile.log')
。使用DOMPI,在任何方法中似乎都没有outfile
参数。我尝试使用sinkWorkerOutput()
。这有效,但只为其中一名工人写了日志。我怀疑每个工人都在覆盖彼此。DOMPI是否有outfile
的模拟?
一个相关的问题 - 在工人内部,我可以找到工人号码吗?
编辑:这是一个答案的链接,讨论如何使用Outfile:使用%dopar%
时如何打印谢谢您的帮助,
ben
将工人输出发送到doMPI
软件包中的文件,将startMPIcluster
"冗长"选项设置为TRUE
:
cl <- startMPIcluster(verbose=TRUE)
这将创建每个工人的一个文件,其名称为" mpi_1_steve_41747.log"。MPI等级,用户名和进程ID用于使文件名与众不同。您还可以通过" logdir"选项指定日志目录。
要获取一个工人号码,您只需调用mpi.comm.rank
函数。