Multicore Processor Targets
Multicore programming, or modeling for concurrent execution, helps you to create concurrent systems for deployment on multicore processor and multiprocessor systems. Examples of such systems are signal-processing and plant-control systems. Simulink® partitioning and mapping techniques help you to overcome common challenges in designing systems for concurrent execution.
The figure shows a sample system with multiple functions designed to execute on a CPU- and FPGA-based multiprocessor system. The system is partitioned into multiple components that are mapped to the CPU task scheduler or the FPGA.
To learn the fundamentals of multicore programming, see Concepts in Multicore Programming. For information on how to design systems for concurrent execution in Simulink, see Multicore Programming with Simulink.
Functions
Simulink.architecture.config | Create or convert configuration for concurrent execution |
Simulink.architecture.add | Add tasks or triggers to selected architecture of model |
Simulink.architecture.delete | Delete triggers and tasks from selected architecture of model |
Simulink.architecture.find_system | Find objects under architecture object |
Simulink.architecture.get_param | Get configuration parameters of architecture objects |
Simulink.architecture.importAndSelect | Import and select target architecture for concurrent execution environment for model |
Simulink.architecture.profile | Generate profile report for model configured for concurrent execution |
Simulink.architecture.register | Add custom target architecture to concurrent execution target architecture selector |
Simulink.architecture.set_param | Set architecture object properties |
Objects
Simulink.GlobalDataTransfer | Configure concurrent execution data transfers |
Tools
Concurrent Execution Tool | Specify tasks, triggers, and nodes for concurrent execution of Simulink model |
Topics
Understand Multicore Programming in Simulink
- Concepts in Multicore Programming
Theory relevant to modeling for concurrent execution. - Multicore Programming with Simulink
Modeling for concurrent execution using Simulink. - Implicit and Explicit Partitioning of Models
Learn about the key differences between implicit and explicit partitioning. - Supported Targets for Multicore Programming
Deploy concurrent execution models to supported multicore targets. - Limitations with Multicore Programming in Simulink
Limitations and considerations when partitioning a model for concurrent execution.
Configure Your Model
- Configure Your Model for Concurrent Execution
Learn how to configure your Simulink model to take advantage of concurrent execution. - Specify a Target Architecture
Choose or define a target architecture for a model configured for concurrent execution. - Partition Your Model Using Explicit Partitioning
Add tasks, create partitions, and map individual tasks to partitions using explicit partitioning. - Configure Data Transfer Settings Between Concurrent Tasks
Specify options for handling data transfers between concurrently executing partitions.
Implement Parallelism in Simulink
- Implement Data Parallelism in Simulink
This example shows how to implement data parallelism for a system in a Simulink model. - Implement Task Parallelism in Simulink
This example shows how to implement task parallelism for a system represented in a Simulink® model. - Implement Pipelining in Simulink
This example shows how to implement pipelining for a system represented in a Simulink® model.
Code Generation
- Optimize and Deploy on a Multicore Target
Configure a model for concurrent execution using explicit partitioning and deploy it to a target. - Assign Tasks to Cores for Multicore Programming
This example shows how to take advantage of executing code on a multicore processor by graphical partitioning.