Guide des performances Simulink - MATLAB & Simulink

Checklist

Ce guide vous permettra d’accélérer vos simulations et d’améliorer les performances de vos modèles Simulink®. Les étapes ci-dessous vous présentent quelques outils que vous pouvez utiliser en fonction de votre situation, que ce soit pour résoudre les problèmes de vos modèles ou en analyser les performances. Si vous rencontrez des difficultés pour suivre ces étapes ou pour résoudre votre problème, veuillez contacter le support technique. À mesure que vous suivez les étapes, vous serez invité à recueillir des données. Ces données aideront le support technique à comprendre votre problème plus rapidement dans le cas où vous auriez besoin d’un support supplémentaire.

Étape 1 : Tenir compte des modifications récentes

La modification de votre modèle ou un changement de version MATLAB a-t-il entraîné un problème de performances ?

Comparaison de modèles

Si vous avez modifié votre modèle durant le processus de mise à niveau vers une nouvelle version MATLAB®, comparez le modèle à sa version originale pour rechercher les modifications qui pourraient avoir un impact négatif sur les performances.

Une fois la comparaison effectuée, cliquez sur Publier et enregistrez le rapport.

Upgrade Advisor

Si vous avez effectué une mise à niveau vers une nouvelle version et que vous n’avez identifié aucun problème avec l’outil de comparaison, exécutez Upgrade Advisor. Upgrade Advisor vous permet d’identifier les cas où des modifications de votre modèle sont nécessaires pour utiliser les nouvelles fonctionnalités et les nouveaux paramètres de Simulink.

Une fois qu’Upgrade Advisor a effectué les contrôles, enregistrez le rapport.

Comparaison de modèles

Si vous avez modifié votre modèle de manière significative et que vous n’êtes pas sûr de la cause de son ralentissement, comparez le modèle à sa version originale pour rechercher les modifications qui ont eu un impact négatif sur les performances.

Une fois la comparaison effectuée, cliquez sur Publier et enregistrez le rapport.

Étape 2 : Exécuter Performance Advisor

Performance Advisor analyse le modèle pour déterminer quels paramètres de configuration et schémas de modélisation peuvent ralentir la simulation, puis suggère des actions à mettre en œuvre pour améliorer la performance. Une fois les modifications appliquées au modèle, Performance Advisor réalise une dernière validation et affiche les améliorations apportées.

Lorsque la dernière validation a été réalisée par Advisor, enregistrez le rapport.

Si vous souhaitez essayer d'autres méthodes pour améliorer la performance, passez à l’étape 3.

Étape 3 : Profilage d’initialisation

Disposez-vous d’un objet SimulationOutput contenant les résultats d’une simulation récente ?

Vérifiez le temps requis pour initialiser le modèle en utilisant la commande ci-dessous et en remplaçant out par le nom de votre objet SimulationOutput, si nécessaire.

out.SimulationMetadata.TimingInfo.InitializationElapsedWallTime

Si le temps d’initialisation est plus long que prévu et que vous souhaitez approfondir vos recherches, suivez les prochaines instructions de l’étape 3. Si vous préférez vous concentrer sur les problèmes de simulation potentiels, passez à l’étape 4.

Vérifiez le temps requis pour initialiser le modèle en utilisant la commande ci-dessous et en remplaçant out par le nom de votre objet SimulationOutput, si nécessaire.

out.SimulationMetadata.TimingInfo.InitializationElapsedWallTime

Si nécessaire, remplacez out par le nom de votre objet SimulationOutput.

Si le temps d’initialisation est plus long que prévu et que vous souhaitez approfondir vos recherches, suivez les prochaines instructions de l’étape 3. Si vous préférez vous concentrer sur les problèmes de simulation potentiels, passez à l’étape 4.

Dans la plupart des cas, lorsque vous exécutez une simulation Simulink, un objet contenant des informations sur la simulation est créé.

Pour générer un objet SimulationOutput pour votre modèle, exécutez les commandes suivantes en remplaçant MyModel par le nom de votre modèle.

mdl = "MyModel";
out = sim(mdl,StopTime=“0”,CaptureErrors=“on”);

Ces commandes initialisent le modèle et arrêtent la simulation au temps 0. L’objet SimulationOutput généré par la simulation comprend des informations sur le temps d’initialisation.

Lorsque out est disponible, vérifiez le temps nécessaire pour initialiser le modèle en utilisant la commande suivante :
out.SimulationMetadata.TimingInfo.InitializationElapsedWallTime

Si le temps d’initialisation est plus long que prévu et que vous souhaitez approfondir vos recherches, suivez les prochaines instructions de l’étape 3. Si vous préférez vous concentrer sur les problèmes de simulation potentiels, passez à l’étape 4.

Dans la plupart des cas, lorsque vous exécutez une simulation Simulink, un objet contenant des informations sur la simulation est créé. Avant d’essayer d’obtenir un nouvel objet, vérifiez qu’un objet de valeur « 1x1 SimulationOutput » n’existe pas déjà dans votre espace de travail de base.

Pour générer un objet SimulationOutput pour votre modèle, exécutez les commandes suivantes en remplaçant MyModel par le nom de votre modèle.

mdl = "MyModel";
out = sim(mdl,StopTime=“0”,CaptureErrors=“on”);

Ces commandes initialisent le modèle et arrêtent la simulation au temps 0. L’objet SimulationOutput généré par la simulation comprend des informations sur le temps d’initialisation.

Lorsque out est disponible, vérifiez le temps nécessaire pour initialiser le modèle en utilisant la commande suivante :
out.SimulationMetadata.TimingInfo.InitializationElapsedWallTime

Si le temps d’initialisation est plus long que prévu et que vous souhaitez approfondir vos recherches, suivez les prochaines instructions de l’étape 3. Si vous préférez vous concentrer sur les problèmes de simulation potentiels, passez à l’étape 4.

Utilisez MATLAB Profiler pour rechercher le code qui ralentit l’initialisation.

MATLAB Profiler

Parfois, des callbacks de modèles ou des scripts d’initialisation ont une grande base de code MATLAB. MATLAB Profiler analyse le temps requis pour exécuter le code MATLAB associé à votre modèle et vous aide ainsi à identifier les goulots d’étranglements potentiels.

Avant d’exécuter la simulation, exécutez les commandes suivantes dans la fenêtre de commande :
profile clear; profile on;

Une fois la simulation terminée, exécutez la commande suivante :
p = profile('info');

Une fois MATLAB Profiler exécuté, cliquez sur Imprimer et enregistrez le rapport au format PDF.

Consultez les résultats du profileur. Si des fonctions ou des scripts inattendus apparaissent, ou si l’exécution d'une partie du code MATLAB prend plus de temps que prévu, essayez de résoudre le problème.

Si vous souhaitez essayer d’autres méthodes pour améliorer les performances, passez à l’étape 4.

Étape 4 : Profilage de simulation

Utilisez-vous un solveur à pas variable ?

Si vous ne le savez pas, consultez le volet Solveur dans la boîte de dialogue des paramètres de configuration.

Simulink Profiler

Simulink Profiler analyse le temps requis pour exécuter la simulation de votre modèle en le détaillant par composants. Vous pouvez utiliser ces informations pour établir une base de référence et identifier les constructions potentiellement problématiques dans votre modèle. Notez les modèles qui prennent beaucoup de self time.

Une fois le profil terminé, cliquez sur Générer un rapport dans Partager et enregistrez le rapport.

Si votre modèle présente une situation qui n’a pas été traitée dans ces étapes, passez à l’étape 5.

Simulink Profiler

Exécutez Simulink Profiler.

Simulink Profiler analyse le temps requis pour exécuter la simulation de votre modèle en le détaillant par composants. Vous pouvez utiliser ces informations pour établir une base de référence et identifier les constructions potentiellement problématiques dans votre modèle. Notez les modèles qui prennent beaucoup de self time.

Une fois le profil terminé, cliquez sur Générer un rapport dans Partager et enregistrez le rapport.

Solver Profiler

Exécutez Solver Profiler.

Solver Profiler analyse la dynamique de votre modèle et vous permet d’identifier les moments où votre performance de simulation se dégrade en raison de pas de temps réduits ou d’événements de simulation majeurs (y compris les exceptions et les réinitialisations du solveur).

Une fois le profilage terminé, enregistrez le graphe au format .fig en cliquant sur l’onglet Exporter.

Si votre modèle présente une situation qui n’a pas été traitée dans ces étapes, passez à l’étape 5.

Étape 5 : Etapes supplémentaires

Êtes-vous satisfait de la performance de votre modèle ?

Merci d’avoir utilisé le Guide des performances Simulink.

Consultez des ressources additionnelles sur les techniques d’amélioration de la performance pour que votre modèle continue à fonctionner sans problème :

Merci pour le temps que vous avez consacré au débuggage et à la collecte des informations de diagnostic.

Veuillez contacter le support et leur fournir les rapports générés pendant ce processus.