Hi Tim,

it helps, up to four processes. But it has two drawbacks. 1) Using more
cores/threads than the machine provides  (so the actual
over-subscription) is still not possible.  2) it still requires an
additional command line argument.

What I'd like to see is that a call of mpirun with an arbitrary number
of processes that just works without any other command line options.
However, an environment variable would be acceptable.

MPICH's (v3.3) mpirun of a plain installation with no further configure
options (I think it uses the Hydra PM) just does what I want, but MPICH
is not always an option ;-)

Regards, Steffen

On 16/04/2019 14.56, Tim Jim wrote:
> Hi Steffen,
> 
> I'm not sure if this will help you (I'm by far no expert) but the
> mailing group pointed by to using: 
> mpirun --use-hwthread-cpus
> 
> to solve something similar.
> 
> Kind regards,
> Tim
> 
> 
> On Tue, 16 Apr 2019 at 19:01, Steffen Christgau
> <christ...@cs.uni-potsdam.de <mailto:christ...@cs.uni-potsdam.de>> wrote:
> 
>     Hi everyone,
> 
>     on my 2 cores/4 threads development platform I want to start programs
>     via mpirun with over-subscription enabled by default. I have some
>     external packages which have tests that use more than 2 processes. They
>     all fail because Open MPI refuses them to run due to over-subscription.
>     I know that I can enable over-subscription with mpirun --oversubscribe
>     and that works well, but that would require to modify the packages'
>     autotools files or the generated Makefiles with I found hardly
>     convenient.
> 
>     I also tried two of the RMAPS MCA parameters:
> 
>      - rmaps_base_no_oversubscribe
>      - rmaps_base_oversubscribe
> 
>     (btw, are they redundant? Having two of them and one is the negation of
>     the other is quite confusing. The description in ompi_info reads quite
>     similar for the two.)
> 
>     $ mpirun --mca rmaps_base_no_oversubscribe 0 --mca
>     rmaps_base_oversubscribe 1 -n 4 hostname
>     --------------------------------------------------------------------------
>     There are not enough slots available in the system to satisfy the 4
>     slots that were requested by the application:
>       hostname
> 
>     Either request fewer slots for your application, or make more slots
>     available for use.
>     --------------------------------------------------------------------------
> 
>     Setting the environment variables (OMPI_MCA_rmaps_...) did not help
>     either. The same goes or the FAQ [1]:
> 
>     $ cat > my-hostfile
>     localhost
>     $ mpirun -np 4 --hostfile my-hostfile hostname
>     --------------------------------------------------------------------------
>     There are not enough slots available in the system to satisfy the 4
>     slots...
> 
>     My Open MPI installation is a private build of version 4.0.0, configured
>     with nothing more than ./configure --prefix=/some/where
>     --enable-mpi-fortran
> 
>     How can I allow over-subscription by default? I am aware about
>     performance implications, but it's only used for testing and
>     development. I am not using a resource manager on that machine.
> 
>     Thanks in advance
> 
>     Regards, Steffen
> 
>     [1] https://www.open-mpi.org/faq/?category=running#oversubscribing
> 
>     _______________________________________________
>     users mailing list
>     users@lists.open-mpi.org <mailto:users@lists.open-mpi.org>
>     https://lists.open-mpi.org/mailman/listinfo/users
> 
> 
> 
> -- 
> 
>       
> 
> *Timothy Jim
> */PhD Researcher in Aerospace/
> 
> Creative Flow Research Division,
> Institute of Fluid Science, Tohoku University
> 
> www.linkedin.com/in/timjim/ <http://www.linkedin.com/in/timjim/>
> 
> 
> _______________________________________________
> users mailing list
> users@lists.open-mpi.org
> https://lists.open-mpi.org/mailman/listinfo/users
> 
_______________________________________________
users mailing list
users@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/users

Reply via email to