1
1
openmpi/ompi/mca/crcp/coord/crcp_coord.h
Josh Hursey d2ef0d445a Add some basic timing hooks so I can extract a few more detailed performance
numbers for tuning.

Switch the bookmark_recv to be non-blocking. If this is blocking then for
process counts >= 32 slight process delays were causing cascading performance
delays in the protocol. This lead to checkpoints either taking about 3 sec or
45 sec (or more) for 64 procs due to the cascading delays. With the nonblocking
receive version this is no longer the case we get the speedup we expect for this
part of the protocol.

More tuning to come.

This commit was SVN r16137.
2007-09-16 15:13:23 +00:00

73 строки
1.8 KiB
C

/*
* Copyright (c) 2004-2007 The Trustees of Indiana University.
* All rights reserved.
* Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
* All rights reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
/**
* @file
*
* Coord CRCP component
*
*/
#ifndef MCA_CRCP_COORD_EXPORT_H
#define MCA_CRCP_COORD_EXPORT_H
#include "ompi_config.h"
#include "opal/mca/mca.h"
#include "ompi/mca/crcp/crcp.h"
#include "ompi/communicator/communicator.h"
#include "orte/mca/ns/ns.h"
#include "opal/runtime/opal_cr.h"
#include "opal/threads/mutex.h"
#include "opal/threads/condition.h"
#include MCA_timer_IMPLEMENTATION_HEADER
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
/*
* Local Component structures
*/
struct ompi_crcp_coord_component_t {
ompi_crcp_base_component_t super; /** Base CRCP component */
};
typedef struct ompi_crcp_coord_component_t ompi_crcp_coord_component_t;
extern ompi_crcp_coord_component_t mca_crcp_coord_component;
/*
* Local variables
*/
extern bool timing_enabled;
/*
* Module functions
*/
ompi_crcp_base_module_1_0_0_t *
ompi_crcp_coord_component_query(int *priority);
int ompi_crcp_coord_module_init(void);
int ompi_crcp_coord_module_finalize(void);
int ompi_crcp_coord_pml_init(void);
int ompi_crcp_coord_pml_finalize(void);
#if defined(c_plusplus) || defined(__cplusplus)
}
#endif
#endif /* MCA_CRCP_COORD_EXPORT_H */