Как заставить R использовать все процессоры?

Используйте Система. Среда класс.

методы

var value = System.Environment.GetEnvironmentVariable(variable [, Target])

и

System.Environment.SetEnvironmentVariable(variable, value [, Target])

сделают задание для Вас.

дополнительный параметр Target является перечислением типа EnvironmentVariableTarget, и это может быть один из: Machine, Process, или User. При исключении его цель по умолчанию текущий процесс.

30
задан smci 20 July 2015 в 04:07
поделиться

4 ответа

В представлении задач CRAN по высокопроизводительным вычислениям с R перечислено несколько вариантов. XP - это ограничение, но вы все равно получите что-то вроде snow для работы с сокетами в течение нескольких минут.

29
ответ дан 27 November 2019 в 23:05
поделиться

Я слышал, что REvolution R поддерживает лучшую многопоточность, чем типичная версия R для CRAN, и REvolution также поддерживает 64-битную R в Windows. Я подумывал о покупке копии, но обнаружил, что их цена непрозрачна. На их сайте нет прайс-листа. Очень странно.

7
ответ дан 27 November 2019 в 23:05
поделиться

Я считаю, что в Windows лучше всего сделать это с помощью foreach и snow, как сказал Дэвид Смит.

Однако системы на основе Unix / Linux могут выполнять вычисления с использованием нескольких процессов с ' многоядерный пакет. Он предоставляет высокоуровневую функцию mclapply, которая выполняет понимание списка на нескольких ядрах. Преимущество «многоядерного» пакета состоит в том, что каждый процессор получает частную копию глобальной среды, которую он может изменять. Первоначально эта копия является просто указателем на глобальную среду, что делает обмен переменной чрезвычайно быстрым, если глобальная среда обрабатывается как доступная только для чтения.

Rmpi ​​требует, чтобы данные передавались явно между процессами R вместо работы с подход "многоядерного" закрытия.

- Дэн

2
ответ дан 27 November 2019 в 23:05
поделиться

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

6
ответ дан 27 November 2019 в 23:05
поделиться
Другие вопросы по тегам:

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