lamssi_coll man page on YellowDog

Man page or keyword search:  
man Server   18644 pages
apropos Keyword Search (all sections)
Output format
YellowDog logo
[printable version]

lamssi_coll(7)		     LAM SSI COLL OVERVIEW		lamssi_coll(7)

NAME
       LAM SSI collectives - overview of LAM's MPI collective SSI modules

DESCRIPTION
       The  "kind"  for	 collectives SSI modules is "coll".  Specifically, the
       string "coll" (without the quotes) is the prefix that  should  be  used
       with the mpirun command line with the -ssi switch.  For example:

       mpirun -ssi coll_base_crossover 4 C my_mpi_program

       LAM currently has three coll modules:

       lam_basic
	   A  full  implementation  of	MPI collectives on intracommunicators.
	   The algorithms are the same as were in the LAM 6.5 series.  Collec‐
	   tives  on intercommunicators are undefined, and will result in run-
	   time errors.

       impi
	   Collective functions for IMPI communicators.	 These are mostly  un-
	   implemented; only the basics exist: MPI_BARRIER and MPI_REDUCE.

       shmem
	   Shared memory collectives.

       smp SMP-aware  collectives  (based on the MagPIe algorithms).  The fol‐
	   lowing algorithms provide SMP-aware performance on multiprocessors:
	   MPI_ALLREDUCE, MPI_ALLTOALL, MPI_ALLTOALLV, MPI_BARRIER, MPI_BCAST,
	   MPI_GATHER, MPI_GATHERV, MPI_REDUCE, MPI_SCATTER, and MPI_SCATTERV.
	   Note	 that the reduction algorithms must be specifically enabled by
	   marking the operations as associative before	 they  will  be	 used.
	   All other MPI collectives will fall back to their lam_basic equiva‐
	   lents.

       More collective modules are likely to be implemented in the future.

COLL MODULE PARAMETERS
       In the discussion below, the parameters are discussed in terms of  kind
       and  value.   Unlike  other  SSI	 module	 kinds, since coll modules are
       selected on a per-communicator basis, the kind and value may be	speci‐
       fied as attributes to a parent communicator.

       Need to write much more here.

   Selecting a coll module
       coll  modules  are  selected  on	 a  per-communicator  basis.  They are
       selected when the communicator is created, and remain the  active  coll
       module  for the life of that communicator.  For example, different coll
       modules may be assigned to MPI_COMM_WORLD and MPI_COMM_SELF.   In  most
       cases  LAM/MPI  will  select  the  best coll module automatically.  For
       example, when a communicator spans multiple nodes and at least one node
       has  multiple  MPI  processes,  the  smp	 module	 will automatically be
       selected.

       However, the LAM_MPI_SSI_COLL keyval can be used to set an attribute on
       a  communicator	that  is  used	to  create  a  new  communicator.  The
       attribute should have the value of the string name of the  coll	module
       to  use.	  If  that module cannot be used, an MPI exception will occur.
       This attribute is only examined on the parent communicator when	a  new
       communicator is created.

   coll SSI Parameters
       The coll modules accept several parameters:

       coll_associative
	   Because of specific wording in the MPI standard, LAM/MPI can effec‐
	   tively not assume that any reduction operator  is  associative  (at
	   least,  not without additional overhead).  Hence, LAM/MPI relies on
	   the user to indicate that certain operations are  associative.   If
	   the	user sets the coll_associative SSI parameter to 1, LAM/MPI may
	   assume that the reduction operator is assocative, and may  be  able
	   to  optimize	 the overall reduction operation.  If it is 0 or unde‐
	   fined, LAM/MPI will assume that  the	 reduction  operation  is  not
	   associative, and will use strict linear ordering of reduction oper‐
	   ations (regardless of data locality).  This	attribute  is  checked
	   every  time a reduction operator is invoked.	 The User's Guide con‐
	   tains more information on this topic.

       coll_crossover
	   This parameter determines the maximum number of processes in a com‐
	   municator  that  will use linear algorithms.	 This SSI parameter is
	   only checked during MPI_INIT.

       coll_reduce_crossover
	   During reduction operations, it makes sense to use  the  number  of
	   bytes  to  be  transferred rather than the number of processes as a
	   metric whether to use linear or logrithmic algorithms.  This param‐
	   eter	 indicates  the	 maxmimum number of bytes to be transferred by
	   each process by a linear algorithm.	This  SSI  parameter  is  only
	   checked during MPI_INIT.

   Notes on the smp coll Module
       The smp coll module is based on the algorithms from the MagPIe project.
       It is not yet complete; there are still more  algorithms	 that  can  be
       optmized for SMP-aware execution -- by the time that LAM/MPI was frozen
       in preparation for release, only some of the algorithms had  been  com‐
       pleted.	 It is expected that future versions of LAM/MPI will have more
       SMP-optimized algorithms.

       The User's Guide contains much more detail about the  smp  module.   In
       particular,  the	 coll_associative SSI parameter must be 1 for the SMP-
       aware reduction algorithms to be used.  If it is 0  or  undefined,  the
       corresponding  lam_basic algorithms will be used.  The coll_associative
       attribute is checked at every invocation of the reduction algorithms.

SEE ALSO
       lamssi(7), mpirun(1), LAM User's Guide

LAM 7.1.2			  March, 2006			lamssi_coll(7)
[top]

List of man pages available for YellowDog

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net