Я только что установил Rmpi
с помощью этого урока: http://www.stats.uwo.ca/faculty/yu/Rmpi/mac_os_x.htm на Mac OS-X Mountain Lion. Мне нужен Rmpi только для использования всех ядер, а не для развертывания на аппаратном кластере или аналогичном.Требуется ли 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
Тогда загрузка моих процессоров просто перескакивает на 100% и, в конечном итоге, сбой R-сессии.
Любые идеи, как я могу избежать такого поведения? Это мой 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
Для одной машины часто гораздо удобнее и эффективно использовать память для использования семейства функций 'mclapply' и друзей из пакета' parallel'; они используют разделяемую память и вилки, а не порождают независимые процессы. Это также может помочь добавить тег «mpi» к вашему вопросу, поскольку он действительно не соответствует R-специфике. –
@MartinMorgan за ваш совет. Проблема в том, что у меня нет контроля над той параллельной библиотекой, которую я буду использовать, поскольку функциональность реализована в других пакетах, на которых я основываюсь ('xcms' и' CAMERA' из Bioconductor). Эти пакеты просто проверяют, установлены ли «Rmpi» (предпочтительнее) или «снег» и развертываются вычисления на столько ядер, сколько я указываю. Однако с помощью «снега» я могу обойти описанную проблему, но смотреть на других. – Beasterfield
Эти пакеты из той же группы; возможно, электронная почта для 'packageDescription ('CAMERA') $ Maintainer', а также xcms приведет к долгосрочному решению? –