Notes de publication de Microsoft MPI
Ce document contient les notes de publication des versions actuelles de Microsoft MPI (MS-MPI) pour Windows.
MS-MPI v10.1.3 (juin 2023)
MS-MPI v10.1.3 inclut les améliorations et correctifs suivants. Téléchargez MS-MPI v10.1.3 à partir du Centre de téléchargement Microsoft.
- Correctif pour l’affectation d’affinités aux processus de travail mpi sur Windows 11 et Windows Server 2022. Sur ces systèmes d’exploitation, les affinités sont affectées par le biais de jeux d’UC, et non par le biais de masques d’affinité.
Le SDK MS-MPI v10.1.3 est également disponible sur nuget.
MS-MPI v10.1.2 (novembre 2019)
MS-MPI v10.1.2 inclut les améliorations et correctifs suivants. Téléchargez MS-MPI v10.1.2 à partir du Centre de téléchargement Microsoft.
- Exécutables d’évaluation signés
- Fichiers binaires conçus pour répondre aux exigences d’APIScan
Le SDK MS-MPI v10.1.2 est également disponible sur nuget.
MS-MPI v10.1.1 (septembre 2019)
MS-MPI v10.1.1 inclut les améliorations et correctifs suivants. Téléchargez MS-MPI v10.1.1 à partir du Centre de téléchargement Microsoft.
- Arguments de support passés à MsmpiLaunchSvc
- Correction du bogue dans l’analyse de guillemets doubles mpiexec
- Correctif pour les annotations SAL
- Ajouter une option pour le programme d’installation msmpi pour désinstaller à partir d’une ligne de commande
- Correction de la représentation entière non conforme dans le fichier d’en-tête mpif entraînant des erreurs avec gfortran
Le SDK MS-MPI v10.1.1 est également disponible sur nuget.
MS-MPI v10.0 (octobre 2018)
MS-MPI v10.0 inclut les améliorations et correctifs suivants. Téléchargez MS-MPI v10.0 à partir du Centre de téléchargement Microsoft.
Prendre en charge toutes les opérations RMA
Prise en charge de l’utilisation de plusieurs groupes de processeurs
Inclure les benchmarks IMB-MPI1 et IMB-NBC
Ajouter une option dans mpiexec/smpd pour rediriger les journaux
Supprimer les types/intrinsèques non standard pour prendre en charge l’utilisation avec MinGW/gFortran
Correction d’un bogue lors de la création d’un vidage principal
Correction d’un bogue en mode MPI_THREAD_MULTIPLE
Correction d’un bogue dans MSMPILaunchSvc qui empêche l’enregistrement des informations d’identification
Le SDK MS-MPI v10.0 est également disponible sur nuget.
MS-MPI v9.0.1 (mars 2018)
MS-MPI v9.0.1 inclut les améliorations et correctifs suivants. Téléchargez MS-MPI v9.0.1 à partir du Centre de téléchargement Microsoft.
Correction d’un bogue dans le code mpiexec qui provoque un blocage lors du démarrage sur les systèmes Windows 7.
Correction d’un bogue qui empêche smpd de générer des processus sur tous les groupes de processeurs.
Correction des valeurs de retour pour MPI_Win_Get_Attr pour la fenêtre dynamique.
Correction d’un bogue lors de la création du canal nommé dans smpd.
MS-MPI v9.0 (février 2018)
MS-MPI v9.0 inclut les nouvelles fonctionnalités, améliorations et correctifs suivants.
Prise en charge des MPI_Win_allocate.
Prise en charge des MPI_Win_create_dynamic, MPI_Win_attach et MPI_Win_detach.
Prise en charge des MPI_Win_flush.
Prise en charge de MPI_NO_OP.
Prise en charge partielle des MPI_Rput, des MPI_Rget et des MPI_Raccumulate.
Bogue dans le rapport d’erreurs RMA.
Bogue dans MS-MPI v7 et v8 qui provoque un blocage sur MPI_Finalize dans certaines conditions.
Le Kit de développement logiciel (SDK) MS-MPI v9.0 est également disponible sur nuget.
MS-MPI v8.1 (juin 2017)
MS-MPI v8.1 inclut les nouvelles fonctionnalités, améliorations et correctifs suivants.
Prise en charge des MPI_Comm_spawn et des MPI_Comm_spawn_multiple.
Prise en charge des arguments de ligne de commande et des applications Unicode mpiexec.
Prise en charge du retour à NTLM pour les exigences de sécurité du runtime MS-MPI.
Prendre en charge plusieurs groupes de processeurs lors de l’exécution du démon smpd ou du service de lancement MS-MPI.
Bogue dans MS-MPI v8 qui peut provoquer des blocages en raison d’un dépassement de capacité lors de l’utilisation de collectifs.
Bogue dans MS-MPI v8 qui peut entraîner un blocage dans MPI_Alltoallv.
Bogue dans MS-MPI v8 qui provoque un comportement non défini lors du traitement de fichiers volumineux.
Le Kit de développement logiciel (SDK) MS-MPI v8.1 est également disponible sur nuget.
MS-MPI v8 (janvier 2017)
MS-MPI v8 inclut les nouvelles fonctionnalités, améliorations et correctifs suivants.
Prise en charge complète de tous les collectifs non bloquants.
Prise en charge des MPI_Reduce_scatter_block.
Amélioration des performances pour les MPI_Alltoallv et les MPI_Alltoallw.
Bogue dans MS-MPI v7 qui provoque des informations manquantes dans la source d’événement pour le service de lancement MSMPI
Bogue dans MS-MPI v7.1 qui provoque un blocage dans MSMPI Launch Service.
Bogue dans MS-MPI v7 qui peut entraîner un retour d’une chaîne de port incorrecte à partir de MPI_Open_port.
Le Kit de développement logiciel (SDK) MS-MPI v8 est également disponible sur nuget.
MS-MPI v7.1 (juin 2016)
MS-MPI v7.1 inclut les améliorations et correctifs notables suivants pour MS-MPI v7.
L’installation est désormais plus résiliente et n’échoue pas lorsque les désinstallations précédentes n’ont pas réussi à propre dans le Registre.
Un bogue dans MS-MPI v7 est résolu et entraîne l’échec des travaux lorsqu’un grand nombre de travaux MPI sont exécutés simultanément sur le même ensemble de nœuds.
L’authentification revient automatiquement à NTLM si l’authentification Kerberos échoue dans un environnement avec une prise en charge partielle ou mal configurée de Kerberos.
mpiexec prend en charge les caractères Unicode dans la ligne de commande et n’a plus de limite codée en dur pour la longueur de la ligne de commande. La notation de chemin long (\\ ?\) est également prise en charge.
Le SDK MS-MPI v7.1 est également disponible sur nuget.
MS-MPI v7 (novembre 2015)
MS-MPI v7 est le successeur de MS-MPI v6. Téléchargez MS-MPI v7 à partir du Centre de téléchargement Microsoft.
Nouvelles fonctionnalités
MS-MPI v7 inclut les nouvelles fonctionnalités, améliorations et correctifs suivants.
Prise en charge d’opérations collectives non bloquantes supplémentaires : MPI_Iallreduce, MPI_Iscatter, MPI_Iallgather, MPI_Iscatterv et MPI_Igatherv. Ceux-ci s’ajoutent aux MPI_Ibcast, MPI_Ireduce, MPI_Igather et MPI_Ibarrier déjà pris en charge.
Prise en charge de la configuration de la plage de ports pour les connexions réseau directes à l’aide de la variable d’environnement MSMPI_ND_PORT_RANGE
Nouvelle gestion des processus (mpiexec/smpd) pour améliorer la fiabilité et les performances
Améliorations des performances pour les opérations collectives
Service de lancement MPI : MS-MPI v7 introduit le service de lancement MS-MPI, qui permet le lancement de processus MPI pour les machines locales et distantes avec des informations d’identification fournies par l’utilisateur. Le package redistribuable MS-MPI installe le service de lancement MS-MPI en mode manuel. Pour démarrer le service, exécutez la commande suivante :
sc start MSMPILaunchSvc [options]
Voici les options que vous pouvez passer au service de lancement au démarrage du service :
-p | -port <> : modifiez le port sur lequel le service de lancement écoute.
-g | -group <group name> : autorise uniquement les membres du groupe spécifié à exécuter des applications MPI. Si elle n’est pas spécifiée, la valeur par défaut est les utilisateurs authentifiés.
Nouvelles options mpiexec pour le service de lancement : il existe deux nouvelles options pour mpiexec (-pwd et -savecreds) qui vous permettent de fournir les informations d’identification nécessaires pour lancer des processus à l’aide du service de lancement. L’option -pwd permet de spécifier le mot de passe pour les utilisateurs qui envoient des scénarios non interactifs (par exemple, à l’aide d’un script ou d’une tâche planifiée). Dans ce cas, le mot de passe est fourni en texte clair. L’option -savecreds entraîne le stockage sécurisé des informations d’identification fournies (si elles sont spécifiées avec -pwd) sur tous les hôtes spécifiés dans la ligne de commande mpiexec.
Par exemple, la commande suivante invite à entrer le mot de passe de l’utilisateur et demande à l’utilisateur s’il souhaite le stocker sur les machines spécifiées host1 et host2, puis lance trois processus, un sur host1 et deux sur host2 :
mpiexec –hosts 2 host1 1 host2 2 –wdir C:\MpiTests mpiapp.exe [parameters]
Autre exemple, la commande suivante authentifie l’utilisateur à l’aide du mot de passe fourni, le stocke sur les machines spécifiées host1 et host2, puis lance trois processus, un sur host1 et deux sur host2 :
mpiexec –hosts 2 host1 1 host2 2 –wdir C:\MpiTests -pwd <password> -savecreds mpiapp.exe [parameters]
Après avoir exécuté mpiexec avec l’option -savecreds sur un ensemble de nœuds, vous n’avez pas besoin de fournir le mot de passe lors des exécutions suivantes pour ces nœuds, sauf si le mot de passe est modifié. Si l’utilisateur s’exécute en mode interactif, mpiexec demande le mot de passe si le service de lancement est en cours d’exécution et que le mot de passe n’a pas été fourni ou enregistré précédemment avec l’option -savecreds .
Compatibilité HPC Pack
MS-MPI v7 est compatible avec HPC Pack 2012 R2 et versions ultérieures. Si vous exécutez une version compatible de HPC Pack qui a une version antérieure de MS-MPI, vous pouvez mettre à niveau MS-MPI vers v7.
MS-MPI v6 (mai 2015)
MS-MPI v6 est le successeur du package redistribuable MS-MPI v5 (publié en novembre 2014).
Nouvelles fonctionnalités
MS-MPI v6 inclut les nouvelles fonctionnalités, améliorations et correctifs suivants.
Opérations collectives non bloquantes , notamment MPI_Ibcast, MPI_Ireduce, MPI_Igather et MPI_Ibarrier.
Prise en charge de l’affinité multi-travail afin que plusieurs travaux MPI affinitisés puissent coexister sur un seul ordinateur sans chevaucher les cœurs sur lesquels ils s’exécutent. Le runtime MPI détecte désormais qu’il existe des travaux épinglés à des cœurs et lance les travaux suivants sur les cœurs qui ne sont pas utilisés actuellement.
La fonctionnalité est exposée en tant que nouvelle option pour mpiexec (-affinity_auto ou –aa) et est conçue pour fonctionner à la fois sous des planificateurs de travaux tels que Microsoft HPC Pack et en mode SDK autonome.
Par exemple, pour exécuter deux travaux à 8 cœurs sur un seul ordinateur à 16 cœurs, vous pouvez utiliser la ligne de commande suivante :
mpiexec –cores 8 –affinity_auto –affinity_layout sequential myapp.exe
oumpiexec –c 8 –aa –al seq myapp.exe
Prise en charge des applications multithread en activant l’utilisation de MPI_THREAD_MULTIPLE lors de l’appel de MPI_Init_thread. Il est conçu pour permettre aux applications hybrides utilisant OMP ou d’autres modèles de threading de tirer parti plus facilement du runtime MPI.
Le serveur minimum pris en charge pour cette fonctionnalité est Windows Server 2012. Le client minimum pris en charge pour cette fonctionnalité est Windows 8.
Nouvelles fonctionnalités de lanorme MPI 3.0 , notamment :
- Prise en charge des MPI_Mprobe, MPI_Mrecv, MPI_Improbe et MPI_Imrecv
- Prise en charge des MPI_COUNT, pour permettre aux types de données volumineux d’être correctement représentés dans les structures MPI_STATUS
- Prise en charge des MPI_Type_create_hindexed_block
- Prise en charge des MPI_Dist_graph_create, MPI_Dist_graph_create_adjacent, MPI_Dist_graph_neighbors et MPI_Dist_graph_neighbors_count
Compatibilité HPC Pack
MS-MPI v6 est compatible avec HPC Pack 2012 R2 et versions ultérieures. Si vous exécutez une version compatible de HPC Pack qui a une version antérieure de MS-MPI, vous pouvez mettre à niveau MS-MPI vers v6.
Modifications apportées aux paramètres par défaut
MS-MPI v6 modifie les paramètres par défaut mpiexec suivants :
- MSMPI_ND_ZCOPY_THRESHOLD est défini sur -1, ce qui désactive zcopy. Cela peut être réactivé en définissant MSMPI_ND_ZCOPY_THRESHOLD=0 dans la ligne de commande mpiexec ou via cluscfg setenvs (si vous utilisez Microsoft HPC Pack).
- MSMPI_HA_COLLECTIVE est défini sur tous, ce qui permet d’activer les collectifs hiérarchiques par défaut. Cela peut être désactivé en définissant MSMPI_HA_COLLECTIVE=off, à nouveau via la ligne de commande mpiexec ou en externe.
Fonctionnalités dépréciées
Nous déprécions la fonctionnalité de réglage automatique intégrée dans cette version avec l’intention de déplacer le tuner automatique dans un utilitaire distinct dans une prochaine version.