Tout en apprenant MPI en utilisant MPICH dans Windows (1.4.1p1), j’ai trouvé un exemple de code ici . À l’origine, lorsque port_name le serveur, je devais copier le nom de port généré et démarrer le client avec. De cette façon, le client peut se connecter au serveur. Je l’ai modifié pour inclure MPI_Publish_name() à la […]
Je travaille avec l’interface MPI. Je veux diviser une masortingce (par rangées) et répartir les parties entre chaque processus. Par exemple, j’ai cette masortingce carrée 7×7. M = [ 0.00 1.00 2.00 3.00 4.00 5.00 6.00 7.00 8.00 9.00 10.00 11.00 12.00 13.00 14.00 15.00 16.00 17.00 18.00 19.00 20.00 21.00 22.00 23.00 24.00 25.00 […]
Voici le code de mpi scatter: #include #include int a[10]={1,2,3,4,5,6,7,8,9,10}; int b[1]; int main(int argc, char *argv[]) { int rank; MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &rank); MPI_Barrier(MPI_COMM_WORLD); if(rank ==0){ MPI_Scatter(a,1,MPI_INT,b,1,MPI_INT,0,MPI_COMM_WORLD); } MPI_Barrier(MPI_COMM_WORLD); printf(“\n%d from rank=%d\n”,b[0],rank); MPI_Finalize(); return 0; } Je veux une sortie comme suit: 1 de rang 0 2 de rang 1 3 de rang 2 […]
Je ne comprends pas pourquoi MPI_Reduce () commet une erreur de segmentation dès que j’utilise un type de données MPI personnalisé contenant des tableaux alloués de manière dynamic. Est-ce que quelqu’un sait ? Le code suivant se bloque avec 2 processeurs, à l’intérieur de MPI_Reduce (). Toutefois, si je supprime le membre double * d […]
J’ai une structure: struct vertex { double a; double b; } struct polygon { int numofVertex; vertex *v; } Comment envoyer cette structure nestede dans MPI à l’aide de MPI_Send? Le problème est que la structure contient le champ de pointeur “v” en raison duquel MPI_Send se bloque. J’ai essayé MPI_Datatype pour définir un nouveau […]
J’ai un projet C qui compte un nombre n de processeurs travaillant sur une sorte de recherche dans les arbres. À tout moment du programme, l’un de ces processus peut trouver quelque chose d’intéressant et vouloir l’envoyer à tous les autres processeurs de manière asynchrone. Comment puis-je écouter les nouveaux messages sur les autres processus […]
(Question du débutant) J’essaie de générer des processus de manière dynamic à l’aide de MPI_Comm_Spawn, puis de diffuser un message aux processus enfants, mais le programme s’arrête dans la diffusion depuis le processus racine vers les enfants. Je suis la documentation de http://www.mpi-forum.org/docs/docs.html mais je ne peux pas le faire fonctionner. Est-ce que quelqu’un peut […]
comme je n’ai pas trouvé de réponse à ma question jusqu’à présent et que je suis sur le sharepoint devenir fou du problème, je pose simplement la question qui me tourmente l’esprit 😉 Je travaille sur la parallélisation d’un algorithme d’élimination de nœud que j’ai déjà programmé. L’environnement cible est un cluster. Dans mon programme […]
Dans mon programme de test ci-dessous, j’envoie un message d’un processus à un autre. La trace printfs semble indiquer ce que le message est reçu avant son envoi, pourquoi en est-il ainsi? #include #include #include /* Run with two processes */ void main(int argc, char *argv[]) { int rank, i, count; float data[100],value[200]; MPI_Status status; […]
J’ai un projet d’école pour faire la multiplication de masortingce sur un système dissortingbué de HPC. J’ai besoin de lire une masortingce à partir d’un système d’E / S parallèle et d’utiliser pblacs pour effectuer la multiplication de masortingce en parallèle sur de nombreux nœuds de calcul (processeurs). Les données doivent être lues à l’aide […]