2016-12-14 12 views
1

Я использую библиотеку «R» «glmulti» и выполняя исчерпывающий поиск.glmulti - варианты многоядерности?

соответствующий код:

local1.model <- glmulti(est, # use the model with built as a starting point 
         level = 1, # just look at main effects 
         method = "h", 
         crit="aicc") # use AICc because it works better than AIC for small sample sizes 

переменная "ЭСТ" подогнанная GLM, который информирует glmulti.

Если бы я был Java-программой, которая должна была делать то же самое несколько сотен тысяч раз, то я бы использовал более одного ядра.

Мое устройство glmulti эффективно не использует мои сердечники.

enter image description here

Есть ли способ, чтобы включить его, чтобы использовать больше моей системы?

Примечание: когда я использую «h2o», он может максимизировать процессор и сильно ударить по памяти.

ответ

1

R однопоточно (если функция не построена на библиотеке с собственной резьбой). Вы можете вручную добавить распараллеливание коду, используя библиотеку rparallel (которая является частью ядра R): http://stat.ethz.ch/R-manual/R-devel/library/parallel/doc/parallel.pdf

Я бы назвал это как нетривиальный для использования. Это немного взломать R, поэтому он много копирует память, и вам нужно подумать о том, что происходит, если вы заботитесь об эффективности.

glmulti похоже, что он должен быть параллельным (то есть каждая комбинация параметров может выполняться параллельно, даже если используется генетический алгоритм). Я предполагаю, что они намеревались добавить его, но разработка остановилась (никаких обновлений с сентября 2009 г.).

 Смежные вопросы

  • Нет связанных вопросов^_^