Hi Ralph and Gilles, 

Thanks for the suggestions. 

I get the following error when I use --mca rmaps seq in the mpirun command. 

mpirun -hostfile host-file --mca rmaps seq -np 6 ./a1.out : -np 3 ./a2.out 
-------------------------------------------------------------------------- 
No nodes are available for this job, either due to a failure to 
allocate nodes to the job, or allocated nodes being marked 
as unavailable (e.g., down, rebooting, or a process attempting 
to be relocated to another node when none are available). 
-------------------------------------------------------------------------- 

$ cat host-file 
belenos568 
belenos568 
belenos569 
belenos569 
belenos570 
belenos570 
belenos568 
belenos569 
belenos570 

I get the same error every time. If I remove the MCA parameter, it works. But, 
that's not with the MPI process distribution that I want. 
I am using OpenMPI 4.0.2. 

Any suggestion? 

Thanks, 
Vineet 


From: "users" <users@lists.open-mpi.org> 
To: "users" <users@lists.open-mpi.org> 
Cc: "Ralph Castain" <r...@open-mpi.org> 
Sent: Monday, 21 December, 2020 15:57:41 
Subject: Re: [OMPI users] MPMD hostfile: executables on same hosts 

You want to use the "sequential" mapper and then specify each proc's location, 
like this for your hostfile: 

host1 
host1 
host2 
host2 
host3 
host3 
host1 
host2 
host3 

and then add "--mca rmaps seq" to your mpirun cmd line. 

Ralph 





On Dec 21, 2020, at 5:22 AM, Vineet Soni via users < [ 
mailto:users@lists.open-mpi.org | users@lists.open-mpi.org ] > wrote: 

Hello, 

I'm having touble using the MPMD hostfile in which I want to place 2 
executables on the same nodes. 

For example, I can do this using Intel MPI by: 
$ mpirun -machine host-file -n 6 ./EXE1 : -n 3 ./EXE2 
$ cat host-file 
host1:2 
host2:2 
host3:2 
host1:1 
host2:1 
host3:1 

This would place 2 MPI processes of EXE1 and 1 MPI process of EXE2 on host1. 

However, I get an error if I define the same hostname twice in the hostfile of 
OpenMPI: 
$ mpirun -hostfile host-file -np 6 ./EXE1 : -np 3 ./EXE2 
$ cat host-file 
host1 slots=2 max_slots=3 
host2 slots=2 max_slots=3 
host3 slots=2 max_slots=3 
host1 slots=1 max_slots=3 
host2 slots=1 max_slots=3 
host3 slots=1 max_slots=3 

Is there a way to place both executables on the same hosts using a hostfile? 

Thanks in advance. 

Best, 
Vineet 





Reply via email to