Multicore Simulation of a Simulink Model

4 views (last 30 days)
Hello,
I have just read about Multicore simulation, and it says that it can be achieved by ONLY using DATAFLOW domain in my Simulink model. However, I have a Simulink model of a Power System Network which includes their control (that mimics the actual FPGA’s functionality) that was developed using standard blocks like Triggered Subsystem, digital delays, and another blocks that DATAFLOW Domain doesn’t support. So my question is Do I need to manually change my model so that it will be compatible with DATAFLOW Domain and then be able to use the Multicore feature? If so, is there an automatic way to do so? What can I use instead of triggered subsystems, and digital delays?
I have got this oportunity to use a Fast Computer (as I was told) that I can use to simulate my model, so How can I best use this powerful computer to run my Simulink Model? Do I need an especial configuration of my Simulink model? is DATAFLOW DOMAIN the only option?.
Just for information this computer has got a processor AMD RYZEN 64 cores, 128 theads. NVIDIA RTXA6000, 48 GB GDDR6.
Thanks in advance
  2 Comments
TeraWatt
TeraWatt on 16 Jun 2023
Edited: TeraWatt on 16 Jun 2023
Thanks for your reply.
So This means that I can keep my model as it is? if so what is the advantage of using Parallel Computing Toolbox and Multicore Simulation (with DATAFLOW domain)?

Sign in to comment.

Accepted Answer

Gregour Bolton
Gregour Bolton on 16 Jun 2023
Edited: Gregour Bolton on 22 Jun 2023
In some cases, the model needs to be modified to take advantage of the Dataflow domain and multicore. The Dataflow domain is a data driven and statically scheduled execution domain. Blocks that explicitly set sample time or use absolute time such as continuous blocks are incompatible with data driven semantics and need to be placed outside of a Dataflow domain. In many cases these types of blocks can be replaced with MATLAB System blocks or MATLAB Function blocks. Blocks like the Triggered Subsystem are dynamically scheduled and cannot be statically scheduled although you can place a Dataflow domain inside of a Triggered Subsystem.
The Dataflow domain multicore performance is best achieved when there are many computationally complex blocks in a Dataflow domain as these can be load balanced across many cores. The performance improvement depends on how many blocks there are in a Dataflow domain, the distribution of computational complexity across the blocks, the data dependencies of the blocks and the size of the Dataflow domain relative to the rest of the model.
The Dataflow domain allows multicore execution of a single simulation, and the Parallel Computing Toolbox allows multiple simulations to be executed in parallel.
Hope this helps.

More Answers (0)

Tags

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!