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!