問題タブ [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.

0 投票する
3 に答える
43761 参照

python - OpenBLAS 統合で numpy をコンパイルする

でインストールしようとしnumpyていますが、ファイルOpenBLASをどのように書き込む必要があるかわかりません。site.cfg

インストール手順に従った場合、インストールはエラーなしで完了しましたが、OpenBLAS で使用されるスレッドの数を 1 から増やすとパフォーマンスが低下します (環境変数 OMP_NUM_THREADS によって制御されます)。

OpenBLAS の統合が完璧かどうかはわかりません。site.cfg誰でも同じことを達成するためのファイルを提供できますか。

PS: Python ベースのTheanoなどの他のツールキットに OpenBLAS を統合すると、同じマシン上でスレッド数を増やすとパフォーマンスが大幅に向上します。

0 投票する
1 に答える
1459 参照

multithreading - OpenBLASのマルチスレッド線形システムソリューション

Fortran95とgfortranコンパイラを使用したコードがあります。私もOpenMPを使用しており、非常に大きな配列を処理する必要があります。私のコードでは、OpenBLASのソルバーDGTSVを使用して連立一次方程式を解く必要もあります。このソルバーも、それが可能なはずのopenblasを使用して並列化したいと思います。しかし、構文に問題があります。添付の擬似コードを使用すると、4つのCPUすべてがほぼ100%使用されますが、各カーネルが線形方程式を個別に解くのか、それとも部分に分割して並列に計算するのかはわかりません。全体はを使用してコンパイルされますgfortran -fopenmp -lblas a.f95 -o a.out

だから私の擬似コードは次のようになります

ソルバーを並列化して、各カーネルがソルバーの一部を計算するようにするには、何をする必要がありますか?

0 投票する
1 に答える
3007 参照

python - numpy.float16 が OpenBlas/Atlas の機能を壊すのはなぜですか?

float16わかりました、本当のプリミティブ型ではないことはわかっていますが、Python/numpy によってシミュレートされています。ただし、問題は、それが存在し、Python が関数を使用して配列の乗算でそれを使用できる場合、numpy.dot()OpenBlas (または ATLAS) が適切に機能しないのはなぜですか? つまり、乗算は機能しますが、並列計算は機能しません。float16または、別の方法で (私の意見ではより良い)、 OpenBlas/ATLAS が提供する高度な機能を活用できないのに、なぜ Python/numpy が使用を許可するのでしょうか?

0 投票する
2 に答える
8199 参照

python - ATLAS または OpenBLAS で numpy ですか?

ソース コードから ATLAS を構築するのに膨大な時間を費やした後、OpenSUSE 13.1 リポジトリに libopenblas と libatals があることを発見しました。私の質問は

  1. リポジトリに簡単にインストールできる (自分のコンピューターでチューニングする必要がない) "libatlas" は、本当に計算パフォーマンスを向上させますか?

  2. OpenBLAS は ATLAS よりも優れていますか、それとも Linux のフレーバーのリポジトリにある簡単にインストールできる "libatlas" より優れているだけですか? For fast R use OpenBLAS instead: better than ATLAS, trivial to switch on Ubuntu を参照してください。

  3. この投稿Compiling Numpy with OpenBLASに従いましたが、「numpy.core._dotblas」モジュールが見つかりません。さらに、ATLAS と OpenBLAS を同時に使用して Numpy をビルドすることはできませんでした。

  4. ATLAS と OpenBLAS を比較するための .py ファイルまたは bash コードを誰かが投稿できますか? 例えば。

  5. Numpy-1.9 を独自のATLASでビルドし、ソース コードからOpenBLASをコンパイルして、OpenSUSE 13.1 のリポジトリに "libopenblaso" (OpenMP バージョン) と "libopenblasp" (pthreads バージョン) をインストールしました。Numpy-1.9 パッケージを再構築せずに、ATLAS の代わりに OpenBLAS を使用するように Numpy-1.9 に指示できるように、リンクとライブラリを構成する方法。

注:リポジトリに「libatlas」をインストールすると、ATLAS はお使いのコンピューターに合わせて調整されていないため、計算パフォーマンスが大幅に向上しません。したがって、最初に ATLAS をビルドして調整し、次に独自の ATLAS で Numpy をビルドしました。その後、OpenBLAS を Numpy にリンクしようとしましたが失敗しました。

よろしくお願いします!


迅速な返信をありがとう@Dmitry!しかし疑問は解決しない…

インストール

Q: なぜおかしな二重スラッシュ "..64//usr.." があるのですか?

ライブラリをリンクする

Q: いくつかのスタティック ライブラリ ".a" がリンクされているため、この構成は問題ありませんか?

注: 「libopenblasp.so.0」は「zypper in」の後に自動的にリンクされますが、すべての「atlas」ライブラリはコマンドによって手動で作成されます。

0 投票する
1 に答える
1190 参照

lapack - コンパイル/リンク中に Armadillo Wrapper を無効にできない

MinGW32 と OpenBLAS を使用して Windows 32 で Armadillo C++ ライブラリをコンパイルしようとしています。

このトピックに関するすべてのチュートリアルとstackoverflow.comの質問を試しましたが、リンクエラー「`sdot_'への未定義参照」などを生成するwrapper.objのコンパイルを無効にできないようです。これらは、ラッパーによって検出できない BLAS シンボルです。

他の BLAS/LAPACK ライブラリはインストールしていません。cmake の出力で、libopenblas.dll が見つかったことを確認できます。

wrapper.obj のコンパイルとリンクを無効にするにはどうすればよいですか? config.hpp を編集しても効果はありません。

0 投票する
0 に答える
439 参照

python - ホームディレクトリに OpenBLAS をサポートする Numpy をインストールする

新しいバージョンの Python とそのライブラリ (Numpy、Theano) の一部を OpenBLAS と共に使用するために、サーバーのホーム フォルダーに Python (2.7.8) 環境をローカルにインストールしています。このために、最初usrにホーム ディレクトリ ( /home/my_home/usr/)のフォルダーに Python をインストールしました (以下を参照)。

https://mail.python.org/pipermail/tutor/2002-March/012903.html

インストールは順調に進んだようです。起動時に正しいバージョンを表示する Python インタープリターを起動して、これを確認しました。

/home/my_home/optこれに続いて、ここで説明されているように、OpenBLAS をフォルダーにインストールしました。

OpenBLAS 統合で numpy をコンパイルする

...これでもエラーは発生しませんでした。ただし、(上記のリンクの指示に従って) Numpy をインストールしようとすると、次のエラーが発生します。

のパッケージを見つけてselect、コンパイルしてインストールするのが簡単だと思います。前回 Python 2.7.6 をローカルのホーム ディレクトリにインストールしたときは、そのようなエラーは発生しなかったため、これが正しいことかどうかはわかりません。私が理解しているように、selectモジュールは Python と一緒にインストールされているはずです。

これは、ホーム フォルダーに同様の方法で IPython をインストールしようとしたときにも発生します。を提供するライブラリImportErrorが異なります。

これらは、Python のインストール中に犯した可能性のある、より一般的な間違いに関連しているのではないかと考えています。この問題に関するアドバイスをいただければ幸いです。追加情報が役立つかどうかお知らせください。ありがとう!

0 投票する
2 に答える
8131 参照

python - numpy をインポートできません: エラー: /usr/lib/liblapack.so.3: 未定義のシンボル: gotoblas

numpy をインポートしようとすると、次のエラーが発生します。

import numpy: lapack_lite.so: undefined symbol and GotoBLAS error when installed matplotlib with pip in a virtualenv on debian wheezy でエラーを投稿したソリューションを既に試しました

私はすでにすべてのオプションを試しました:

Ubuntu 14.1 と python 2.7 を使用しています

0 投票する
0 に答える
449 参照

numpy - SciPy と NumPy の ATLAS と共に OpenBLAS の RPM インストール?

RPMパッケージのみを使用して(したがって、pip、手動ビルドなどはありません)、NumPyとSciPy(Python 3、Fedora 20の下)をリンクしようとしています。

いろいろ試しましたが、

通常の「ATLASを使用しています」という情報が常に表示されます。

ここここ、および他のいくつかのリソースでalternatives提案されているように、 で遊んでみましたが、常に空です。にリンクする代替案を追加しようとしましたが、上記のテストの動作は変わりませんでした。alternatives --list | grep blaslibblas.so.3libopenblas.so

また、SciPy/NumPy がこれらのライブラリをロードする場所と方法を見つけようとしましたが、見つかりませんでした。

私は持っていません_dotblas.so(これに関連するさまざまな指示でよく言及されています)。ただし、_dotblas.cpython-33m.socblas.cpython-33m.so、およびfblas.cpython-33m.soがありますが、リンク先はありませんlibblas.so.3(前のリンクで示唆されているように)。

ATLAS を削除すると、さらに多くのパッケージ (Gimp など) がドラッグされるため、ATLAS を削除することはできません。

また、仮想マシン内に新しい Fedora 20 をインストールしました。yum の NumPy/SciPy は ATLAS を主張しました。それらを削除してpipからインストールすると、OpenBLASを使用しても問題はありませんでした(ただし、ATLASを簡単に切り替えることはできませんでした)。簡単な切り替えで両方が欲しいので、さまざまなテストを実行してこれら2つのパフォーマンスを比較できます.yumとpipの間で(再)インストールすることは明らかに解決策ではありません.

将来の更新を容易にするために、またいくつかの異なるマシンでこれが必要なため、再構築と手動インストールを避けたいと考えています。変更を加えるたびに大規模な再インストールを行わずに、これらのモジュールにいずれかのライブラリをロードするように指示するのは、奇妙なことだとは思えません。