Just to check what is going on, why don't you remove that message passing code 
and just

printf("Hello MPI World from process %d!", my_rank

 in each process? Much more direct - avoids any ambiguity.

Also, be certain that you compile this program for the specific OMPI version 
you are running it under. OMPI is NOT binary compatible across releases - you 
have to recompile the program for the specific release you are going to use.


On Apr 17, 2010, at 4:52 PM, Mario Ogrizek wrote:

> Ofcourse, its the same program, wasnt recompiled for a week.
> 
> 
> #include <stdio.h>
> #include <string.h>
> #include "mpi.h"
> 
> int main(int argc, char* argv[]){
>       int  my_rank; /* rank of process */
>       int  p;       /* number of processes */
>       int source;   /* rank of sender */
>       int dest;     /* rank of receiver */
>       int tag=0;    /* tag for messages */
>       char message[100];        /* storage for message */
>       MPI_Status status ;   /* return status for receive */
>       
>       /* start up MPI */
>       
>       MPI_Init(&argc, &argv);
> 
>       /* find out process rank */
>       MPI_Comm_rank(MPI_COMM_WORLD, &my_rank); 
>       
> 
>       /* find out number of processes */
>       MPI_Comm_size(MPI_COMM_WORLD, &p);
> 
>       
>       if (my_rank !=0){
>               /* create message */
>               sprintf(message, "Hello MPI World from process %d!", my_rank);
>               dest = 0;
>               /* use strlen+1 so that '\0' get transmitted */
>               MPI_Send(message, strlen(message)+1, MPI_CHAR,
>                  dest, tag, MPI_COMM_WORLD);
>       }
>       else{
>               printf("Hello MPI World From process 0: Num processes: %d\n",p);
>               for (source = 1; source < p; source++) {
>                       MPI_Recv(message, 100, MPI_CHAR, source, tag,
>                             MPI_COMM_WORLD, &status);
>                       printf("%s\n",message);
>               }
>       }
>       /* shut down MPI */
>       MPI_Finalize(); 
>       
>       
>       return 0;
> }
> 
> I triplechecked:
> v1.2 output
> Hello MPI World From process 0: Num processes: 4
> Hello MPI World from process 1!
> Hello MPI World from process 2!
> Hello MPI World from process 3!
> 
> v1.4 output:
> Hello MPI World From process 0: Num processes: 1
> Hello MPI World From process 0: Num processes: 1
> Hello MPI World From process 0: Num processes: 1
> Hello MPI World From process 0: Num processes: 1
> 
> 
> 
> 
> 
> 
> 
> On Sat, Apr 17, 2010 at 9:13 PM, Ralph Castain <r...@open-mpi.org> wrote:
> 
> On Apr 17, 2010, at 11:17 AM, Mario Ogrizek wrote:
> 
>> Hahaha, ok then that WAS silly! :D
>> So there is no way to utilize both cores with mpi?
> 
> We are using both cores - it is just that they are on the same node. Unless 
> told otherwise, the processes will use shared memory for communication.
> 
>> 
>> Ah well, I'll correct that.
>> 
>> From console, im starting a job like this: mpirun -np 4 Program, where i 
>> want to run a Program on 4 processors.
>> I was just stumbled when i got same output 4 times, like there are 4 
>> processes ranked 0.
>> While with the old version of mpi (1.2) same execution would give 4 
>> processes ranked 0..3.
> 
> And so you should - if not, then there is something wrong. No way mpirun 
> would start 4 processes ranked 0. How are you printing the rank? Are you sure 
> you are getting it correctly?
> 
> 
>> 
>> Hope you see my question.
>> 
>> On Sat, Apr 17, 2010 at 6:29 PM, Ralph Castain <r...@open-mpi.org> wrote:
>> 
>> On Apr 17, 2010, at 1:16 AM, Mario Ogrizek wrote:
>> 
>>> I am new to mpi, so I'm sorry for any silly questions.
>>> 
>>> My idea was to try to use dual core machine as two nodes. I have a limited 
>>> access to a cluster, so this was just for "testing" purposes.
>>> My default hostfile contains usual comments and this two nodes:
>>> 
>>>> node0
>>>> node1
>>> I thought that each processor is a node for MPI purpose.
>> 
>> I'm afraid not - it is just another processor on that node. So you only have 
>> one node as far as OMPI is concerned.
>> 
>>> Im not sure what do you mean with "mpirun cmd line"?
>> 
>> How are you starting your job? The usual way is with "mpirun -n N ...". That 
>> is what we mean by the "mpirun cmd line" - i.e., what command are you using 
>> to start your job?
>> 
>> It sounds like things are actually working correctly. You might look at 
>> "mpirun -h" for possible options of interest.
>> 
>> 
>>> 
>>> Regards,
>>> 
>>> Mario
>>> 
>>> On Sat, Apr 17, 2010 at 1:54 AM, Ralph Castain <r...@open-mpi.org> wrote:
>>> 
>>> On Apr 16, 2010, at 5:08 PM, Mario Ogrizek wrote:
>>> 
>>>> I checked the default MCA param file, and found it was there that was 
>>>> (automatically) specified as a relative path, so i changed it.
>>>> So now, it works, altho, still something is not right.
>>>> Seems like its creating 4 times only 1 process.
>>>> Not sure if it has to do something with my hostfile, it contains:
>>>> 
>>>> node0
>>>> node1
>>>> 
>>>> I am running this on a simple dualcore machine, so i specified it as a 
>>>> localhost with two nodes.
>>> 
>>> I don't understand this comment - a dual core machine would still be a 
>>> single node. Just happens to have two processors in it.
>>> 
>>> Could you send the contents of your hostfile and your mpirun cmd line?
>>> 
>>>> 
>>>> Regards,
>>>> 
>>>> Mario
>>>> 
>>>> On Sat, Apr 17, 2010 at 12:52 AM, Mario Ogrizek <mario.guard...@gmail.com> 
>>>> wrote:
>>>> I understand, so, its looking for a 
>>>> working_dir/usr/local/etc/openmpi-default-hostfile
>>>> I managed to run a hello world program from the console, while my wd was 
>>>> just "/" and it worked, altho strangely...
>>>> example for 4 procs:
>>>> 
>>>> Hello MPI World From process 0: Num processes: 1
>>>> Hello MPI World From process 0: Num processes: 1
>>>> Hello MPI World From process 0: Num processes: 1
>>>> Hello MPI World From process 0: Num processes: 1
>>>> 
>>>> So, you are saying i allways have to be in "/" to run mpi programs, or 
>>>> there is a way for mpi to search absolute path?
>>>> It seems pretty inconvinient this way.
>>>> I think v 1.2 didnt have this limitation.
>>>> 
>>>> Does this have to do anything with LD_LIBRARY_PATH?
>>>> 
>>>> Regards,
>>>> 
>>>> Mario
>>>> 
>>>> On Fri, Apr 16, 2010 at 7:46 PM, Ralph Castain <r...@open-mpi.org> wrote:
>>>> How did you specify it? Command line? Default MCA param file?
>>>> 
>>>> On Apr 16, 2010, at 11:44 AM, Mario Ogrizek wrote:
>>>> 
>>>>> Any idea how to solve this?
>>>>> 
>>>>> On Fri, Apr 16, 2010 at 7:40 PM, Timur Magomedov 
>>>>> <timur.magome...@developonbox.ru> wrote:
>>>>> Hello.
>>>>> It looks that you hostfile path should
>>>>> be /usr/local/etc/openmpi-default-hostfile not
>>>>> usr/local/etc/openmpi-default-hostfile but somehow Open MPI gets the
>>>>> second path.
>>>>> 
>>>>> В Птн, 16/04/2010 в 19:10 +0200, Mario Ogrizek пишет:
>>>>> > Well, im not sure why should i name it /openmpi-default-hostfile
>>>>> > Especially, because mpirun v1.2 executes without any errors.
>>>>> > But, i made a copy named /openmpi-default-hostfile, and still, the
>>>>> > same result.
>>>>> >
>>>>> > This is the whole error message for a simple hello world program:
>>>>> >
>>>>> >
>>>>> > Open RTE was unable to open the hostfile:
>>>>> >     usr/local/etc/openmpi-default-hostfile
>>>>> > Check to make sure the path and filename are correct.
>>>>> > --------------------------------------------------------------------------
>>>>> > [Mario.local:04300] [[114,0],0] ORTE_ERROR_LOG: Not found in file
>>>>> > base/ras_base_allocate.c at line 186
>>>>> > [Mario.local:04300] [[114,0],0] ORTE_ERROR_LOG: Not found in file
>>>>> > base/plm_base_launch_support.c at line 72
>>>>> > [Mario.local:04300] [[114,0],0] ORTE_ERROR_LOG: Not found in file
>>>>> > plm_rsh_module.c at line 990
>>>>> > --------------------------------------------------------------------------
>>>>> > A daemon (pid unknown) died unexpectedly on signal 1  while attempting
>>>>> > to
>>>>> > launch so we are aborting.
>>>>> >
>>>>> >
>>>>> > There may be more information reported by the environment (see above).
>>>>> >
>>>>> >
>>>>> > This may be because the daemon was unable to find all the needed
>>>>> > shared
>>>>> > libraries on the remote node. You may set your LD_LIBRARY_PATH to have
>>>>> > the
>>>>> > location of the shared libraries on the remote nodes and this will
>>>>> > automatically be forwarded to the remote nodes.
>>>>> > --------------------------------------------------------------------------
>>>>> > --------------------------------------------------------------------------
>>>>> > mpirun noticed that the job aborted, but has no info as to the process
>>>>> > that caused that situation.
>>>>> > --------------------------------------------------------------------------
>>>>> > mpirun: clean termination accomplished
>>>>> >
>>>>> >
>>>>> >
>>>>> >
>>>>> > ps. PTP is a parallel tools platform plugin for eclipse
>>>>> >
>>>>> >
>>>>> > Regards,
>>>>> >
>>>>> >
>>>>> > Mario
>>>>> >
>>>>> > _______________________________________________
>>>>> > users mailing list
>>>>> > us...@open-mpi.org
>>>>> > http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>> 
>>>>> 
>>>>> --
>>>>> Kind regards,
>>>>> Timur Magomedov
>>>>> Senior C++ Developer
>>>>> DevelopOnBox LLC / Zodiac Interactive
>>>>> http://www.zodiac.tv/
>>>>> 
>>>>> _______________________________________________
>>>>> 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
>>>> 
>>>> 
>>>> _______________________________________________
>>>> 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
>>> 
>>> 
>>> _______________________________________________
>>> 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
>> 
>> 
>> _______________________________________________
>> 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
> 
> 
> _______________________________________________
> 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

Reply via email to