lamssi_coll(7) | LAM SSI COLL OVERVIEW | lamssi_coll(7) |
lamssi_collectives - overview of LAM's MPI collective SSI modules
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:
LAM currently has three coll modules:
More collective modules are likely to be implemented in the future.
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 specified as attributes to a parent communicator.
Need to write much more here.
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.
The coll modules accept several parameters:
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 completed. 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.
July, 2007 | LAM 7.1.4 |