我想使用 MPI 在 HPC 集群上并行运行 R。我知道包雪中的makeCluster函数可用于指定节点数。例如:makeCluster(2,type="MPI")
表示 2 个节点。如果不将类型指定为"MPI",makeCluster(2)
意味着单个节点上有 2 个内核。
有没有办法同时指定节点和核心的数量?
如果将类型指定为 MPI,则默认使用每个节点上的多少个内核?
我所知,snow
和parallel
软件包并没有暴露这一点 - 因为它很快就会依赖于硬件。
不,如果您的 MPI 实现是 OpenMPI,那么您可以在服务器的 MPI 配置中指定它。这有一个非常丰富的语法,hwloc
库应该给你硬件局部性。
但是最后的R只知道"工作节点的数量",并将方法和哪个传递给你选择的特定实现。