J'ai trouvé que le temps utilisé pour MPI_scatter/MPI_gather augmentait continuellement (en quelque sorte linéairement) à mesure que le nombre de travailleurs augmentait, en particulier lorsque les travailleurs se trouvaient sur des nœuds différents.Comment améliorer la vitesse de MPI_scatter/MPI_gather?
Je pensais que MPI_scatter/MPI_gather est un processus parallèle, et je me demande ce qui conduit à l'augmentation ci-dessus? Y at-il un truc pour le rendre plus rapide, en particulier pour les travailleurs distribuant à travers les nœuds CPU? Le fonctionnement d'un MPI_Scatter/Gather varie selon les implémentations.
Quelle implémentation MPI utilisez-vous? Quelle échelle (nombre de rangs et nombre de nœuds) est le travail? Quelle est l'interconnexion entre les nœuds? Combien de données sont déplacées dans la dispersion/rassemblement? –
Plus important encore, augmentez-vous également la taille des données totales en augmentant le nombre de travailleurs? Si c'est le cas, le goulot d'étranglement sera finalement la bande passante d'E/S du processus racine (probablement le réseau de communication de son nœud). – Zulan