GSL блас рутины медленно в Visual Studio - PullRequest
1 голос
/ 10 августа 2011

Я только что установил GSL и BLAS в Visual Studio 2010, успешно используя это руководство :

Однако умножение матриц с использованием cblas невероятно медленно. У друга в Linux была такая же проблема. Вместо того, чтобы связываться через GSL с BLAS, он напрямую связывался с cBLAS (я не совсем понимаю, что это значит, но, может быть, вы делаете?), И это стало примерно в десять раз быстрее.

Как я могу сделать это в Visual Studio? В файле, который я скачал, я не смог найти больше файлов, которые мог бы создать с помощью Visual Studio.

1 Ответ

1 голос
/ 29 августа 2011

BLAS был библиотекой математики Фортрана для простых операций, таких как умножение или добавление векторов и матриц.В нем реализованы операции вектор-вектор, вектор-матрица и матрица-матрица.

Позже были созданы различные библиотеки, которые выполняют те же функции, что и оригинальный BLAS, но с большей производительностью.Интерфейс был сохранен, так что вы можете использовать любую BLAS-совместимую библиотеку, например, от вашего поставщика ЦП.

В этом FAQ http://www.netlib.org/blas/faq.html перечислены некоторые библиотеки;В Википедии есть еще один список: http://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms

Единственная проблема с GSL - это использование языка Си.Интерфейс BLAS может быть преобразован в C различными способами (проблема заключается в переводе имени функции fortran в имя функции c, например, Fortran DGEMM может называться DGEMM или DGEMM в C).GSL использует соглашение CBLAS: префикс cblas_, например, GEMM будет называться cblas_gemm.

Итак, попробуйте некоторые библиотеки из списков и проверьте, есть ли в библиотеке псевдонимы функций cblas_.Если да, gsl может использовать эту библиотеку.

...