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 ![[:opus dei] [:opus dei]](https://forum-images.hardware.fr/images/perso/opus dei.gif)
Message édité par Profil supprimé le 20-05-2005 à 09:22:51