многоядерная обработка в R на Windows XP - через doMC и foreach

Я отправляю этот вопрос попросить совет относительно того, как оптимизировать использование нескольких процессоров от R на машине Windows XP.

В данный момент я создаю 4 сценария (каждый сценарий с, например, для (я в 1:100) и (я в 101:200), и т.д.), который я выполняю на 4 различных сессиях R одновременно. Это, кажется, использует весь доступный CPU.

Я однако хотел бы сделать это немного более эффективное. Одно решение могло состоять в том, чтобы использовать "doMC" и "foreach" пакет, но это не возможно в R на машине Windows.

например.

library("foreach")
library("strucchange")
library("doMC") # would this be possible on a windows machine?
registerDoMC(2)  # for a computer with two cores (processors)
## Nile data with one breakpoint: the annual flows drop in 1898
## because the first Ashwan dam was built
data("Nile")
plot(Nile)

## F statistics indicate one breakpoint
fs.nile <- Fstats(Nile ~ 1)
plot(fs.nile)
breakpoints(fs.nile)     # , hpc = "foreach" --> It would be great to test this.
lines(breakpoints(fs.nile))

Какие-либо решения или совет?

8
задан Janvb 2 February 2011 в 14:42
поделиться

3 ответа

Для полноты, вот запрошенный ответ на комментарий Таля, который обеспечивает простую и переносимую альтернативу. Ответ состоит в запуске

 > library(snow)
 > help(makeCluster)

и выполнении первых трех строк кода из верхней части примеров: section:

> cl <- makeCluster(c("localhost","localhost"), type = "SOCK")
> clusterApply(cl, 1:2, get("+"), 3)
[[1]]
[1] 4

[[2]]
[1] 5

> stopCluster(cl)
> .Platform$OS.type
[1] "windows"
> 

Было ли это действительно настолько сложным?

Дополнительные пакеты, такие как ] doSNOW , а после этого foreach может использовать это портативным способом.

4
ответ дан 5 December 2019 в 15:21
поделиться

Попробуйте параллельный бэкэнд doSNOW - это "из коробки" поддерживается в Windows. Используйте его с блоком розеток для снега.

4
ответ дан 5 December 2019 в 15:21
поделиться

Вы можете попробовать doSMP из REvolution Computing . Для получения дополнительной информации см. Это сообщение в блоге: Параллельная многоядерная обработка с R (в Windows)

3
ответ дан 5 December 2019 в 15:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: