Calcul parallèle avec MATLAB

Exécuter MATLAB sur des machines multicœurs et multiprocesseurs

L’utilisation du calcul parallèle dans vos algorithmes permet de décomposer ceux-ci en différentes tâches qui vont être envoyées chacune sur un nœud de calcul. Les tâches à effectuer peuvent être indépendantes ou non.

MATLAB® fournit deux manières vous permettant d'exploiter au mieux le potentiel des ordinateurs multicœurs et multiprocesseurs. Grâce à la puissance de calcul totale de votre machine, vous êtes en mesure d'exécuter vos applications MATLAB plus rapidement tout en gagnant en efficacité.

Multithread intégré

Les fonctions numériques et algébriques linéaires telles que fft, \ (mldivide), eig, svd, et sort sont multithreads dans MATLAB. Les calculs multithreads sont activés par défaut dans MATLAB depuis la version R2008a. Ces fonctions sont exécutées automatiquement sur plusieurs threads de calcul dans une seule session MATLAB. Leur exécution est par conséquent plus rapide sur des machines multicœurs. De plus, de nombreuses fonctions dans l'Image Processing Toolbox™ sont également multithreads.

Parallélisme à l'aide des workers MATLAB

Grâce à la solution Parallel Computing Toolbox™, vous pouvez exécuter plusieurs workers MATLAB (moteurs de calcul MATLAB) sur une seule machine de manière à exécuter en parallèle des applications. Cette approche vous permet de disposer d'un meilleur contrôle sur le parallélisme qu'avec le multithread intégré. Elle est souvent utilisée pour traiter les problèmes à grain plus grossier comme l'exécution de balayages de paramètres en parallèle.

Les constructions de programmation telles que les boucles parallèles de type for (parfor) et batch vous permettent d'écrire des programmes MATLAB parallèles avec un effort minimal en matière de programmation. D'autres produits parmi lesquels Optimization Toolbox™, Statistics and Machine Learning Toolbox™ et Simulink Coder™ incluent des algorithmes parallèles intégrés compatibles avec Parallel Computing Toolbox. Ces algorithmes vous permettent de distribuer les calculs sur les ressources de calcul parallèles disponibles sans avoir à écrire du code parallèle.

Contrairement aux calculs multithreads, vous pouvez dimensionner les applications parallèles utilisant les workers MATLAB et passer d'une simple machine à un cluster ou à une grille d'ordinateurs à l'aide de MATLAB Distributed Computing Server™.

Voir aussi: Parallel Computing Toolbox, MATLAB Distributed Computing Server, Calcul GPU MATLAB, calcul parallèle, accélération MATLAB, vidéos multicœur MATLAB