Parallel Computing for One Simulation

3 views (last 30 days)
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)

Mudit Kumar Bhugari
Mudit Kumar Bhugari on 22 Jun 2023
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
Walter Roberson
Walter Roberson on 22 Jun 2023
I believe that the question is about Simulink models, so I do not think that your suggestions will work for that purpose
Ahmet Hakan Albayrak
Ahmet Hakan Albayrak on 26 Jun 2023
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.


Raymond Norris
Raymond Norris on 22 Jun 2023
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
Ahmet Hakan Albayrak
Ahmet Hakan Albayrak on 26 Jun 2023
So only option I have is to run parallel of some subsystems maybe??

Sign in to comment.

Categories

Find more on Simulink Functions 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!