В настоящее время я пытаюсь запустить распараллеленное задание RStan
в вычислительном кластере в R
. Я делаю это, указав следующие два параметра:
options(mc.cores = parallel::detectCores())
rstan_options(auto_write = TRUE)
Выше выделено 48 доступных ядер, а общий объем ОЗУ у меня составляет 180 ГБ. Я всегда теоретически думал, что чем больше ядер и больше оперативной памяти, тем лучше. Я выполняю очень длинные задания и получаю недостаточно ошибок памяти в моем кластере. Мне интересно, если я, возможно, не даю достаточно памяти для каждого ядра. Возможно ли, что каждое из 48 ядер разделит 180 ГБ, и каждое ядро будет максимально использовано?
Если бы я использовал 180 ГБ ОЗУ и вместо этого имел 3 ядра, это обошло бы ошибки памяти? Или неважно, сколько у меня ядер, общий объем памяти всегда будет использоваться в какой-то момент, если это долгая работа? Спасибо!