Как сделать & ldquo; R & rdquo; использовать все процессоры

Я использую GNU R для расчета огромного набора данных. Мой компьютер имеет 4 ядра процессора, и я вижу, что R использует только 1 процессор.

Есть ли способ сказать R использовать все 4 процессора, чтобы сделать вычисления более быстрыми? [ ! d1]

5
задан 19 January 2011 в 15:48

10 ответов

Вы должны использовать пакет r-cran-multicore для включения обработки нескольких процессоров:

sudo apt-get install r-cran-multicore

Подробнее об этой функции см. здесь: http://www.rforge.net/multicore, но в качестве предупреждения, ваш код «R», вероятно, придется обновить, чтобы воспользоваться преимуществами нескольких основных технологий. если вы уже не используете предварительно подготовленный код, который поддерживает многоядерные расширения.

5
ответ дан 25 May 2018 в 23:23
  • 1
    спасибо martin, мой текущий скрипт выглядит примерно так: for (i in length) {max (x [i,])} & lt; - как мне нужно изменить скрипт, чтобы использовать многоядерный? («длина» и «х» очень велики (длина & gt; 50 000, x & gt; 1700 значений в 50 000 строк) – Produnis 19 January 2011 в 17:01
  • 2
    Согласно документации (см. Выше), вы должны разделить работу на части, которые не зависят друг от друга. В случае вашего кода вы должны попытаться разбить его на 4 пути, каждый цикл имеет длину 1/4 длины. Как закодировать это, я не знаю в R. – Martin Owens -doctormo- 19 January 2011 в 18:06
  • 3
    @Produnis Вы можете легко превратить свои петли в параллельные: result <- mclapply(as.data.frame(t(x)), max). В этом примере можно найти максимальные значения по строкам, используя все ваши процессоры. – ulidtko 19 January 2011 в 22:02

Вы должны использовать пакет [F2], чтобы включить несколько ЦП:

sudo apt-get install r-cran-multicore

см. Подробнее об этой функции здесь: http://www.rforge.net/multicore но как предупреждение, ваш 'Р' код, вероятно, должны быть обновлены, чтобы воспользоваться несколько основных технологий. если вы уже используете готовые код, который поддерживает многоядерные расширения.

5
ответ дан 25 July 2018 в 22:36

Вы должны использовать пакет r-cran-multicore для включения обработки нескольких процессоров:

sudo apt-get install r-cran-multicore

Подробнее об этой функции см. здесь: http://www.rforge.net/multicore, но в качестве предупреждения, ваш код «R», вероятно, придется обновить, чтобы воспользоваться преимуществами нескольких основных технологий. если вы уже не используете предварительно подготовленный код, который поддерживает многоядерные расширения.

5
ответ дан 26 July 2018 в 22:55

Вы должны использовать пакет [F2], чтобы включить несколько ЦП:

sudo apt-get install r-cran-multicore

см. Подробнее об этой функции здесь: http://www.rforge.net/multicore но как предупреждение, ваш 'Р' код, вероятно, должны быть обновлены, чтобы воспользоваться несколько основных технологий. если вы уже используете готовые код, который поддерживает многоядерные расширения.

5
ответ дан 2 August 2018 в 04:02

Вы должны использовать пакет [F2], чтобы включить несколько ЦП:

sudo apt-get install r-cran-multicore

см. Подробнее об этой функции здесь: http://www.rforge.net/multicore но как предупреждение, ваш 'Р' код, вероятно, должны быть обновлены, чтобы воспользоваться несколько основных технологий. если вы уже используете готовые код, который поддерживает многоядерные расширения.

5
ответ дан 4 August 2018 в 20:05

Вы должны использовать пакет [F2], чтобы включить несколько ЦП:

sudo apt-get install r-cran-multicore

см. Подробнее об этой функции здесь: http://www.rforge.net/multicore но как предупреждение, ваш 'Р' код, вероятно, должны быть обновлены, чтобы воспользоваться несколько основных технологий. если вы уже используете готовые код, который поддерживает многоядерные расширения.

5
ответ дан 6 August 2018 в 04:06

Вы должны использовать пакет [F2], чтобы включить несколько ЦП:

sudo apt-get install r-cran-multicore

см. Подробнее об этой функции здесь: http://www.rforge.net/multicore но как предупреждение, ваш 'Р' код, вероятно, должны быть обновлены, чтобы воспользоваться несколько основных технологий. если вы уже используете готовые код, который поддерживает многоядерные расширения.

5
ответ дан 6 August 2018 в 04:07

Вы должны использовать пакет r-cran-multicore для включения обработки нескольких процессоров:

  sudo apt-get install r-cran-multicore   

Подробнее об этой функции см. здесь: http://www.rforge.net/multicore , но в качестве предупреждения ваш код «R», вероятно, должен быть обновлен, чтобы принять преимущество многоядерных технологий. если вы уже не используете предварительно подготовленный код, который поддерживает многоядерные расширения.

5
ответ дан 7 August 2018 в 22:06

Вы должны использовать пакет r-cran-multicore для включения обработки нескольких процессоров:

  sudo apt-get install r-cran-multicore   

Подробнее об этой функции см. здесь: http://www.rforge.net/multicore , но в качестве предупреждения ваш код «R», вероятно, должен быть обновлен, чтобы принять преимущество многоядерных технологий. если вы уже не используете предварительно подготовленный код, который поддерживает многоядерные расширения.

5
ответ дан 10 August 2018 в 10:20

Вы должны использовать пакет r-cran-multicore для включения обработки нескольких процессоров:

  sudo apt-get install r-cran-multicore   

Подробнее об этой функции см. здесь: http://www.rforge.net/multicore , но в качестве предупреждения ваш код «R», вероятно, должен быть обновлен, чтобы принять преимущество многоядерных технологий. если вы уже не используете предварительно подготовленный код, который поддерживает многоядерные расширения.

5
ответ дан 13 August 2018 в 16:45
  • 1
    спасибо martin, мой текущий скрипт выглядит примерно так: for (i in length) {max (x [i,])} & lt; - как мне нужно изменить скрипт, чтобы использовать многоядерный? («длина» и «х» очень велики (длина & gt; 50 000, x & gt; 1700 значений в 50 000 строк) – Produnis 19 January 2011 в 17:01
  • 2
    Согласно документации (см. Выше), вы должны разделить работу на части, которые не зависят друг от друга. В случае вашего кода вы должны попытаться разбить его на 4 пути, каждый цикл имеет длину 1/4 длины. Как закодировать это, я не знаю в R. – Martin Owens -doctormo- 19 January 2011 в 18:06
  • 3
    @Produnis. Вы можете легко превратить свои петли в параллельные: result & lt; - mclapply (as.data.frame (t (x)), max) . В этом примере можно найти максимальные значения по строкам, используя все ваши процессоры. – ulidtko 19 January 2011 в 22:02

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

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