parallel processing - When can an application be catalogued as MPMD? -
i understand when execute 2 different binaries working in same problem have multiple program multiple data application.
what's difference between , binary assigning different work processes depending on rank (using if-else discriminate)?
from faq of open-mpi:
...mpirun , mpiexec commands support multiple program, multiple data (mpmd) style launches, either command line... launch single parallel application, first 2 processes instances of a.out executable, , second 2 processes instances of b.out executable. in mpi terms, a single mpi_comm_world, but a.out processes ranks 0 , 1 in mpi_comm_world, while b.out processes ranks 2 , 3 in mpi_comm_world.
even wikipedia cannot still make mind:
single program, multiple data streams (spmd)
multiple autonomous processors simultaneously executing same program (but @ independent points, rather in lockstep simd imposes) on different data ...
multiple programs, multiple data streams (mpmd)
multiple autonomous processors simultaneously operating @ least 2 independent programs. typically such systems pick one node "host" ("the explicit host/node programming model") or "manager" (the "manager/worker" strategy), which runs 1 program farms out data other nodes run second program.
so, if have single code following scheme rank 0 producer (and be) , rest of ranks process data, kind of application have? not processes executing same, have binary.
what's more, if split code in 2 binaries, 1 producer , other consumers, change type of application?
thank you.
Comments
Post a Comment