Parallel Computing for One Simulation

Hello everyone,
I have tried to use Parallel Computing Toolbox to overcome the negative effect of simulation run time. The model I am working with is complex, it has lot of subsystems and nested parts. My aim is to speed up this model with parallel computing toolbox and parallel server. I can run parallel simulations with computer clusters with the help of these toolboxes but is there any way I can speed up my simulation by using all of my cores into 1 simulation? Not parallel simulations or Monte Carlo analysis more specifaclly. Hope I can make my point.

Answers (2)

According to my understanding, you want to speed up your simulation of your model which is very complex. I would recommend you using Background Processing. With the help of Background Processing, you can run some of your functions in Background and rest in Foreground to pace up your simulations.
You can read Background Processing in detail from this documentation -
Note - You can not pass System Objects in background as System Objects are not supported to work in Thread Based Environment. If you have Sysyem Objects in your code, you need to convert them to functions and then pass to background.
Hope this helps

2 Comments

I believe that the question is about Simulink models, so I do not think that your suggestions will work for that purpose
Thanks for the answer first of all. And yes it was for Simulink models, on Matlab I only have initialization functions & databases, nothing more.

Sign in to comment.

This is a bit tough to answer without seeing a bit of the code. For starters, your code might already be using most (all) of your cores with implicit threading, for example
y = fft(x);
Where's the bottleneck in your code? For example
x = imread('file');
or
for idx = 1:N
% do stuff
end
If it's the former, maybe you only need to read in a portion of the data. If it's the later, maybe you scatter the interations across cores.

3 Comments

Models with subsystems are referenced, and product tag includes Simulink, so I believe that this is a question about what parts of a Simulink model can be run in parallel.
So only option I have is to run parallel of some subsystems maybe??

Sign in to comment.

Categories

Asked:

on 22 Jun 2023

Commented:

on 26 Jun 2023

Community Treasure Hunt

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

Start Hunting!