タグ付けされた質問 「blas」

4
BLAS、LAPACK、ATLASの関係は?
BLAS、LAPACK、ATLASがどのように関連しているか、またそれらをどのように一緒に使用する必要があるのか​​理解できません!私は彼らのすべてのマニュアルを調べてきましたが、BLASとLAPACKの概要と、見つけた非常に少数の例でそれらを使用する方法がありますが、ATLASを使用して実際の例を見つけることはできません。この二つ。 私はマトリックスで低レベルの作業を行おうとしていますが、私の主要言語はCです。最初にGSLを使用したかったのですが、最高のパフォーマンスが必要な場合はBLASとATLASを使用する必要があると書かれています。これらをすべて(Cで)一緒に使用する方法の良い例を示す良いWebページはありますか?言い換えれば、これら3つ(またはそれらのサブセット!)の使用に関するチュートリアルを探しています。要するに私は混乱しています!
142 c  lapack  blas  atlas 

3
numpyをインポートした後、マルチプロセッシングが単一コアのみを使用するのはなぜですか?
これがOSの問題としてそれ以上に数えられるかどうかはわかりませんが、誰かがPythonの終わりから何らかの洞察を持っている場合に備えて、ここで尋ねると思いました。 をfor使用してCPU負荷の高いループを並列化しようとしましたがjoblib、各ワーカープロセスが異なるコアに割り当てられる代わりに、すべてのワーカープロセスが同じコアに割り当てられ、パフォーマンスが向上しないことに気づきました。 これは非常に簡単な例です... from joblib import Parallel,delayed import numpy as np def testfunc(data): # some very boneheaded CPU work for nn in xrange(1000): for ii in data[0,:]: for jj in data[1,:]: ii*jj def run(niter=10): data = (np.random.randn(2,100) for ii in xrange(niter)) pool = Parallel(n_jobs=-1,verbose=1,pre_dispatch='all') results = pool(delayed(testfunc)(dd) for dd in …


4
ベンチマーク(BLASを使用したpython vs. c ++)と(numpy)
BLASとLAPACKの線形代数機能を多用するプログラムを書きたいと思います。パフォーマンスは問題なので、いくつかのベンチマークを行い、知りたいのですが、私が取ったアプローチが正当なものかどうかを確認します。 私は、いわば3人の競技者がいて、単純な行列と行列の乗算でそのパフォーマンスをテストしたいと考えています。出場者は次のとおりです。 Numpy、の機能のみを利用dot。 Python、共有オブジェクトを介してBLAS機能を呼び出します。 C ++、共有オブジェクトを介してBLAS機能を呼び出す。 シナリオ さまざまな次元の行列-行列乗算を実装しましたi。i5の増分で5〜500が実行され、matricies m1とはm2、このように設定されています。 m1 = numpy.random.rand(i,i).astype(numpy.float32) m2 = numpy.random.rand(i,i).astype(numpy.float32) 1. Numpy 使用されるコードは次のようになります。 tNumpy = timeit.Timer("numpy.dot(m1, m2)", "import numpy; from __main__ import m1, m2") rNumpy.append((i, tNumpy.repeat(20, 1))) 2. Python、共有オブジェクトを介してBLASを呼び出す 機能付き _blaslib = ctypes.cdll.LoadLibrary("libblas.so") def Mul(m1, m2, i, r): no_trans = c_char("n") n = c_int(i) one …
107 c++  python  numpy  benchmarking  blas 

2
armadillosolve()スレッドは安全ですか?
私のコードには、線形システムを構築して過剰決定し、それを解こうとするループがあります。 #pragma omp parallel for for (int i = 0; i < n[0]+1; i++) { for (int j = 0; j < n[1]+1; j++) { for (int k = 0; k < n[2]+1; k++) { arma::mat A(max_points, 2); arma::mat y(max_points, 1); // initialize A and y arma::vec solution = solve(A,y); …

10
MatLabエラー:静的TLSで開くことができません
数日後、MATLABを使用しているときに常に同じエラーが発生しdlopenます。これは、ある時点で。私はMATLABにかなり慣れていないので、どうしたらよいかわかりません。グーグルも私を助けていないようだ。固有ベクトルを作成しようとすると、次のようになります。 Error using eig LAPACK loading error: dlopen: cannot load any more object with static TLS 掛け算をしているときにもこれが得られます: Error using * BLAS loading error: dlopen: cannot load any more object with static TLS もちろん、この問題の解決策を探しましたが、あまり理解しておらず、どうしたらよいかわかりません。これらは私が見つけたスレッドです: MATLABが提供するBLASライブラリを使用するにはどうすればよいですか? http://www.mathworks.de/de/help/matlab/matlab_external/calling-lapack-and-blas-functions-from-mex-files.html 誰かが私を助けてくれますか? このエラーを示す関数呼び出しの例 >> randn(3,3) ans = 2.7694 0.7254 -0.2050 -1.3499 -0.0631 -0.1241 3.0349 0.7147 1.4897 …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.