1
1

add comments about the life-cycle of a collective module.

This commit was SVN r17223.
Этот коммит содержится в:
Rich Graham 2008-01-25 03:46:31 +00:00
родитель ddcfc78f52
Коммит 432ba0cecd

Просмотреть файл

@ -10,6 +10,7 @@
* Copyright (c) 2004-2005 The Regents of the University of California. * Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved. * All rights reserved.
* Copyright (c) 2007 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2007 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2007-2008 UT-Battelle, LLC
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -27,15 +28,23 @@
* handler invocation, but the collective components provide all other * handler invocation, but the collective components provide all other
* functionality. * functionality.
* *
* Component selection is per communicator (ie, comm_query will be * Component selection is done per commuicator, at Communicator
* called once per communicator when the communicator is called). * construction time. mca_coll_base_comm_select() is used to
* During the call to coll_enable(), components are ordered by * create the list of components available to the compoenent
* priority and functions are copied form the highest available * collm_comm_query function, instantiating a module for each
* component then the next highest and so on until all functions are * component that i usable, and sets the module collective function pointers.
* available. This selection process is detailed during comm_query() * mca_coll_base_comm_select() then loops through the list of available
* and comm_enable() and can result in up to N different components * components (via the instantiated module), and uses the
* being used for a single communicator, one per needed collective * module's coll_module_enable() function to enable the modules, and
* function. * if successful, sets the communicator collective functions to the
* those supplied by the given module, keeping track of which module it
* is associated with.
*
* The module destructors are called for each module used by the
* communicator, at communicator desctruction time.
*
* This can result in up to N different components being used for a
* single communicator, one per needed collective function.
* *
* The interface is the same for inter- or intra-communicators, and * The interface is the same for inter- or intra-communicators, and
* components should be able to handle either style of communicator * components should be able to handle either style of communicator