Определить количество ядер на окнах - PullRequest
13 голосов
/ 17 июня 2011

Если я использую R на Linux или Mac, я могу определить количество доступных ядер, используя multicore:::detectCores(). Тем не менее, нет версии для многоядерных функций для Windows, поэтому я не могу использовать эту технику для Windows.

Как программно определить количество ядер на машине с Windows из R?

Ответы [ 4 ]

22 голосов
/ 25 ноября 2012

Параллельный пакет теперь имеет функцию определения количества ядер: parallel:::detectCores().

13 голосов
/ 17 июня 2011

Эта тема содержит несколько предложений, в том числе:

Sys.getenv('NUMBER_OF_PROCESSORS')

Обратите внимание также на публикацию в этой теме проф. Рипли, в которой говорится о трудностях, связанных с этим.

3 голосов
/ 18 июня 2011

Если вам действительно нужно различать реальные ядра, микросхемы и логические процессоры, API для вызова: GetLogicalProcessInformation

GetSystemInfo , если вы просто хотите знать, какмного логических процессоров на машине (без различий для гиперпоточности.)Но я предполагаю, что в R есть средство для вызова кода из собственных библиотек Windows.

0 голосов
/ 17 июня 2011

GetSystemInfo даст вам структуру с числом «процессоров», которое соответствует общему количеству ядер.

Теоретически, это будет то же значение, что и переменная среды, рекомендованная в другом ответе, но пользователь может изменить (или удалить) переменную среды. Это может быть ошибка или функция в зависимости от ваших намерений.

...