問題タブ [blas]
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.
linux - numpy BLAS ライブラリが動的にロード可能なライブラリとして利用可能であることを確認するにはどうすればよいですか?
Theanoのインストール ドキュメントには、「BLAS ライブラリが動的にロード可能なライブラリとして利用できる」場合、theanoはデフォルトで numpy の BLAS ライブラリを使用すると記載されています。これは私のマシンでは機能していないようです。エラー メッセージを参照してください。
- numpy BLAS ライブラリが動的にロード可能かどうかを確認するにはどうすればよいですか?
- 動的にロードできない場合、numpy BLAS ライブラリを再コンパイルするにはどうすればよいですか?
さらに情報が必要な場合は、お知らせください。
エラーメッセージ
We did not found a dynamic library into the library_dir of the library we use for blas. If you use ATLAS, make sure to compile it with dynamics library.
/usr/bin/ld: cannot find -lblas
付録
Theanoライブラリには、特に numpy と BLAS ライブラリが必要です。sudo apt-get install python-numpy python-scipy
Ubuntuでインストールすると、numpyにはBLASが付属していると思いました。
これはのファイルリストです/usr/lib64/python2.6/dist-packages/scipy/lib/blas
これは次のように出力distutils.__config__.show()
されます
macos - Mac OSX10.7のvecLibフレームワークで行列とベクトルを乗算する際の問題
Mac OS X 10.7で集中的な行列とベクトルの乗算を行うプログラムを作成するために、vecLibフレームワークの使用を開始しました。私はこのような簡単なプログラムを作成しました。行列aにベクトルxを掛け、その結果をベクトルyに加算します。
プログラムをコンパイルしてコンソールで実行しました
しかし、結果は次のようになりました。操作は行われず、結果ベクトルはまだ空でした。
vecLibフレームワークでマトリックス関数とベクトル関数を実行するための初期化が欠落していますか?
c++ - 最適化された行列の回転-行列の中心を中心とした任意の角度
私は非常に大きな画像の回転を最適化しようとしています。最小は4096x4096または約1600万ピクセルです。
回転は常に画像の中心付近であり、画像は必ずしも正方形である必要はありませんが、常に2の累乗になります。
MKL / TBBにアクセスできます。ここで、MKLはターゲットプラットフォーム用に最適化されたBLASです。この操作がBLASで行われるかどうかは、私にはよくわかりません。
これまでの私の最善の試みは、4096x4096の画像の場合、約17〜25ミリ秒(同じ画像サイズでは非常に一貫性がないため、おそらくキャッシュ全体を踏みにじっていることを意味します)です。行列は16バイトに整列されます。
現在、宛先のサイズを変更することはできません。したがって、クリッピングが発生するはずです。たとえば、45度で回転した正方行列は確かにコーナーでクリップし、その位置の値はゼロである必要があります。
現在、私の最善の試みはタイル張りのアプローチを使用しています。タイルサイズにエレガンスが入れられたり、ループ展開されたりすることはまだありません。
TBBを使用したままの私のアルゴリズムは次のとおりです-http: //threadingbuildingblocks.org/:
この関数を次のように呼び出します。
fcomplexは、複素数の社内表現です。これは次のように定義されます。
そのため、非常に大きな画像の場合は、複雑な値の行列を中心を中心に任意の角度で回転させたいと考えています。
アップデート:
素晴らしいフィードバックに基づいて、私はこれに更新しました:これは約40%の増加です。私は他に何かできるかどうか疑問に思っています:
更新2:回答として得た提案を考慮し、長方形を回転するときのバグを修正して、以下に解決策を示します。
matrix - スパース行列ライブラリが必要
高密度BLASの機能をコピーするスパース行列ライブラリはありますか?
少なくとも欲しい:
- 疎な入力(および場合によっては密な出力)を使用した効率的なSYRおよびSYRK(ランクk更新)、
- スパース対称ストレージのオプション、
- DOT、NRM2、転置およびその他の標準的なグッズ。
ただし、名前付けとAPIは、機能する限り、BLAS中心である必要はありません。CまたはFortranが推奨されますが、C++でも問題ありません。
MKL、scipy.sparse、uBLAS、Eigen3を調べましたが、必要なものがサポートされていないか、サポートされているかどうかわかりませんでした。
linear-algebra - ガウスの消去法を実行するためのBLAS/LAPACKルーチン
私はBLAS/Lapackの新規ユーザーですが、ガウスの消去法、さらにはガウスの消去法を実行するルーチンがあるのでしょうか。私はグーグルでそれらのドキュメントを見ましたが、それでもそれらを見つけることができませんでした。
私を助けてくれてありがとう!
c++ - Visual Studio で GSL blas ルーチンが遅くなる
このガイドを使用して、Visual Studio 2010 に GSL と BLAS を正常にインストールしました。
ただし、cblas を使用した行列の乗算はとてつもなく遅いです。Linux の友人も同じ問題を抱えていました。GSL 経由で BLAS にリンクする代わりに、彼は cBLAS に直接リンクしました (これが何を意味するのか正確にはわかりませんが、あなたはそうかもしれません)。
Visual Studio でこれを行うにはどうすればよいですか? ダウンロードしたファイルには、Visual Studio でビルドできるファイルが見つかりませんでした。
linear-algebra - BLAS:gemm vs. gemv
BLASに行列-行列乗算用の関数と行列-ベクトル乗算用gemm
の別個の関数があるのはなぜですか?gemv
行列とベクトルの乗算は、1つの行列に1つの行/列しかない行列と行列の乗算の特殊なケースではありませんか?
c - アセンブリでの行列ベクトル乗算の実装
線形代数のツリーステップを何度も繰り返すアルゴリズムがあります。
私はBLASを使用して操作を行っています。これはやや高速ですが、ステップごとに1つずつ、データに対してツリーを実行する必要があります。ここで、ステップを1つにまとめて、データを1回だけ実行することで、何かが得られるのではないかと考えています。
これらの呼び出しを最適な方法で実装する方法について経験がある人はいますか。私の行列は約100*100で、ベクトルは100個の要素を持っています。
ベクトルは8つの128バイトmmxレジスタのようなものに収まると思います。掛け算をかなり速くする、何かアイデアはありますか?
c - LAPACKに対して静的にリンク
私はいくつかのソフトウェアのリリースを行おうとしていますが、現在ビルドプロセスのスクリプトを使用しています。x86_64 linuxでLAPACKを静的にリンクするという、思いもよらなかった何かに固執しています。構成中AC_SEARCH_LIB([main],[lapack])
は機能しますが、lapackユニットのコンパイルは機能しません。たとえば、undefiend reference to 'dsyev_'
lapack/blasルーチンが見過ごされることはありません。
ライブラリがインストールされていることを確認し、同じ結果で静的にするための適切なオプションを使用してライブラリを自分でコンパイルしました。
数年前にLAPACKを初めて使用したときに使用した例を次に示します。これは動的に機能しますが、静的には機能しません。http: //pastebin.com/cMm3wcwF
私がコンパイルに使用している2つの方法は、次のとおりです。
macos - Mac LION の Lapack バージョン
Lapack 3.2.1 は完全に安全な権利ではありません...しかし 3.3 は最近 intel の助けを借りて netlib によってリリースされています。
Lapack 3.3 バージョンが新しい MacPro に同梱されるかどうかを知っている人はいますか?