Существует ли компилятор R для C / C ++? - PullRequest
39 голосов
/ 21 сентября 2009

Мне интересно, как лучше развернуть R. В Matlab есть «компилятор matlab» (MCR). В прошлом обсуждалось нечто подобное для R, которое компилировало бы R в C или C ++. У кого-нибудь есть опыт работы с R to C Compiler (RCC), который был разработан Джоном Гарвином в Rice ?

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

[Edit 1:] : Для ясности, я знаю, что есть интерфейсы C и C ++ (и Java, Python и т. Д.) К R (rJava, rcpp, Rpy и т. Д.). Я задаюсь вопросом о конкретных способах компиляции и развертывания кода R без предварительной установки R.

[Редактировать 2:] : Джон Меллор-Крамми говорит мне, что они все еще работают над RCC и надеются сделать его доступным через 4 месяца или около того (в ближайшее время). Я обновлю это далее, если найду что-нибудь еще.

Ответы [ 5 ]

35 голосов
/ 06 апреля 2011

Компилятор байт-кода будет частью выпуска R 2.13.По умолчанию он не используется в этом выпуске, но доступен;Я ожидаю, что версия 2.14 по умолчанию будет скомпилировать все базовые и рекомендуемые пакеты.Страница справки compiler :: compile и руководство по установке и администрированию R содержат более подробную информацию.

17 голосов
/ 21 сентября 2009

Я забыл о проекте Rice, это было давно. Я думаю, что рабочий термин здесь указан в верхней части страницы проекта: Последнее обновление 3/8/06 .

И мы все знаем, что R сильно меняется. Поэтому у меня есть только несколько стандартных указателей для вас:

  • Люк Тирни , который не только много знает о внутренних R-компонентах, но и о байтовых компиляторах, работал над таким проектом. Пока ничего не готово, и все равно будет работать в сочетании со стандартным двигателем R.
  • Стивен Милборроу имеет расширение Ra для R, которое работает с его пакетом компилятора "точно в срок" jit
  • my Введение в высокопроизводительные вычисления с использованием учебников R (последние слайды учебника из UseR! 2009) охватывает профилирование, компиляцию расширений, параллельные вычисления с частью R, ..., включая Rcpp и немного о RInside .

Вкратце: не существует способа, который вы хотите конкретных способов компилировать и развертывать код R без предварительной установки R . Сожалею.

Редактировать / обновить (апрель 2011 г.): Новый пакет compiler от Luke будет частью R 2.13.0 (будет выпущен в апреле 2011 г.), но не будет «активирован» по умолчанию, что ожидается для R 2.14.0 ожидается в октябре 2011 года.

Редактировать / обновить (декабрь 2011 г.): Профессор Тирни просто выпустил массивную 100-страничную статью на компиляторе байт-кода.

6 голосов
/ 06 апреля 2011

Почему люди испытывают страх при развертывании R? Я уверен, что видел этот вопрос раньше.

Установка R - это очень просто (вы на самом деле не говорите, какая ОС вам небезразлична). Для Windows это один .exe. файл, запустите его, скажите «да» несколько раз, и все готово. Я подозреваю, что установщик exe, вероятно, имеет флаги для автоматической установки тоже.

3 голосов
/ 18 апреля 2011

Вы можете проверить P-компилятор, который реализует подмножество R. В частности, реализованы списки, матрицы, векторы и т. Д., А также lsfit, chol, svd, ...

Вы можете скачать бесплатную версию на

www.ptechnologies.org

Это существенно ускоряет вычисления.

Best

AS

3 голосов
/ 21 сентября 2009

Я не использовал посылку Гарвина и не знаю, что возможно в этом направлении. Тем не менее:

Обычно люди просто пишут вычислительные функции непосредственно на C / C ++ / Fortran, после профилирования , чтобы найти узкие места. См. интерфейс RCpp или Вызов функций C из R с использованием .C и .Call для примеров. Статистическая библиотека Scythe также очень удобна для пользователей R, поскольку имена синтаксиса / функций схожи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...