1
1
openmpi/ompi/mca/crcp/bkmrk/crcp_bkmrk_module.c
2015-06-23 20:59:57 -07:00

168 строки
4.1 KiB
C

/*
* Copyright (c) 2004-2010 The Trustees of Indiana University.
* All rights reserved.
* Copyright (c) 2004-2011 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$
*/
#include "ompi_config.h"
#include <sys/types.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif /* HAVE_UNIST_H */
#include "ompi/mca/mca.h"
#include "opal/mca/base/base.h"
#include "opal/util/output.h"
#include "opal/util/opal_environ.h"
#include "ompi/mca/crcp/crcp.h"
#include "ompi/mca/crcp/base/base.h"
#include "crcp_bkmrk.h"
#include "crcp_bkmrk_pml.h"
/*
* Coord module
*/
static ompi_crcp_base_module_t loc_module = {
/** Initialization Function */
ompi_crcp_bkmrk_module_init,
/** Finalization Function */
ompi_crcp_bkmrk_module_finalize,
/** Quiesce interface */
ompi_crcp_bkmrk_quiesce_start,
ompi_crcp_bkmrk_quiesce_end,
/** PML Wrapper */
NULL, /* ompi_crcp_bkmrk_pml_enable, */
NULL, /* ompi_crcp_bkmrk_pml_add_comm, */
NULL, /* ompi_crcp_bkmrk_pml_del_comm, */
ompi_crcp_bkmrk_pml_add_procs,
ompi_crcp_bkmrk_pml_del_procs,
NULL, /* ompi_crcp_bkmrk_pml_progress, */
ompi_crcp_bkmrk_pml_iprobe,
ompi_crcp_bkmrk_pml_probe,
ompi_crcp_bkmrk_pml_isend_init,
ompi_crcp_bkmrk_pml_isend,
ompi_crcp_bkmrk_pml_send,
ompi_crcp_bkmrk_pml_irecv_init,
ompi_crcp_bkmrk_pml_irecv,
ompi_crcp_bkmrk_pml_recv,
ompi_crcp_bkmrk_pml_dump,
ompi_crcp_bkmrk_pml_start,
ompi_crcp_bkmrk_pml_ft_event,
/* Request Functions */
ompi_crcp_bkmrk_request_complete,
/* BTL Wrapper Functions */
NULL, /* btl_add_procs */
NULL, /* btl_del_procs */
NULL, /* btl_register */
NULL, /* btl_finalize */
NULL, /* btl_alloc */
NULL, /* btl_free */
NULL, /* btl_prepare_src */
NULL, /* btl_prepare_dst */
NULL, /* btl_send */
NULL, /* btl_put */
NULL, /* btl_get */
NULL, /* btl_dump */
NULL /* btl_ft_event */
};
/************************************
* Locally Global vars & functions :)
************************************/
/************************
* Function Definitions
************************/
/*
* MCA Functions
*/
int ompi_crcp_bkmrk_component_query(mca_base_module_t **module, int *priority)
{
opal_output_verbose(10, mca_crcp_bkmrk_component.super.output_handle,
"crcp:bkmrk: component_query()");
*priority = mca_crcp_bkmrk_component.super.priority;
*module = (mca_base_module_t *)&loc_module;
return OMPI_SUCCESS;
}
int ompi_crcp_bkmrk_module_init(void)
{
opal_output_verbose(10, mca_crcp_bkmrk_component.super.output_handle,
"crcp:bkmrk: module_init()");
ompi_crcp_bkmrk_pml_init();
return OMPI_SUCCESS;
}
int ompi_crcp_bkmrk_module_finalize(void)
{
opal_output_verbose(10, mca_crcp_bkmrk_component.super.output_handle,
"crcp:bkmrk: module_finalize()");
ompi_crcp_bkmrk_pml_finalize();
return OMPI_SUCCESS;
}
int ompi_crcp_bkmrk_quiesce_start(MPI_Info *info)
{
OPAL_OUTPUT_VERBOSE((10, mca_crcp_bkmrk_component.super.output_handle,
"crcp:bkmrk: quiesce_start(--)"));
#if 0
if( OMPI_SUCCESS != (ret = ompi_crcp_bkmrk_pml_quiesce_start(QUIESCE_TAG_CKPT)) ) {
;
}
return OMPI_SUCCESS;
#else
return OMPI_ERR_NOT_IMPLEMENTED;
#endif
}
int ompi_crcp_bkmrk_quiesce_end(MPI_Info *info)
{
OPAL_OUTPUT_VERBOSE((10, mca_crcp_bkmrk_component.super.output_handle,
"crcp:bkmrk: quiesce_end(--)"));
#if 0
if( OMPI_SUCCESS != (ret = ompi_crcp_bkmrk_pml_quiesce_end(QUIESCE_TAG_CONTINUE) ) ) {
;
}
return OMPI_SUCCESS;
#else
return OMPI_ERR_NOT_IMPLEMENTED;
#endif
}
/******************
* Local functions
******************/