168 строки
4.1 KiB
C
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
|
|
******************/
|