C ++ с математической библиотекой, такой как производительность GSL, LAPACK или CBLAS, против C ++ с Rinside с функцией R?

Кто-нибудь когда-либо делал прямое сравнение между яблоками:

  1. Приложение C ++, вызывающее алгоритм, выполняемый в функциях R с использованием RInside
  2. Приложение C ++, вызывающее алгоритм equivelant, но использующее одну из математических библиотек, таких как GSL, LAPACK или CBLAS?

Я пытаюсь получить ориентиры, которые были бы быстрее. Меня также интересует, какой тип параллализации / многопоточности может ускорить вычисления в C ++?

1

Решение

Помимо начальных затрат на инициализацию R, которые вы получаете только в случае 1) по дизайну исследования, результаты должен быть идентичным, так как сам R использует те же библиотеки BLAS AND LAPACK если построен правильно.

У меня есть обновленный пакет / виньетка, в котором предлагается структура для сравнительного анализа именно этих вопросов, поскольку проблему легко понять неправильно — см. Страница CRAN для gcbd так же как соответствующая виньетка pdf.

Если вы строите R по-другому (например, статически или с собственными источниками BLAS / LAPACK), то вы получаете разные результаты, но вы также не проводите сравнение яблок с яблоками.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]