How are models with a model reference hierarchy updated in parsim

4 views (last 30 days)
Hello,
I am using parallel simulation for simulating a model with a model reference hierarchy. I precompiled my models and saved all generated cache files in a cache folder. I assumed that in the sequence of my parallel simulation, these models would not need to be recompiled again. However, it seemed not to be this case. In every run, the referenced models seemed to be recompiled as it took way more time than not using model referencing.
My question is, how are the models updated in every run in the sequence of parallel simulation?
Can I avoid updating the model in every run to save time?
Thanks!

Accepted Answer

Rahul Kumar
Rahul Kumar on 27 Nov 2018
parsim should be able to use the cache files for parallel simulations on the workers. There are a few cases where the models may be compiled again
  1. A change is made to a non-tunable parameter (specified using the Simulation Input object). You can check if that's the case, by manually changing the value of the parameter and checking if running the simulation triggers a build
  2. If the model is configured to always recompile: https://www.mathworks.com/help/simulink/gui/rebuild.html https://www.mathworks.com/help/simulink/gui/model-referencing-pane.html
  3. If the architecture for which the cache file was created is not compatible with the parallel workers. This is typically the case if you run parallel simulations, for example, on a Linux cluster with a Windows host machine.
If none of the above apply for your case, would it be possible for you to provide the model files and reproduction steps?
  2 Comments
Qiong-zhong Chen
Qiong-zhong Chen on 27 Nov 2018
Hi Rahul,
Thank you very much for the answer.
It likes more like the first case. Although the specific parameters in my model do not change, the structure variable containing these parameters have changed (my parameters are defined as structure fields). Therefore, I suppose that Matlab accounts it as a change to the model and thus recompiles it.
Nachiket Wadwankar
Nachiket Wadwankar on 22 Aug 2022
Edited: Nachiket Wadwankar on 22 Aug 2022
Hi Rahul,
In continuation to the above conversation.
I need to perform Simulink.fileGenControl before parsim in the main run script and not required to do it on every worker, as in using eval command?

Sign in to comment.

More Answers (0)

Categories

Find more on System Composer in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!