Multicore Processor Targets

Model concurrent execution for systems designed for deployment on a multicore or FPGA system

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.configCreate or convert configuration for concurrent execution
Simulink.architecture.addAdd tasks or triggers to selected architecture of model
Simulink.architecture.deleteDelete triggers and tasks from selected architecture of model
Simulink.architecture.find_systemFind objects under architecture object
Simulink.architecture.get_paramGet configuration parameters of architecture objects
Simulink.architecture.importAndSelectImport and select target architecture for concurrent execution environment for model
Simulink.architecture.profileGenerate profile report for model configured for concurrent execution
Simulink.architecture.registerAdd custom target architecture to concurrent execution target architecture selector
Simulink.architecture.set_paramSet architecture object properties

Classes

Simulink.GlobalDataTransferConfigure concurrent execution data transfers

Examples and How To

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.

Optimize and Deploy on a Multicore Target

Configure a model for concurrent execution using explicit partitioning and deploy it to a target.

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

Learn how to implement task parallelism for a system in a Simulink model.

Implement Pipelining in Simulink

This example shows how to implement pipelining for a system in a Simulink model.

Assigning Tasks to Cores for Multicore Programming

This example shows how to take advantage of executing code on a multicore processor by graphical partitioning.

Implement an FFT on a Multicore Processor and an FPGA

This example shows you how to take advantage of a multicore processor target with FPGA acceleration by graphically partitioning a model.

Multicore Deployment of a Plant Model

This example illustrates how to take advantage of executing multithreaded code on a multicore processor using graphical partitioning.

Concepts

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.

Concurrent Execution Window: Main Pane

Parameters for configuring tasks for concurrent execution

Data Transfer Options for Concurrent Execution

This tab displays the data transfer options for configuring models for targets with multicore processors.

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.

Featured Examples