18 октября 2014

Знакомьтесь - Revolution R Open



15 октября 2014 г. компания Revolution Analytics объявила о выпуске разработанного ею усовершенствованного дистрибутива R - Revolution Open R (далее "ROR"). ROR базируется на текущей официальной версии языка R (3.1.1) от R Foundation for Statistical Computing и, соответственно, обладает полной совместимостью любых скриптов и пакетов, работающих на основе R 3.1.1. Отличительными особенностями ROR являются следующие:
  • Автоматическая поддержка многопроцессорных вычислений при выполнении операций линейной алгебры, реализованная за счет замены стандартных методов решения задач линейной алгебры из пакетов LAPLACK и BLAS соответствующими функциями из библиотеки Intel Math Kernel Library. Пользователю нет нужды изменять существующий R код - при выполнении вычислений с векторами и матрицами вся мощность имеющихся процессоров будет задействована автоматически, что в результате приведет к существенному повышению скорости вычислений.
  • ROR поставляется с Reproducible R Toolkit ("набор инструментов, обеспечивающих воспроизводимость R кода"). Большинство существующих R-скриптов используют как минимум один пакет, распространяемый через хранилище CRAN. Однако ежедневно происходит обновление значительной части этих пакетов, что может привести к устареванию имеющегося кода и возникновению ошибок при его выполнении. Для устранения этой распространенной проблемы компания Revolution Analytics запустила сайт MRAN (Managed R Archive Network), который ежедневно выполняет "слепок" текущего состояния хранилища CRAN (начиная с 17 сентября 2014 г.). Доступ к этим слепкам обеспечивается при помощи функции checkpoint() из одноименного пакета. При вызове этой функции необходимо указать дату "контрольной точки" (обычно это будет дата создания скрипта: например, checkpoint("2014-10-17")), что приведет к локальной установке задействованных пакетов в папке проекта. Версии этих локально устанавливаемых пакетов соответствовуют версиям, которые были актуальны по состоянию на указываемую дату, обеспечивая тем самым полную работоспособность кода. Помимо того, что сайт MRAN работает как "машина времени", на нем можно также выполнять поиск интересующих пользователя пакетов по алфавитному списку и по темам.
ROR распространяется совершенно бесплатно, доступен для всех основных операционных систем и совместим с RStudio.

6 комментариев :

Sergey Bryl' комментирует...

Сергей, спасибо за описание! Я сразу и не заметил в чем разница. Интересно Ваше мнение относительно этого дистрибутива... скажем так: Вы себе его установили, собираетесь использовать?

Sergey Mastitsky комментирует...

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

Vlad Minkov комментирует...

Спасибо. Интересная информация

Vlad Minkov комментирует...

Проверил скорость вычислений при обучении "глубокой сети" (17,50,30,10,1) на RRO и на обычной R3.1.1. Обучающая выборка - матрица 17 х 5000. К моему удивлению время обсчета на RRO больше чем на стандартной приблизительно на 30%. Это не смотря на то, что при вычислении на RRO включаются все ядра процессора. Нужно отдать должное, точность вычислений повышается значительно.
Перешел на RRO буду изучать дальше.
Странный результат
Удачи

Vlad Minkov комментирует...

Проверил скорость вычислений при обучении "глубокой сети" (17,50,30,10,1) на RRO и на обычной R3.1.1. Обучающая выборка - матрица 17 х 5000. К моему удивлению время обсчета на RRO больше чем на стандартной приблизительно на 30%. Это не смотря на то, что при вычислении на RRO включаются все ядра процессора. Нужно отдать должное, точность вычислений повышается значительно.
Перешел на RRO буду изучать дальше.
Странный результат
Удачи

Alexandr комментирует...

"замены стандартных методов решения задач линейной алгебры из пакетов LAPLACK и BLAS соответствующими функциями из библиотеки Intel Math Kernel Library. " - в википедии написано что Intel MKL "uses standard interfaces for BLAS and LAPACK". За счет чего интересно скорость выше. Более оптимально распределение ресурсов при распараллеливании?

Отправить комментарий