gpt4 book ai didi

macos - Rmpi 是否需要有效的 Internet 连接?

转载 作者:行者123 更新时间:2023-12-04 20:12:02 25 4
gpt4 key购买 nike

我刚刚安装了Rmpi使用本教程:http://www.stats.uwo.ca/faculty/yu/Rmpi/mac_os_x.htm在 Mac OS-X 山狮上。我只需要 Rmpi​​ 来使用所有内核,而不需要部署在硬件集群或类似设备上。

实际上,一切正常,但现在我体验到,每当我没有有效的互联网连接(比如坐在火车上或只是转无线)时,产卵奴隶都会失败,我想知道这是否应该像这样工作?

> require( Rmpi )
> mpi.spawn.Rslaves( nslaves=2 )

--------------------------------------------------------------------------
At least one pair of MPI processes are unable to reach each other for
MPI communications. This means that no Open MPI device has indicated
that it can be used to communicate between these processes. This is
an error; Open MPI requires that all MPI processes be able to reach
each other. This error can sometimes be the result of forgetting to
specify the "self" BTL.

Process 1 ([[56132,1],0]) is on host: ABC-MB02
Process 2 ([[56132,2],0]) is on host: ABC-MB02
BTLs attempted: self sm

Your MPI job is now going to abort; sorry.
--------------------------------------------------------------------------
2 slaves are spawned successfully. 0 failed.
[ABC-MB02:53970] 2 more processes have sent help message help-mca-bml-r2.txt / unreachable proc
[ABC-MB02:53970] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages

然后我的 CPU 的负载就跳到 100%,最终 R session 将崩溃。

有什么想法可以避免这种行为吗?这是我的 sessionInfo
R version 2.15.2 (2012-10-26)
Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] graphics grDevices datasets stats utils methods base

other attached packages:
[1] Rmpi_0.6-3 ggplot2_0.9.3 stringr_0.6.2 reshape2_1.2.2 plyr_1.8

loaded via a namespace (and not attached):
[1] colorspace_1.2-1 dichromat_2.0-0 digest_0.6.3 grid_2.15.2 gtable_0.1.2 labeling_0.1
[7] MASS_7.3-23 munsell_0.4 proto_0.3-10 RColorBrewer_1.0-5 scales_0.2.3 tools_2.15.2

最佳答案

它不需要互联网连接,但是如果您只有“self”和“sm”BTL 可用,并且在我的 Mac 笔记本电脑上,“tcp”BTL 不可用,除非“网络首选项”中至少有一个网络“已连接”。有趣的是,当 worker 由 mpirun 启动时,我能够成功使用 Rmpi​​,而不是被生成。此外,当 Linux 机器完全拔掉电源时,我在 Linux 机器上生成进程也没有任何问题。

通过使用以太网电缆将笔记本电脑连接到另一台计算机,甚至连接到一个小树莓派,我能够成功地让我的笔记本电脑生成进程。尽管电缆实际上不能用于任何事情,但它诱使 Mac 认为“以太网”已连接,因此“tcp”BTL 在 Open MPI 中可用,因此生成过程有效。

更新:

我终于找到了一个适用于我的 MacBook Pro 的解决方案。通过设置 btl_tcp_if_include MCA 参数设置为“lo0”,当您的笔记本电脑未连接到任何外部网络时,您可以强制 Open MPI 使用环回接口(interface)进行 TCP 通信。设置它的一种方法是在 R 脚本中使用环境变量:

Sys.setenv(OMPI_MCA_btl_tcp_if_include='lo0')
library(Rmpi)
mpi.spawn.Rslaves(nslaves=2)

只要您在加载 Rmpi 之前设置环境变量,它似乎就可以工作。 ,这是调用 MPI_INIT 的时候。

关于macos - Rmpi 是否需要有效的 Internet 连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16077460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com