2016-03-24 43 views
1

I GSL und OpenBLAS von der Quelle mit allen Standardoptionen in beiden Fällen zusammengestellt. Meine GSL-Bibliotheken sind in/usr/local/lib und OpenBLAS in/opt/OpenBLAS/lib installiert. Wie verwende ich OpenBLAS mit GSL in C++?Mit OpenBLAS mit GSL

Der Hauptgrund, warum ich tue dies, weil OpenBLAS alle Kerne verwendet, den Atlas in der Standardkonfiguration nicht. Mein Hauptziel ist es, zwei große Matrizen (10000 x 10000) zu multiplizieren und 2D-Faltungen durchzuführen. Gibt es dafür eine bessere Alternative zu OpenBLAS oder GSL?

Ich verwende:

  • Linux Mint 17,2
  • GCC Version 4.8.4
  • 20 Core Intel CPU

Ich habe mit OpenBLAS mit der gleichen Sache in Octave experimentieren . Erhalte ich eine signifikante Leistungsverbesserung durch Verwendung von C++?

Antwort

3

Ich würde eine vorhandene lineare Algebra-Bibliothek wie Armadillo verwenden. AFAIK umschließt Ihre BLAS-Implementierung für Matrixmultiplikationen. Ich mag es, weil es Ihnen eine Syntax gibt, die der in Matlab oder Octave sehr ähnlich ist.

Andere lineare Algebra-Bibliotheken wie Eigen wird auch die Arbeit machen.

Aber ich erwarte nicht, dass sie (viel) besser als Octave oder Matlab ausführen, solange der Aufruf der zugrunde liegenden Bibliothek gleich bleibt. Auch Kasse why matlab is so fast und how armadillo is parallelized.

Verwandte Themen