問題タブ [openblas]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Armadillo+Atlas、Armadillo+OpenBLAS、Armadillo+uBLAS、Armadillo+MKLとは?
多くのウェブサイトで、彼らは Armadillo+何かについて話しています。彼らはどういう意味ですか?
私はArmadilloライブラリを次の形で使用しています
Linux 環境で。
このウェブサイトでは
Armadillo+OpenBLAS
が挙げられています。彼らはどういう意味ですか?使い方はArmadillo+OpenBLAS
?
アップデート
1年以上経った今。orArmadillo
などの実装のラッパーであるこのポイントを追加するだけです。行列演算の実装ではありません。BLAS
OpenBLAS
python - numpy/openblas で実行時にスレッドの最大数を設定する
(Python) 実行時に、numpy の背後にある OpenBLAS によって使用されるスレッドの最大数を変更できるかどうかを知りたいですか?
環境変数を介してインタープリターを実行する前に設定できることはわかっていますOMP_NUM_THREADS
が、実行時に変更したいと思います。
通常、OpenBLAS の代わりに MKL を使用すると、次のことが可能になります。
python - OpenBLASなしでnumpy/scipyの方が速いのはなぜですか?
私は2つのインストールを行いました:
brew install numpy
(そしてscipy)--with-openblas
- GIT リポジトリ (numpy および scipy 用) を複製し、自分でビルドしました
マルチスレッド環境でこれらのライブラリを検証するために、2 つの便利なスクリプトを複製した後:
次に、実行しているインストールごとにshow_config
:
インストール 1 には問題ありません。
しかし、インストール 2 のものはそれほど明るくありません。
そのため、OpenBLAS を正しくリンクできなかったようです。しかし、今のところは問題ありません。パフォーマンスの結果は次のとおりです。すべてのテストは、iMac、Yosemite、i7-4790K、4 コア、ハイパースレッドで実行されます。
OpenBLAS を使用した最初のインストール:
でこぼこ:
スキピー:
OpenBLAS を使用しない 2 番目のインストール:
でこぼこ:
スキピー:
驚いたことに、2 番目のケースは最初のケースよりも高速です。scipy の場合、コアを追加してもパフォーマンスは向上しませんが、OpenBLAS では 4 コアよりも 1 コアでも高速です。
それがなぜなのか、誰かが考えを持っていますか?
numpy - UbuntuでNumPyにOpenBlasを使用させるにはどうすればよいですか?
BLAS と OpenBLAS の両方がインストールされています。
ただし、NumPy はまだ OpenBLAS が利用できないと言っています。
どうすればこれを修正できますか?
を含む多くのものがそれにlibblas3
依存しているため、単にアンインストールすることはできないと思います。libblas-dev
libopenblas-dev
私は試した
しかし、これは役に立ちませんでした。
*.so
すべてのファイルがnumpy
OpenBLAS にリンクされているため、これは特に驚くべきことです。
python - Blas と OpenBlas を使用した Numpy には同じ時間がかかります
(システムから)で( Numpy
virtualenvに)インストールします。env
OpenBlas
を編集しsite.cfg
ます。
そして、をnumpy
使用してインストールしpip
ます。さらに、numpy
システム経由でインストールします (を使用blas
)。このスクリプトで時間をテストします。どちらの場合も、私は同じ時間を過ごします。システムの使用Blas
と virtualenv の使用を確認しますOpenBlas
。なぜ同じ時間がかかるのですか?
Debian テストと python 2.7.9 を使用しています
c++ - c++ を OpenBlas にリンクするには?
OpenBlas をインストールし、OpenBlas にリンクされた C プログラムをコンパイルすることができました。
g++ と同じリンカ オプションを使用して C++ プログラムをリンクしようとすると、次のエラーが発生します。
ヒントはありますか?
armadillo - コンパイル中に armadillo ライブラリをローカルの OpenBLAS にリンクさせる方法
$HOME 内のローカル ライブラリとして armadillo (現在のバージョンは 5.100.1) を使用できるようにする必要があります (クラスター アプリケーションであり、すべての計算ノードにインストールすることはできませんが、$HOME は共有フォルダーです)。私は cmake を使用してアプリケーションを管理していますが、他の場所ではなく $HOME (boost など) のローカル ライブラリに cmake をリンクさせることができました。Armadillo には BLAS と LAPACK が必要ですが、どちらにも OpenBLAS を使用できます (実際にはそのように推奨されています)。しかし、自分の cmake .configure で OpenBLAS を検出したことを確認しても、Armadillo に強制的に OpenBLAS を使用させる方法がわかりません。純粋な armadillo フォルダーで ./configure を実行した場合の出力は次のとおりです。
したがって、$ HOMEでの検索に成功しますが、後で共有ライブラリへのライブラリのリンクを照会すると
BLAS と LAPACK のログイン ノードの標準コピーにリンクされていることがわかりますが、OpenBLAS は使用されていません。
残念ながら、libblas.so.3 と liblapack.so.3 はノードでは利用できません。
/usr/lib64 にある BLAS と LAPACK の標準コピーではなく、OpenBLAS のローカル コピーにコンパイルしてリンクするように armadillo を強制するにはどうすればよいですか。よくある質問に次のような注意書きがあります。
しかし、上記の結果から、そうではないようです。ここで私が間違っていることを誰かに教えてもらえますか?
python - numpy.dot が numpy.einsum よりもはるかに高速なのはなぜですか?
私は OpenBlas で numpy をコンパイルしましたが、なぜ einsum が dot よりもはるかに遅いのか疑問に思っています (3 つのインデックスの場合は理解していますが、2 つのインデックスの場合はパフォーマンスが低い理由もわかりません)。ここに例があります:
einsum に OpenBlas と numpy.dot のような並列化を使用させる方法はありますか? 内積に気付いた場合、np.einsum が単に np.dot を呼び出さないのはなぜですか?