2016-03-24 6 views
1

ソースからGSLとOpenBLASをコンパイルし、どちらの場合もすべてのデフォルトオプションを使用しました。私のGSLライブラリは/ usr/local/libに、OpenBLASは/ opt/OpenBLAS/libにインストールされています。 OpenBLASをGSLとC++でどうやって使うのですか?OpenBLAS with GSL

私が主な理由は、OpenBLASはAtlasがデフォルト設定でないすべてのコアを利用しているからです。私の主な目的は、2つの大きな行列(10000 x 10000)を乗算し、2Dコンボリューションを実行することです。これのためにOpenBLASまたはGSLに代わるものがありますか?

私が使用しています:

  • Linuxのミント17.2
  • GCCのバージョン4.8.4
  • 20コアIntelのCPU、私はOpenBLASとオクターブで同じことを試してされている

。 C++を使用することでパフォーマンスが大幅に向上しますか?

答えて

3

Armadilloのような既存の線形代数ライブラリを使用します。 AFAIKはBLAS実装を行列の乗算のためにラップします。 MatlabやOctaveの構文と非常によく似た構文を提供するので、私はそれが好きです。

Eigenのような他の線形代数ライブラリも仕事をします。

しかし、基本的なライブラリへの呼び出しが同じであれば、OctaveやMatlabよりもパフォーマンスが優れているとは思いません。また、チェックアウトwhy matlab is so fasthow armadillo is parallelizedもチェックアウトしてください。

関連する問題