>> 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
>
>

Reply via email to