Simulink Model Optimization

2 views (last 30 days)
Juri Minxha
Juri Minxha on 3 Apr 2011
I have a Simulink model that performs a few signal processing algorithms on an input. The input is a frame-based matrix, 32 by 30000. For each channel (there are 32 channels) I draw 30000 samples (for ever channel) every second. I then perform some filter on each channel, spectral estimation, and get a few statistics from the data. I am running this model on an 8 core machine but whenever I run the model it only uses one core. It is really slowing down the whole simulation. Is there anyway I can use the parallel processing capabilities built into Matlab to use more than 1 core? If so, any suggestions on where to begin (i.e. demo, examples, etc.)? Any help is appreciated. Thank you.

Accepted Answer

Jarrod Rivituso
Jarrod Rivituso on 3 Apr 2011
There is no way that I know of to split a single model's simulation over multiple threads, which is why I believe the simulation only uses one core. You could use the parallel computing abilities in MATLAB to help you run multiple simulations at the same time, and that would take advantage of your additional cores, but it wouldn't speed up any single simulation.
However, there may be other tips and tricks you could try to speed up your simulation. Check out the "Speeding up Simulink for Signal Processing Applications" webinar here:
Hope this helps!
  1 Comment
Arnaud Miege
Arnaud Miege on 4 Apr 2011
In addition to what Jarrod said, you could try running the model in Rapid Accelerator mode, where the executable runs on a separate core to the one where MATLAB is running (if there's one available). For more details, see the Simulink doc at http://www.mathworks.com/access/helpdesk/help/toolbox/simulink/ug/brc69gc.html.
HTH,
Arnaud

Sign in to comment.

More Answers (0)

Categories

Find more on Manual Performance Optimization 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!