Thanks a lot, it works fine for me.
But going back to my problems - is it some bug in open-mpi or I should
use "slot=*" option in some other way?

2010/6/9 Ralph Castain <r...@open-mpi.org>:
> I would recommend using the sequential mapper instead:
>
> mpirun -mca rmaps seq
>
> You can then just list your hosts in your hostfile, and we will put the ranks 
> sequentially on those hosts. So you get something like this
>
> host01  <= rank0
> host01  <= rank1
> host02  <= rank2
> host03  <= rank3
> host01  <= rank4
>
> Ralph
>
> On Jun 9, 2010, at 4:39 AM, Grzegorz Maj wrote:
>
>> In my previous mail I said that slot=0-3 would be a solution.
>> Unfortunately it gives me exactly the same segfault as in case with
>> *:*
>>
>> 2010/6/9 Grzegorz Maj <ma...@wp.pl>:
>>> Hi,
>>> I'd like mpirun to run tasks with specific ranks on specific hosts,
>>> but I don't want to provide any particular sockets/slots/cores.
>>> The following example uses just one host, but generally I'll use more.
>>> In my hostfile I just have:
>>>
>>> root@host01 slots=4
>>>
>>> I was playing with my rankfile to achieve what I've mentioned, but I
>>> always get some problems.
>>>
>>> 1) With rankfile like:
>>> rank 0=host01 slot=*
>>> rank 1=host01 slot=*
>>> rank 2=host01 slot=*
>>> rank 3=host01 slot=*
>>>
>>> I get:
>>>
>>> --------------------------------------------------------------------------
>>> We were unable to successfully process/set the requested processor
>>> affinity settings:
>>>
>>> Specified slot list: *
>>> Error: Error
>>>
>>> This could mean that a non-existent processor was specified, or
>>> that the specification had improper syntax.
>>> --------------------------------------------------------------------------
>>> --------------------------------------------------------------------------
>>> mpirun was unable to start the specified application as it encountered an 
>>> error:
>>>
>>> Error name: Error
>>> Node: host01
>>>
>>> when attempting to start process rank 0.
>>> --------------------------------------------------------------------------
>>> [host01:13715] Rank 0: PAFFINITY cannot get physical processor id for
>>> logical processor 4
>>>
>>>
>>> I think it tries to find processor #4, bug there are only 0-3
>>>
>>> 2) With rankfile like:
>>> rank 0=host01 slot=*:*
>>> rank 1=host01 slot=*:*
>>> rank 2=host01 slot=*:*
>>> rank 3=host01 slot=*:*
>>>
>>> Everything looks well, i.e. my programs are spread across 4 processors.
>>> But when running MPI program as follows:
>>>
>>> MPI::Init(argc, argv);
>>> fprintf(stderr, "after init %d\n", MPI::Is_initialized());
>>> nprocs_mpi = MPI::COMM_WORLD.Get_size();
>>> fprintf(stderr, "won't get here\n");
>>>
>>> I get:
>>>
>>> after init 1
>>> [host01:14348] *** Process received signal ***
>>> [host01:14348] Signal: Segmentation fault (11)
>>> [host01:14348] Signal code: Address not mapped (1)
>>> [host01:14348] Failing at address: 0x8
>>> [host01:14348] [ 0] [0xffffe410]
>>> [host01:14348] [ 1] p(_ZNK3MPI4Comm8Get_sizeEv+0x19) [0x8051299]
>>> [host01:14348] [ 2] p(main+0x86) [0x804ee4e]
>>> [host01:14348] [ 3] /lib/libc.so.6(__libc_start_main+0xe5) [0x4180b5c5]
>>> [host01:14348] [ 4] p(__gxx_personality_v0+0x125) [0x804ecc1]
>>> [host01:14348] *** End of error message ***
>>>
>>> I'm using OPEN MPI v. 1.4.2 (downloaded yesterday).
>>> In my rankfile I really want to write something like slot=*. I know
>>> slot=0-3 would be a solution, but when generating rankfile I may not
>>> be sure how many processors are there available on a particular host.
>>>
>>> Any help would be appreciated.
>>>
>>> Regards,
>>> Grzegorz Maj
>>>
>> _______________________________________________
>> 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