J'essaie d'envoyer des données (forces) à travers 2 processus, en utilisant MPI_SendRecv
. Habituellement, les données seront écrasées dans le tampon reçu, je ne veux pas écraser les données dans le tampon reçu à la place je veux ajouter les données qu'il a reçues.Ajouter des données reçues au tampon de réception existant dans MPI_SendRecv
Je peux faire ce qui suit. Stockez les données de l'étape précédente dans un tableau différent, puis ajoutez-les après la réception. Mais j'ai un nombre énorme de nœuds et je ne veux pas avoir de mémoire allouée pour son stockage à chaque pas de temps. (ou écraser les mêmes)
Ma question est là une manière d'ajouter les données reçues directement au tampon et de les stocker dans la mémoire reçue en utilisant MPI?
Toute aide dans cette direction serait vraiment reconnaissante.
Je suis sûr que les appels de communication collective (MPI Reduce) ne peuvent pas être élaborés ici. Y a-t-il d'autres commandes qui peuvent le faire?
Voulez-vous dire ajouter comme somme, ou ajouter comme append? –
Je pense que la référence à MPI_Reduce indique qu'il fait référence à l'addition numérique plutôt qu'à buffer.push_back. – Jeff