besoin d un coup de pouce avec Allgather [C][MPI] - C - Programmation
MarshPosté le 20-05-2005 à 09:07:03
une fonction me pose un soucis en MPI. Send/Recv, Reduce et les autres fonctionnent, mais la famille des "gather" m est toujours recalcitrante.
en gros le code
Code :
double* in;
double t;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Comm_size(MPI_COMM_WORLD, &proc);
/* code du proc */
if (rank==0)
{
in=malloc(proc*sizeof(double));
MPI_Allgather(&t, 1, MPI_DOUBLE, in, proc, MPI_DOUBLE, MPI_COMM_WORLD);
}
donc je recupere les variables "t" de chaque processus pour le mettre dans le tableau "in", dans le processus 0, qui se chargera d en faire quelque chose. et la, sur Allgather, pouf, ca traine comme si c etait une boucle infinie si je fais un reduce a la place ca fonctionne, sachant qu elles ont techniquement le meme type d argument ces deux fonctions, d ou mon interpellation
Message édité par Profil supprimé le 20-05-2005 à 09:22:51
Marsh Posté le 20-05-2005 à 09:07:03
une fonction me pose un soucis en MPI. Send/Recv, Reduce et les autres fonctionnent, mais la famille des "gather" m est toujours recalcitrante.
en gros le code
donc je recupere les variables "t" de chaque processus pour le mettre dans le tableau "in", dans le processus 0, qui se chargera d en faire quelque chose.
et la, sur Allgather, pouf, ca traine comme si c etait une boucle infinie
si je fais un reduce a la place ca fonctionne, sachant qu elles ont techniquement le meme type d argument ces deux fonctions, d ou mon interpellation
Message édité par Profil supprimé le 20-05-2005 à 09:22:51