Parsim with Parallel Computing Toolbox provides unexpected results.

7 views (last 30 days)
Elizabeth Gates
Elizabeth Gates on 15 May 2017
Commented: Rahul Kumar on 4 Sep 2018
I have the Parallel Computing Toolbox so that I can ultimately use parsim() to run a simulink model, containing six blocks, in parallel. The idea is to run each model with a different block enabled so that the blocks run in parallel.
As an experiment, I ran the model with one block enabled but ran sim(). It provided an expected figure with results.
When I then ran that model with the same block enabled but ran parsim(), it provided a blank figure.
How does pasim() run? I expected the same results with parsim() and sim() in this very simple case.

Answers (1)

Ed Marquez
Ed Marquez on 19 May 2017
Edited: Walter Roberson on 19 May 2017
Hi Elizabeth,
the blog post below has a good description of the setup that you may need to run the Simulink model using parsim.
It comes down to properly creating the Simulink.SimulationInput object.
As the article says, by creating one Simulink.SimulationInput per simulation, you can define the properties specific to each run, including initial states, model parameters, block parameters, input signals, and variables used by the model.
  6 Comments
Rahul Kumar
Rahul Kumar on 4 Sep 2018
If variables are loaded separately from the model, you can use the 'TransferBaseWorkspaceVariables' option with parsim.
You could also use a data dictionary to store the variables used in the model in which case parsim will automatically pick them up for use on the parallel workers. https://www.mathworks.com/help/simulink/ug/what-is-a-data-dictionary.html

Sign in to comment.

Categories

Community Treasure Hunt

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

Start Hunting!

Translated by