問題タブ [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++ - 非標準の場所にある OpenBLAS に静的にリンクする Armadillo C++ lib をビルドする方法
Armadillo C++ ライブラリ (バージョン 6.6) をビルドしようとしていますが、正常にビルドされます。ただし、私の問題は、OpenBLAS のソース コードを個別にダウンロードしてビルドしたことです。ローカルでビルドしたOpenBLASをArmadilloに使ってもらい、生成したArmadilloライブラリに静的にリンクさせたい。
そう、
- Armadillo CMake に特定の OpenBLAS を使用するように指示するにはどうすればよいですか?
- 上記の OpenBLAS を静的にリンクするように Armadillo CMake に指示して、OpenBLAS を含む libarmadillo を生成するにはどうすればよいですか?
c++ - C++ - アルマジロで conv2 が遅いのはなぜですか?
画像サイズ 224x224、マスク サイズ 10x10 のアルマジロでconv2関数を使用しています。3チャンネルの画像の場合、次のようなことをしています:
有効な畳み込みのみが必要なため、サブマットを使用しています。このコードは、異なるマスクを使用して32回ループで実行されます。32回の反復では 2.37 秒かかり、オクターブよりもはるかに遅くなります。Octave は同じコードを 0.25 秒で実行できます。
オクターブとアルマジロの両方が OpenBLAS を使用するように設定されており、c++ ファイルで適切なフラグを定義しました。(例ARMA_USE_BLAS
など)。ここで何が問題なのか誰か教えてください。
python-2.7 - ブラス/ラパックより遅いOpenBLASでnumpy
いくつかの計算を高速化するために、Linux Mint 17.2 に openBLAS をインストールしたいと考えていました。このチュートリアル[1]に従い、openBLAS と numpy を正常にインストールしました (1.9.3 バージョンを使用しました)。テストプログラムを実行したところ、次の結果が得られました。
実際、numpy を削除して sudo apt-get install python-numpy でシステム numpy をインストールすると、次の結果が得られました。
openblas ルーチンは、ネイティブの blas や lapack よりも遅いようです。何が間違っている可能性がありますか?
これは numpy.show_config() の出力です:
私のプロセッサには、コアごとに 2 つのスレッドを持つ 4 つの CPU があります。テスト例を実行したときに 5 ~ 6 個のスレッドが存在することを htop で確認しました。
linux - lapack/blas/openblas ソースからの適切なインストール - システム ライブラリを新しいものに置き換えます
ここでダウンロードできるopenblasおよびlapack、blas/cblasを使用して、BLAS、CBLAS、LAPACK、および OpenBLAS ライブラリをソースからインストールしたかったのです。
まず、システムの blas/cblas および lapack ライブラリを削除しましたが、残念ながら atlas ライブラリをアンインストールできませんでした (blas と lapack の両方を使用することも、atlas をすべて削除することもできません)。インストール後にアトラスを削除できると思ったので、気にせずにダウンロードしたライブラリのコンパイルを開始しました。
ビルドプロセスはこのチュートリアルに基づいていました。完全を期すために、手順をリストします。
オープンブラス。Makefile.rule (NO_CBLAS=1, NO_LAPACK=1, NO_LAPACKE=1) ファイルを編集した後、次のコードを実行します。
/li>CBLAS。Makefile.in を編集した後 (-lpthread とは別に、-pthread フラグを追加する必要がありました):
/li>ラパック。make.inc ファイルを編集した後:
/li>ラパック。次の方法で gcc の make.inc ファイルを編集しました。
次に実行します:
/li>ブラス。make.inc ファイルを編集しました:
そして実行します:
/li>
これで、静的ライブラリと共有ライブラリがすべて /usr/local/lib ディレクトリに配置されました。最終的にアトラスをアンインストールできるように、それらがインストールされていることを Linux mint 17.2 システムに伝えたいと思います。それを行う方法はありますか?
私の一般的な目標は、OpenBLAS を適切に設定することだったので、他のすべてのライブラリもソースからコンパイルしたかったのです。また、ライブラリが機能しているかどうか、または何か間違ったことをしたかどうかも確認したいと思います。
また、私の長期的な目標は、OpenBLAS で動作する Arpack と SuperLU をインストールし、最後に Armadillo ライブラリ (C++) をインストールすることです。
python - Scipy のインストールの問題、ImportError を取得: libopenblas.so.0: 共有オブジェクト ファイルまたはディレクトリを開けません
にインストールScipy-0.16.1
していますUbuntu 14.04
OpenBLAS_0.2.18
Numpy-1.11.0
問題なくインストールされています。
Scipy-0.16.1.tar.gz
ダウンロードされました
site.cfg
次の行がコピーされ、コメント解除されました。
に行を追加しました~/.bashrc
ソース ~/.bashrc
ldconfig
sudo python setup.py 構成
エラー
ImportError: libopenblas.so.0: 共有オブジェクト ファイルを開けません: そのようなファイルまたはディレクトリはありません
python-3.4 - 複数のコアを使用しない Keras
有名なスクリプトに基づいて、check_blas.py
theano が実際に複数のコアを使用できることを確認するために、次のスクリプトを作成しました。
これを as で実行するとpython3 check_theano.py
、8 つのスレッドが使用されていることがわかります。さらに重要なことに、コードは設定なしの場合よりも約 9 倍高速にos.environ
実行され、1 つのコアのみが適用されます: 1 回の実行で 7.863 秒と 71.292 秒です。
そのため、Keras は呼び出し時にfit
(またはpredict
そのために) 複数のコアを使用するようになると思います。ただし、これは次のコードには当てはまりません。
このスクリプトは、次の出力で 1 つのコアのみを使用します。
fit
Keras が同じセットアップに 1 つのコアしか使用しないのはなぜですか? スクリプトはcheck_blas.py
実際にニューラル ネットワークのトレーニング計算を代表するものですか?
ご参考までに:
編集
マルチコアを実行しない単純な MLP の Theano 実装も作成しました。