Использование OpenBLAS с GSL

Я скомпилировал GSL и OpenBLAS из исходного кода со всеми параметрами по умолчанию в обоих случаях. Мои библиотеки GSL установлены в / usr / local / lib и в OpenBLAS в / opt / OpenBLAS / lib. Как мне использовать OpenBLAS с GSL в C ++?

Основная причина, по которой я это делаю, заключается в том, что OpenBLAS использует все ядра, которые Atlas не использует в конфигурации по умолчанию. Моя главная цель — умножить две большие матрицы (10000 x 10000) и выполнить двумерные свертки. Есть ли лучшая альтернатива OpenBLAS или GSL для этого?

Я использую:

  • Linux Mint 17.2
  • GCC версия 4.8.4
  • 20-ядерный процессор Intel

Я экспериментировал с тем же в Октаве с OpenBLAS. Получу ли я значительное улучшение производительности при использовании C ++?

1

Решение

Я хотел бы использовать существующую библиотеку линейной алгебры, как броненосец. AFAIK это оборачивает вашу реализацию BLAS для умножения матриц. Мне это нравится, потому что он предоставляет вам синтаксис, очень похожий на синтаксис в Matlab или Octave.

Другие библиотеки линейной алгебры, такие как Eigen, также сделают эту работу.

Но я не ожидаю, что они будут работать (намного) лучше, чем Octave или Matlab, пока вызов базовой библиотеки остается прежним. Также оформить заказ почему Matlab так быстро а также как распределяется броненосец.

3

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

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

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