OpenMP incompatible with LAPACK & BLAS routines
古いコメントを表示
I've written a few c mex files and have called dsyev to find eigenvalues etc. I want to call this routine in parallel in a threaded loop. Everything compiles OK without warnings (using MS Visual Studio Prof. Edition 2005).
However, when I call it from Matlab it just crashes, without any error messages...
Anyone have any ideas?!?
Thanks in advance
Adam
5 件のコメント
James Tursa
2011 年 2 月 26 日
Well, I think your title already says it. The LAPACK and BLAS libraries that ship with MATLAB are probably not thread-safe. However, many of the routines in these libraries are already multi-threaded, so I don't know how much speed up you would get even if they were thread-safe.
Adam connolly
2011 年 2 月 26 日
James Tursa
2011 年 3 月 5 日
I should have asked this before, but are you sure your C code for calling dsyev is correct (argument type, etc)? Can you run it in a single thread to verify that it is coded correctly?
zhuanyi
2024 年 3 月 31 日
Hi Adam, do you have any update? I am facing the same problem.
James Tursa
2024 年 4 月 2 日
編集済み: James Tursa
2024 年 4 月 2 日
@zhuanyi Can you open a new Question, and maybe include a minimal complete example that reproduces the problem?
回答 (1 件)
Jill Reese
2011 年 3 月 4 日
0 投票
Running your original mex function within a MATLAB Parallel Computing Toolbox parfor loop might give you the parallelism you want.
カテゴリ
ヘルプ センター および File Exchange で Matrix Indexing についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!