git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@7299 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
@ -13,15 +13,27 @@
|
||||
</H3>
|
||||
<P><B>Syntax:</B>
|
||||
</P>
|
||||
<PRE>processors Px Py Pz
|
||||
<PRE>processors Px Py Pz keyword args ...
|
||||
</PRE>
|
||||
<UL><LI>Px,Py,Pz = # of processors in each dimension of a 3d grid
|
||||
|
||||
<LI>zero or more keyword/arg pairs may be appended
|
||||
|
||||
<LI>keyword = <I>part</I>
|
||||
|
||||
<PRE> <I>part</I> args = Psend Precv cstyle
|
||||
Psend = partition # (1 to Np) which will send its processor layout
|
||||
Precv = partition # (1 to Np) which will recv the processor layout
|
||||
cstyle = <I>multiple</I>
|
||||
<I>multiple</I> = Psend layout will be multiple of Precv layout in each dimension
|
||||
</PRE>
|
||||
|
||||
</UL>
|
||||
<P><B>Examples:</B>
|
||||
</P>
|
||||
<PRE>processors 2 4 4
|
||||
processors * * 5
|
||||
processors * 1 10
|
||||
processors * * * part 1 2 multiple
|
||||
</PRE>
|
||||
<P><B>Description:</B>
|
||||
</P>
|
||||
@ -52,6 +64,52 @@ section</A> for an explanation of the
|
||||
grid such as 1 x P x 1 will be required, which may incur extra
|
||||
communication costs.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<P>The <I>part</I> keyword can be useful when running in multi-partition mode,
|
||||
e.g. with the <A HREF = "run_style.html<A HREF = "Section_start.html#start_6">-partition">>run_style verlet/split</A> command. It
|
||||
specifies a dependency bewteen a sending partition <I>Psend</I> and a
|
||||
receiving partition <I>Precv</I> which is enforced when each is setting up
|
||||
their own mapping of the partitions processors to the simulation box.
|
||||
Each of <I>Psend</I> and <I>Precv</I> must be integers from 1 to Np, where Np is
|
||||
the number of partitions you have defined via the <A HREF = </A>
|
||||
command-line switch</A>.
|
||||
</P>
|
||||
<P>A "dependency" means that the sending partition will create its 3d
|
||||
logical grid as Px by Py by Pz and after it has done this, it will
|
||||
send the Px,Py,Pz values to the receiving partition. The receiving
|
||||
partition will wait to receive these values before creating its own 3d
|
||||
logical grid and will use the sender's Px,Py,Pz values as a
|
||||
constraint. The nature of the constraint is determined by the
|
||||
<I>cstyle</I> argument.
|
||||
</P>
|
||||
<P>For a <I>cstyle</I> of <I>multiple</I>, each dimension of the sender's processor
|
||||
grid is required to be an integer multiple of the corresponding
|
||||
dimension in the receiver's processor grid. This is a requirement of
|
||||
the <A HREF = "run_style.html">run_style verlet/split</A> command.
|
||||
</P>
|
||||
<P>For example, assume the sending partition creates a 4x6x10 grid = 240
|
||||
processor grid. If the receiving partition is running on 80
|
||||
processors, it could create a 4x2x10 grid, but it will not create a
|
||||
2x4x10 grid, since in the y-dimension, 6 is not an integer multiple of
|
||||
4.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<P>Note that you can use the <A HREF = "partition.html">partition</A> command to
|
||||
specify different processor grids for different partitions, e.g.
|
||||
</P>
|
||||
<PRE>partition yes 1 processors 4 4 4
|
||||
partition yes 2 processors 2 3 2
|
||||
</PRE>
|
||||
<P>IMPORTANT NOTE: If you use the <A HREF = "partition.html">partition</A> command to
|
||||
invoke different "processsors" commands on different partitions, and
|
||||
you also use the <I>part</I> keyword, then you must insure that both the
|
||||
sending and receiving partitions invoke the "processors" command that
|
||||
connects the 2 partitions via the <I>part</I> keyword. LAMMPS cannot
|
||||
easily check for this, but your simulation will likely hang in its
|
||||
setup phase if this error has been made.
|
||||
</P>
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>This command cannot be used after the simulation box is defined by a
|
||||
|
||||
@ -10,15 +10,23 @@ processors command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
processors Px Py Pz :pre
|
||||
processors Px Py Pz keyword args ... :pre
|
||||
|
||||
Px,Py,Pz = # of processors in each dimension of a 3d grid :ul
|
||||
Px,Py,Pz = # of processors in each dimension of a 3d grid :ulb,l
|
||||
zero or more keyword/arg pairs may be appended :l
|
||||
keyword = {part} :l
|
||||
{part} args = Psend Precv cstyle
|
||||
Psend = partition # (1 to Np) which will send its processor layout
|
||||
Precv = partition # (1 to Np) which will recv the processor layout
|
||||
cstyle = {multiple}
|
||||
{multiple} = Psend layout will be multiple of Precv layout in each dimension :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
processors 2 4 4
|
||||
processors * * 5
|
||||
processors * 1 10 :pre
|
||||
processors * * * part 1 2 multiple :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
@ -49,6 +57,52 @@ Note that if you run on a large, prime number of processors P, then a
|
||||
grid such as 1 x P x 1 will be required, which may incur extra
|
||||
communication costs.
|
||||
|
||||
:line
|
||||
|
||||
The {part} keyword can be useful when running in multi-partition mode,
|
||||
e.g. with the "run_style verlet/split"_run_style.html command. It
|
||||
specifies a dependency bewteen a sending partition {Psend} and a
|
||||
receiving partition {Precv} which is enforced when each is setting up
|
||||
their own mapping of the partitions processors to the simulation box.
|
||||
Each of {Psend} and {Precv} must be integers from 1 to Np, where Np is
|
||||
the number of partitions you have defined via the "-partition
|
||||
command-line switch"__Section_start.html#start_6.
|
||||
|
||||
A "dependency" means that the sending partition will create its 3d
|
||||
logical grid as Px by Py by Pz and after it has done this, it will
|
||||
send the Px,Py,Pz values to the receiving partition. The receiving
|
||||
partition will wait to receive these values before creating its own 3d
|
||||
logical grid and will use the sender's Px,Py,Pz values as a
|
||||
constraint. The nature of the constraint is determined by the
|
||||
{cstyle} argument.
|
||||
|
||||
For a {cstyle} of {multiple}, each dimension of the sender's processor
|
||||
grid is required to be an integer multiple of the corresponding
|
||||
dimension in the receiver's processor grid. This is a requirement of
|
||||
the "run_style verlet/split"_run_style.html command.
|
||||
|
||||
For example, assume the sending partition creates a 4x6x10 grid = 240
|
||||
processor grid. If the receiving partition is running on 80
|
||||
processors, it could create a 4x2x10 grid, but it will not create a
|
||||
2x4x10 grid, since in the y-dimension, 6 is not an integer multiple of
|
||||
4.
|
||||
|
||||
:line
|
||||
|
||||
Note that you can use the "partition"_partition.html command to
|
||||
specify different processor grids for different partitions, e.g.
|
||||
|
||||
partition yes 1 processors 4 4 4
|
||||
partition yes 2 processors 2 3 2 :pre
|
||||
|
||||
IMPORTANT NOTE: If you use the "partition"_partition.html command to
|
||||
invoke different "processsors" commands on different partitions, and
|
||||
you also use the {part} keyword, then you must insure that both the
|
||||
sending and receiving partitions invoke the "processors" command that
|
||||
connects the 2 partitions via the {part} keyword. LAMMPS cannot
|
||||
easily check for this, but your simulation will likely hang in its
|
||||
setup phase if this error has been made.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This command cannot be used after the simulation box is defined by a
|
||||
|
||||
Reference in New Issue
Block a user