Настройка parLapply () для параллельной обработки - PullRequest
0 голосов
/ 14 февраля 2019

У меня очень большой набор данных (17 000 объектов в 360 выборках), для которого мне нужно вычислить некоторые индексы разнообразия.Это занимает очень много времени (3-4 дня на один образец), поэтому я хочу идти параллельно.У меня есть около 50 доступных процессоров, поэтому каждый процессор должен делать около 7 выборок (столбцов) последовательно.

Я могу выполнить это:

df <- data.frame(matrix(sample.int(1000, 2000*360, TRUE), 2000, 360))
dflist <- as.list(df)

library(parallel)
cl <- makeCluster(detectCores()-1)

clusterExport(cl, "dflist")
results <- parLapply(cl, df.list, function(x) range(x)) #range as a wild card 

, и это даст желаемый результат, но яНе знаю, действительно ли это работает, как я думаю, что это работает.Итак, мой вопрос: позволяет ли эта команда каждому процессу подобрать следующий свободный объект в dflist после завершения текущей задачи?Или мне нужно назначить определенный набор объектов в dflist каждому процессу?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...