r语言 - 使用类型 = MPI 的 "doParallel" 包和直接使用 doMPI 有什么区别?



使用类型= MPI的"doParallel"包和直接使用doMPI有什么区别?

library(foreach)
library(doParallel)
cl <- makeCluster(mpi.universe.size(), type='MPI')
registerDoParallel(cl)
system.time(foreach(i = 1:3) %dopar% {Sys.sleep(i); i})

library(doMPI)
cl <- startMPIcluster(count=2)
registerDoMPI(cl)
system.time(foreach(i = 1:3) %dopar% {Sys.sleep(i); i})

"doParallel"包充当"clusterApplyLB"函数的包装器,该函数通过使用MPI集群时调用"Rmpi"包中的函数来实现。

">

doMPI"软件包直接使用"Rmpi"函数,并包含一些"clusterApplyLB"中不可用的功能:

  • 支持即时获取输入和组合输出,高效处理大量循环迭代;

  • 支持 MPI 广播以初始化工作线程;

  • 允许通过 mpirun 或 MPI 生成函数启动工作线程。

相关内容

  • 没有找到相关文章

最新更新