Issue with Simulink Model Simulation inside Parfor ?
1 回表示 (過去 30 日間)
古いコメントを表示
Hi,
I am trying to run multiple simulations with different data set on model 'ModelTest.slx' using parfor.
my code goes like this,
parfor
simout=sim(bdroot,<options>)
..
..
..
end
Parfor executes one simulation (sometime it runs two simulations). It geerates 'slprj' folder after first simulation.
Then it gets aborted with following error message.
"C:\Users\...\parllelTest\slprj\_jitprj\jitEngineAccessInfo.mat.
Not a binary MAT-file. Try LOAD -ASCII to read as text."
Below are the details of matlab version and model settings,
Matalb 2015b,
parpool with local profile.
Simulation Mode : Normal;
Solver :Fixed Step, discrete
Does anyone have any idea about this error. ?
採用された回答
Edric Ellis
2018 年 12 月 12 日
As @Sean says, parsim is the way to go if you can. However, as a workaround, you might get away with doing something like this:
parfor idx = ...
oldFolder = cd(getAttachedFilesFolder());
sim(..);
cd(oldFolder);
end
This puts each worker into a unique working directory, which might well get around the problems with the Stateflow compilation results overwriting each other.
2 件のコメント
Edric Ellis
2018 年 12 月 13 日
Great, glad this is working. Yes, it's best to keep different questions separate.
その他の回答 (1 件)
Sean de Wolski
2018 年 12 月 10 日
編集済み: Sean de Wolski
2018 年 12 月 10 日
Have you looked at parsim? It's the new an improved means for simulating in parallel and takes care of the file management that was always a pain to do on your own.
参考
カテゴリ
Help Center および File Exchange で Parallel for-Loops (parfor) についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!