Hello Gus,

Thank you very much for your answer but I do not think that this is the problem.I have changed everything in a C program and I obtain the same result.

Does anyone have any idea about the problem?

Sofia

----- Original Message ----- From: "Gus Correa" <g...@ldeo.columbia.edu>
To: "Open MPI Users" <us...@open-mpi.org>
Sent: Tuesday, September 16, 2008 9:42 PM
Subject: Re: [OMPI users] Problem with MPI_Send and MPI_Recv


Hello Sofia and list

I am not a C++ person, I must say.
However, I noticed that you wrote the program in C++,
compiled it with the mpiCC (C++) compiler wrapper,
but your MPI calls are written with the MPI C binding syntax,
not the MPI C++ binding syntax.

E.g. :

MPI_Send(&sum,1,MPI_INT,0,1,MPI_COMM_WORLD);

instead of something like this:

comm.Send(&sum,1,MPI::INT,0,1);

I wonder if this mixed C++ / C environment may have caused some of the trouble,
although I am not sure about that.

Since the specific C++ commands that you use are basically for
printing messages, it may be easier to transform the program into
a C program, by replacing the appropriate include files
and the C++ specific I/O commands by C commands,
and then compile the program again with mpicc.
An alternative is to write the MPI function calls in the C++ binding syntax.

I hope this helps.

Gus Correa

--
---------------------------------------------------------------------
Gustavo J. Ponce Correa, PhD - Email: g...@ldeo.columbia.edu
Lamont-Doherty Earth Observatory - Columbia University
P.O. Box 1000 [61 Route 9W] - Palisades, NY, 10964-8000 - USA
---------------------------------------------------------------------


Sofia Aparicio Secanellas wrote:

Hello,
I am new using MPI. I want to run a simple program (I enclose the program) in 2 different computers. I have installed MPI in both computers. I have compiled the program using:
 mpiCC -o PruebaSumaParalela.out PruebaSumaParalela.cpp
I have copied the executable PruebaSumaParalela.out to my /home directoy in both computers. Then I run: mpirun -np 2 --host 10.4.5.123,edu@10.4.5.126 --prefix /usr/local ./PruebaSumaParalela.out
 The 10.4.5.123 computer prints:
 Inicio
Inicio
totalnodes:2
mynode:0
Inicio Recv
totalnodes:2
mynode:1
Inicio Send
sum:375250
 The edu@10.4.5.126 <mailto:edu@10.4.5.126> computer prints:
 Inicio
Inicio
totalnodes:2
mynode:1
Inicio Send
sum:375250
totalnodes:2
mynode:0
Inicio Recv
But the program does not finish on any computer. It seems that the Send and Recv does not work. Master computer is waiting to receive something that the slave does not send.
Do you know what the problem could be ?
 Thank you very much.
 Sofia


No virus found in this outgoing message
Checked by PC Tools AntiVirus (4.0.0.26 - 10.100.007).
http://www.pctools.com/free-antivirus/

------------------------------------------------------------------------

#include<iostream.h>
#include<mpi.h>
int main(int argc, char ** argv){
int mynode, totalnodes;
int sum,startval,endval,accum;
printf("Inicio\n");
MPI_Status status;
MPI_Init(&argc,&argv);
MPI_Comm_size(MPI_COMM_WORLD, &totalnodes);
MPI_Comm_rank(MPI_COMM_WORLD, &mynode);
printf("totalnodes: %d\n",totalnodes);
printf("mynode: %d\n",mynode);
sum = 0;
startval = 1000*mynode/totalnodes+1;
endval = 1000*(mynode+1)/totalnodes;
for(int i=startval;i<=endval;i=i+1)
sum = sum + i;
if(mynode!=0){
printf("Inicio Send\n");
printf("sum: %d\n",sum);
MPI_Send(&sum,1,MPI_INT,0,1,MPI_COMM_WORLD);
printf("Send sum\n");
}
else
for(int j=1;j<totalnodes;j=j+1){
printf("Inicio Recv\n");
MPI_Recv(&accum,1,MPI_INT,j,1,MPI_COMM_WORLD, &status);
printf("RECV accum\n");
sum = sum + accum;
printf("Sum\n");
}
printf("Final\n");
if(mynode == 0)
cout << "The sum from 1 to 1000 is: " << sum << endl;
MPI_Finalize();
}

------------------------------------------------------------------------

_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users


_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users



No virus found in this incoming message
Checked by PC Tools AntiVirus (4.0.0.26 - 10.100.007).
http://www.pctools.com/free-antivirus/



No virus found in this outgoing message
Checked by PC Tools AntiVirus (4.0.0.26 - 10.100.007).
http://www.pctools.com/free-antivirus/

Reply via email to