【发布时间】:2015-05-03 22:57:18
【问题描述】:
使用doParallel包时registerDoParallel中的集群和核心有什么区别?
我的理解是否正确,在单机上这些是可以互换的,我会得到相同的结果:
cl <- makeCluster(4)
registerDoParallel(cl)
和
registerDoParallel(cores = 4)
我看到的唯一区别是 makeCluster() 必须使用 stopCluster() 显式停止。
【问题讨论】:
-
不确定,但我猜你会受到核心数量的物理限制,但不受集群数量的限制,即“并行运行并通过套接字通信的 R 副本的数量”。当然,集群可能共享同一个内核,具体取决于集群数/内核数的比率。
-
我倾向于同意@Pascal 的观点,除了实际尝试可以实现的目标和工作方式之外,单台机器上没有任何区别。如果你只是想并行化一些代码,那么这两种方式都没有关系。
标签: r rparallel doparallel