Armadillo は、独自の計算を行うことも、サード パーティのライブラリを呼び出して計算を行うこともできます。Atlas、BLAS、OpenBLAS、uBLAS、lapack、MKL は、このようなサードパーティ ライブラリの例です。Armadillo が独自の計算を行う場合、シングル スレッドになります。これらのサードパーティ ライブラリの一部は、OpenBLAS などのマルチスレッドを実行できます。一部のライブラリは、Nvidia の nvBLAS などの GPU を使用できます。nvBLAS は部分的な blas 実装のみを行い、nvBLAS が行わないことのために別の blas ライブラリが必要であることに注意してください。
armadillo_bits/config.hpp を編集するか、-D コンパイラ オプションを使用して必要に応じて関連するプリコンパイラ ディレクティブを設定することで、Armadillo を制御できます。
時間を節約できるかもしれません: armadillo とサードパーティのライブラリをリンクする順序は重要です。アルマジロは lapack を呼び出し、lapack は blas を呼び出すため、順序は次のようになります。
-larmadillo -llapack -lblas そうしないと、リンク エラーが発生します。