Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] some problems with openmpi-1.9a1r30100
From: Ralph Castain (rhc_at_[hidden])
Date: 2014-01-02 09:57:31


 I restored the -bycore option, but that isn't what you want here. Setting aside the behavior of the 1.6 series, which I believe is incorrect, when you tell us to map "bycore" we will map each process to one core. Thus, all four of your processes will be mapped onto linpc0 in your command line since there are 4 cores on that node.

When you then tell us to bind 4 cpus/proc, this clearly results in an overload condition, which is what the warning is telling you.

Given that you appear to only have 4 cores/node, binding won't do you any good - effectively, you are "binding" to the entire node, which is no-op. Still, if you want to exercise the software, you should be mapping "bynode" so that your command will provide 1 proc/node. You can then still ask for 4 cpus/proc without creating an overload.

Ralph

On Jan 1, 2014, at 8:05 AM, Ralph Castain <rhc_at_[hidden]> wrote:

> -bycore should still be available for backward compatibility, so I'll check that one. I'll have to look to see what your binding pattern didn't work
>
> https://svn.open-mpi.org/trac/ompi/ticket/4044
>
>
> On Jan 1, 2014, at 1:48 AM, Siegmar Gross <Siegmar.Gross_at_[hidden]> wrote:
>
>>
>> Option "-bycore" isn't available any longer. Is this intended?
>>
>> linpc1 openmpi_1.7.x_or_newer 111 mpiexec -report-bindings -np 4 \
>> -host linpc0,linpc1,sunpc0,sunpc1 -cpus-per-proc 4 -bycore \
>> -bind-to-core hostname
>> mpiexec: Error: unknown option "-bycore"
>> Type 'mpiexec --help' for usage.
>> linpc1 openmpi_1.7.x_or_newer 112
>>
>>
>> linpc1 openmpi_1.7.x_or_newer 112 mpiexec -report-bindings \
>> -np 4 -host linpc0,linpc1,sunpc0,sunpc1 -cpus-per-proc 4 \
>> -bind-to-core hostname
>> --------------------------------------------------------------------------
>> A request was made to bind to that would result in binding more
>> processes than cpus on a resource:
>>
>> Bind to: CORE
>> Node: linpc0
>> #processes: 2
>> #cpus: 1
>>
>> You can override this protection by adding the "overload-allowed"
>> option to your binding directive.
>> --------------------------------------------------------------------------
>> linpc1 openmpi_1.7.x_or_newer 113
>>
>>
>>
>> It worked with Open MPI 1.6.x.
>>
>> linpc1 openmpi_1.6.x 105 mpiexec -report-bindings -np 4 \
>> -host linpc0,linpc1,sunpc0,sunpc1 -cpus-per-proc 4 -bycore \
>> -bind-to-core hostname
>> [linpc1:09465] MCW rank 1 bound to socket 0[core 0-1] socket 1[core 0-1]:
>> [B B][B B]
>> linpc1
>> [linpc0:01036] MCW rank 0 bound to socket 0[core 0-1] socket 1[core 0-1]:
>> [B B][B B]
>> linpc0
>> [sunpc0:03796] MCW rank 2 bound to socket 0[core 0-1] socket 1[core 0-1]:
>> [B B][B B]
>> sunpc0
>> [sunpc1:21335] MCW rank 3 bound to socket 0[core 0-1] socket 1[core 0-1]:
>> [B B][B B]
>> sunpc1
>> linpc1 openmpi_1.6.x 106
>>
>>
>> Have you changed the syntax once more so that I can get the
>> expected bindings with different command line options or is it
>> a problem in Open MPI 1.9.x?
>