Contenu principal

Cette page a été traduite par traduction automatique. Cliquez ici pour voir la dernière version en anglais.

Qu'est-ce que le calcul parallèle ?

Le calcul parallèle permet d'effectuer de nombreux calculs simultanément. Les gros problèmes peuvent souvent être divisés en problèmes plus petits, qui sont ensuite résolus en même temps.

Les principales raisons d’envisager le calcul parallèle sont les suivantes :

  • Gagner du temps en répartissant les tasks et en les exécutant simultanément.

  • Résoudre les problèmes de Big Data en distribuant les données

  • Tirer parti des ressources de votre PC et évoluez vers les clusters et le cloud computing

Avec Parallel Computing Toolbox™, vous pouvez

  • Accélérez votre code à l'aide d'outils de calcul parallèle interactifs, tels que parfor et parfeval

  • Augmentez vos capacités de calcul à l'aide d'outils de traitement Big Data interactifs, tels que distributed, tall, datastore et mapreduce

  • Utilisez gpuArray pour accélérer vos calculs sur le GPU de votre ordinateur

  • Utilisez batch pour décharger vos calculs vers des clusters informatiques ou des installations de cloud computing

Voici quelques concepts utiles sur le calcul parallèle :

  • Nœud : ordinateur autonome, contenant un ou plusieurs CPU / GPU. Les nœuds sont mis en réseau pour former un cluster ou un supercalculateur

  • Thread : plus petit ensemble d’instructions pouvant être géré indépendamment par un planificateur. Sur un GPU, un système multiprocesseur ou multicœur, plusieurs threads peuvent être exécutés simultanément (multi-threading)

  • Batch : décharger l'exécution d'un script fonctionnel pour l'exécuter en arrière-plan

  • Évolutivité : augmentation de l'accélération parallèle avec l'ajout de ressources supplémentaires

Quels outils proposent MATLAB® et Parallel Computing Toolbox ?

  • MATLAB workers : MATLAB moteurs de calcul qui s'exécutent en arrière-plan sans interface desktop. Vous utilisez des fonctions dans Parallel Computing Toolbox pour diviser automatiquement les task et les affecter à ces workers pour exécuter les calculs en parallèle. Vous pouvez exécuter des workers locaux pour tirer parti de tous les cœurs de votre ordinateur de bureau multicœur. Vous pouvez également évoluer pour exécuter vos workers sur un cluster de machines, à l'aide de MATLAB Parallel Server™. La session MATLAB avec laquelle vous interagissez est connue sous le nom de client MATLAB. Le client instruit les workers avec des fonctions de langage parallèles.

  • Pool parallèle : un pool parallèle de MATLAB workers créé à l'aide de parpool ou de fonctions avec support parallèle automatique. Par défaut, les fonctions de langage parallèle créent automatiquement un pool parallèle pour vous lorsque cela est nécessaire. Pour en savoir plus, voir Exécuter du code sur des pools parallèles .

    Pour le profil local par défaut, le nombre de workers par défaut est d'un par cœur de processeur physique utilisant un seul thread de calcul. Cela est dû au fait que même si chaque cœur physique peut avoir plusieurs cœurs virtuels, les cœurs virtuels partagent certaines ressources, notamment généralement une unité à virgule flottante (FPU) partagée. La plupart des calculs MATLAB utilisent cette unité car ils sont à virgule flottante double précision. La limitation à un seul worker par cœur physique garantit que chaque worker dispose d'un accès exclusif à une unité à virgule flottante, ce qui optimise généralement les performances du code de calcul. Si votre code n'est pas gourmand en ressources de calcul, par exemple s'il nécessite beaucoup d'entrées/sorties (E/S), envisagez d'utiliser jusqu'à deux workers par cœur physique. L'exécution d'un trop grand nombre de workers sur trop peu de ressources peut avoir un impact sur les performances et la stabilité de votre machine.

  • Accélérer : Accélérez votre code en l'exécutant sur plusieurs MATLAB workers ou GPU, par exemple, en utilisant parfor, parfeval ou gpuArray.

  • Augmentez la taille de vos données : Partitionnez vos big data sur plusieurs MATLAB workers, en utilisant des tall array et des tableaux distribués. Pour en savoir plus, voir Traitement des Big Data .

  • Traitement asynchrone : Utilisez parfeval pour exécuter une task informatique en arrière-plan sans attendre qu'elle se termine.

  • Passez aux clusters et aux clouds : Si votre task de calcul est trop importante ou trop lente pour votre ordinateur local, vous pouvez décharger votre calcul sur un cluster sur site ou dans le cloud à l'aide de MATLAB Parallel Server. Pour plus d'informations, voir Clusters et clouds.

Voir aussi

Rubriques