Matlab MDCS with loadlibrary, Module not found...
2 ビュー (過去 30 日間)
古いコメントを表示
I have been having trouble loading a dll into each worker of a matlab cluster. I have been using a thunk and prototype file and have tried placing the thunk file into two places, a share drive accessible by all the nodes and a local directory in a matching location on all the nodes. I made sure to properly update the prototype file. I still get the dreaded "Error using loadlibrary: The specified module was not found" error.
To test that the thunk file is accessible from each node, I ran fopen on each worker, and got no -1 answers. like this:
spmd
fopen('*** path to thunkfile .dll ***')
end
So I know that my problem is not
- Permissions, because I was able to access the thunk file using fopen.
- Non-MDCS problem, because I can run this code no problem on a local cluster. With thunk file in a local location and with the thunk file on the share drive.
- Lacking a supported compiler, because I'm using a thunk and prototype file.
- The prototype file pointing to the wrong thunk file location, because I used disp() in it to check as I was running this.
Does anyone have any ideas of other stuff to try?
0 件のコメント
採用された回答
Edric Ellis
2018 年 9 月 3 日
編集済み: Edric Ellis
2018 年 9 月 3 日
I suspect that even if the actual .dll file is correctly available on the workers, perhaps some dependent libraries are not being found. (I think this can result in the same error). To diagnose this sort of thing, I would try "depends.exe".
One other thing to remember though is that on Windows, MJS worker processes run in a service context, and in particular they can't see mapped drive letters.
5 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Naming Conventions についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!