Re: [OMPI users] Program abortion at a simple MPI_Get Programm
Hi, > I wrote a litte MPI program to demonstrate the mpi_get() function > (see attachment). > > The idea behind the program is that a master process with rank 0 > fills an integer array with the size of MPI_Comm_size with values. > The other processes should MPI_GET the value from this shared int > array at the index of their rank. > > We could compile the code, but execution will raise an error. You use the following statements: int rank, size, *a, *b, namelen, i, sizereal, flag; ... MPI_Win_get_attr(win, MPI_WIN_SIZE, , ); The MPI 3.0 standard requires on page 416 that MPI_WIN_SIZE should have type "MPI_Aint *". tyr test_onesided 138 diff beispiel2_flo.c* 18c18 < int rank, size, *a, *b, namelen, i, flag; --- > int rank, size, *a, *b, namelen, i, sizereal, flag; 21d20 < MPI_Aint *sizereal; 44c43 < { --- > {+ 54c53 < printf("Real Size %d\n", *sizereal); --- > printf("Real Size %d\n", sizereal); 59c58 < printf ("Process %d after MPI_Win_create()\n", rank); --- > printf ("Process %d after MPI_Win_create()\n"); 77c76 < printf("Prozess %d# hat Wert %d von Prozess 0 geholt\n", rank, *b); --- > printf("Prozess %d# hat Wert %d von Prozess 0 geholt\n", rank, b); [2] - Done xemacs beispiel2_flo.c tyr test_onesided 139 If you change the type of "sizereal" and fix some more bugs, you get what you want. tyr test_onesided 139 mpiexec -np 2 a.out Guten Tag. Ich bin Prozess 1 von 2. Ich werde auf Host tyr.informatik.hs-fulda.de ausgefuehrt Guten Tag. Ich bin Prozess 0 von 2. Ich werde auf Host tyr.informatik.hs-fulda.de ausgefuehrt a[0]=0 a[1]=100 ok1 ok1 Process 1 after MPI_Win_create() ok3 ok2 Real Size 8 ok3 Prozess 1# hat Wert 100 von Prozess 0 geholt tyr test_onesided 140 Kind regards Siegmar
Re: [OMPI users] Program abortion at a simple MPI_Get Programm
Thanks for your reply. I think its the best to give you the versions of the implementations I use OpenMPI 1.8.2 MPICH 3.0.2 LAM MPI 7.1.5 As you see in my program code, I use MPI_Win_get_attr to show the size of the window. Program crashes here. So I presume something went wrong at the WIN_Create call. I can comment out the MPI_Win_get_attr call, but then MPI_Get reads wrong data. I presume It reads somewhere outside the window because printf will show something like 2478000 Mit freundlichen Grüßen Florian Hahner -Ursprüngliche Nachricht- Von: users [mailto:users-boun...@open-mpi.org] Im Auftrag von Jeff Squyres (jsquyres) Gesendet: Dienstag, 17. Juni 2014 22:10 An: Open MPI User's List Betreff: Re: [OMPI users] Program abortion at a simple MPI_Get Programm I'll let Nathan/others comment on the correctness of your program. What version of Open MPI are you using? Be sure to use the latest to get the most correct one-sided implementation. Also, as one of the prior LAM/MPI developers, I must plead with you to stop using LAM/MPI. We abandoned it many years ago in favor of Open MPI. :-) On Jun 17, 2014, at 3:59 PM, Florian Hahner <h...@florian-hahner.de> wrote: > Hello MPI users, > > first of all i want to introduce myself. My name is Florian Hahner and I'm > studying applied computer science in Fulda, Germany. In our class 'parallel > computing' I'm working at a MPI-2 Project to show the benefits and the > working method of one-sided communications. > > I wrote a litte MPI program to demonstrate the mpi_get() function (see > attachment). > > The idea behind the program is that a master process with rank 0 fills an > integer array with the size of MPI_Comm_size with values. The other processes > should MPI_GET the value from this shared int array at the index of their > rank. > > We could compile the code, but execution will raise an error. > > We compile and run it with several MPI implementations (LAMMPI, MPICH ) and > get every time errors. Host system is: 5.10 Generic_150400-10 sun4u sparc > SUNW,SPARC-Enterprise Solaris > > PS: I've some information are missing, please fill free to ask! > > Best Regards > > Florian Hahner > ___ > users mailing list > us...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users > Link to this post: > http://www.open-mpi.org/community/lists/users/2014/06/24668.php -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/ ___ users mailing list us...@open-mpi.org Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users Link to this post: http://www.open-mpi.org/community/lists/users/2014/06/24669.php
Re: [OMPI users] Program abortion at a simple MPI_Get Programm
I'll let Nathan/others comment on the correctness of your program. What version of Open MPI are you using? Be sure to use the latest to get the most correct one-sided implementation. Also, as one of the prior LAM/MPI developers, I must plead with you to stop using LAM/MPI. We abandoned it many years ago in favor of Open MPI. :-) On Jun 17, 2014, at 3:59 PM, Florian Hahnerwrote: > Hello MPI users, > > first of all i want to introduce myself. My name is Florian Hahner and I’m > studying applied computer science in Fulda, Germany. In our class ‘parallel > computing’ I’m working at a MPI-2 Project to show the benefits and the > working method of one-sided communications. > > I wrote a litte MPI program to demonstrate the mpi_get() function (see > attachment). > > The idea behind the program is that a master process with rank 0 fills an > integer array with the size of MPI_Comm_size with values. The other processes > should MPI_GET the value from this shared int array at the index of their > rank. > > We could compile the code, but execution will raise an error. > > We compile and run it with several MPI implementations (LAMMPI, MPICH ) and > get every time errors. Host system is: 5.10 Generic_150400-10 sun4u sparc > SUNW,SPARC-Enterprise Solaris > > PS: I’ve some information are missing, please fill free to ask! > > Best Regards > > Florian Hahner > ___ > users mailing list > us...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users > Link to this post: > http://www.open-mpi.org/community/lists/users/2014/06/24668.php -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/