>> Core(s) per socket: 8 > "4. If none of a hostfile, the --host command line parameter, or an RM is > present, Open MPI defaults to the number of processor cores"
Have you tried -np 8? On Sun, Nov 8, 2020 at 12:25 AM Paul Cizmas via users < users@lists.open-mpi.org> wrote: > Gilles: > > Thank you for your reply. Unfortunately, it did not quite help me. > > As I said in my e-mail, I can run this on a Mac by only specifying > > $mympirun -np 12 $exe input1 > > without worrying about “slots”. > > So, my questions are: > > 1. Why do I need “slot” on the Linux? > > 2. Is there a relation between slots, sockets, cores and threads? The > workstation has 1 socket, 8 cores per socket and 2 threads per core, or 16 > CPUs. How many slots are there? > > 3. If I need to specify “slot”, what is the syntax? > > I tried: > > $mympirun -np 12 slots=12 $exe input1 > > and got: > ====================================================== > No protocol specified > -------------------------------------------------------------------------- > There are not enough slots available in the system to satisfy the 12 > slots that were requested by the application: > > slots=12 > > Either request fewer slots for your application, or make more slots > available for use. > ====================================================== > Finally, I made it work by using > > $mympirun -np 12 --use-hwthread-cpus $exe input1 > > and ignored all the slot options, so I missed the chance to learn about > slots. > > I did not find an example on how to specify the “slot” although the > message lists four options - four options but zero examples. > > Thank you, > Paul > > > On Nov 7, 2020, at 8:23 PM, Gilles Gouaillardet via users < > users@lists.open-mpi.org> wrote: > > > > Paul, > > > > a "slot" is explicitly defined in the error message you copy/pasted: > > > > "If none of a hostfile, the --host command line parameter, or an RM is > > present, Open MPI defaults to the number of processor cores" > > > > The error message also lists 4 ways on how you can move forward, but > > you should first ask yourself if you really want to run 12 MPI tasks > > on your machine. > > > > Cheers, > > > > Gilles > > > > On Sun, Nov 8, 2020 at 11:14 AM Paul Cizmas via users > > <users@lists.open-mpi.org> wrote: > >> > >> Hello: > >> > >> I just installed OpenMPI 4.0.5 on a Linux machine running Pop!_OS (made > by System76). The workstation has the following architecture: > >> > >> Architecture: x86_64 > >> CPU op-mode(s): 32-bit, 64-bit > >> Byte Order: Little Endian > >> Address sizes: 39 bits physical, 48 bits virtual > >> CPU(s): 16 > >> On-line CPU(s) list: 0-15 > >> Thread(s) per core: 2 > >> Core(s) per socket: 8 > >> Socket(s): 1 > >> NUMA node(s): 1 > >> Vendor ID: GenuineIntel > >> CPU family: 6 > >> > >> I am trying to run on the Linux box a code that I usually run on a Mac > OS without any issues. > >> > >> The script that I use is: > >> > >> exe='/usr/bin/mycode' # on jp2 > >> mympirun='/opt/openmpi/4.0.5/bin/mpirun' # GFortran on jp2 > >> $mympirun -np 12 $exe input1 > >> > >> I get the following error: > >> ==================================================== > >> No protocol specified > >> > -------------------------------------------------------------------------- > >> There are not enough slots available in the system to satisfy the 12 > >> slots that were requested by the application: > >> > >> /usr/bin/mycode > >> > >> Either request fewer slots for your application, or make more slots > >> available for use. > >> > >> A "slot" is the Open MPI term for an allocatable unit where we can > >> launch a process. The number of slots available are defined by the > >> environment in which Open MPI processes are run: > >> > >> 1. Hostfile, via "slots=N" clauses (N defaults to number of > >> processor cores if not provided) > >> 2. The --host command line parameter, via a ":N" suffix on the > >> hostname (N defaults to 1 if not provided) > >> 3. Resource manager (e.g., SLURM, PBS/Torque, LSF, etc.) > >> 4. If none of a hostfile, the --host command line parameter, or an > >> RM is present, Open MPI defaults to the number of processor cores > >> > >> In all the above cases, if you want Open MPI to default to the number > >> of hardware threads instead of the number of processor cores, use the > >> --use-hwthread-cpus option. > >> > >> Alternatively, you can use the --oversubscribe option to ignore the > >> number of available slots when deciding the number of processes to > >> launch. > >> ======================================================= > >> > >> I do not understand “slots”. The architecture description of my Linux > box lists sockets, cores and threads, but not slots. > >> > >> What shall I specify instead of "-np 12”? > >> > >> Thank you, > >> Paul > >