La traduction de cette page n'est pas à jour. Cliquez ici pour voir la dernière version en anglais.
Cibles de processeurs multicœurs
La programmation multicœur ou la modélisation pour une exécution concurrente permet de créer des systèmes concurrents pouvant être déployer dans des environnements à processeur multicœur ou multiprocesseurs, par exemple des systèmes de traitement du signal ou de contrôle. Les techniques de partitionnement et de mapping de Simulink® aident à surmonter les problèmes couramment associés au design de systèmes pour une exécution concurrente.
La figure présente un exemple de système comportant plusieurs fonctions conçues pour s'exécuter dans un environnement multiprocesseur CPU et FPGA. Ce système est partitionné en différents composants mappés sur le planificateur de tâches du CPU ou sur le FPGA.
Pour découvrir les fondamentaux de la programmation multicœur, consultez la rubrique Concepts in Multicore Programming. Pour plus d'informations sur le design de systèmes pour une exécution concurrente dans Simulink, consultez la rubrique Multicore Programming with Simulink.
Fonctions
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 |
Objets
Simulink.GlobalDataTransfer | Configure concurrent execution data transfers |
Rubriques
Comprendre la programmation multicœur dans 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.
Configurer votre modèle
- 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.
Implémenter le parallélisme dans 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.
Génération de code
- 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.