Имеет ли смысл распределять n задач по n + 1 ядрам при параллельных вычислениях? р

Я только начал вычислять в Parallel в R, чтобы оптимизировать свой код, и хотя я понимаю основную концепцию, у меня есть, казалось бы, простой вопрос, на который я не нашел ответа.

Если у меня есть цикл foreach из n итераций и m> n ядер, доступных на моем компьютере, ускорит мой код еще больше, если я выделил n + 1 или больше ядер для этого вычисления, в отличие от выделения n ядер?

library(doParallel)
library(foreach)

cl <- makeCluster(m) #using m cores
registerDoParallel(cl)

object <– foreach(i = 1:n, ...) %dopar% {

[...]
} 

stopCluster(cl)

Я думаю, нет, но все сводится к тому, как foreach распространяет работу на ядра. Это одна итерация на ядро ​​за раз, или работа делится еще дальше?

Спасибо.

0
задан 13 August 2018 в 14:58

0 ответов

Другие вопросы по тегам:

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