* some fixups for the cnos components
This commit was SVN r6637.
Этот коммит содержится в:
родитель
a7a9196350
Коммит
93ddb4bf73
@ -21,10 +21,7 @@
|
|||||||
#include "mca/rml/base/base.h"
|
#include "mca/rml/base/base.h"
|
||||||
#include "rml_cnos.h"
|
#include "rml_cnos.h"
|
||||||
|
|
||||||
#ifdef HAVE_CNOS
|
#include <catamount/cnos_mpi_os.h>
|
||||||
int cnos_barrier(void);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
orte_rml_component_t mca_rml_cnos_component = {
|
orte_rml_component_t mca_rml_cnos_component = {
|
||||||
/* First, the mca_base_component_t struct containing meta
|
/* First, the mca_base_component_t struct containing meta
|
||||||
|
@ -85,7 +85,7 @@ orte_sds_cnos_component_init(int *priority)
|
|||||||
if (NULL != mode) return NULL;
|
if (NULL != mode) return NULL;
|
||||||
|
|
||||||
*priority = 60;
|
*priority = 60;
|
||||||
return sds_cnos_module;
|
return &sds_cnos_module;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -17,10 +17,15 @@
|
|||||||
|
|
||||||
#include "orte_config.h"
|
#include "orte_config.h"
|
||||||
|
|
||||||
|
#include <catamount/cnos_mpi_os.h>
|
||||||
|
|
||||||
#include "include/orte_constants.h"
|
#include "include/orte_constants.h"
|
||||||
#include "mca/sds/sds.h"
|
#include "mca/sds/sds.h"
|
||||||
#include "mca/sds/base/base.h"
|
#include "mca/sds/base/base.h"
|
||||||
#include "mca/sds/cnos/sds_cnos.h"
|
#include "mca/sds/cnos/sds_cnos.h"
|
||||||
|
#include "util/proc_info.h"
|
||||||
|
#include "mca/ns/base/base.h"
|
||||||
|
#include "mca/errmgr/base/base.h"
|
||||||
|
|
||||||
orte_sds_base_module_t sds_cnos_module = {
|
orte_sds_base_module_t sds_cnos_module = {
|
||||||
orte_sds_base_contact_universe,
|
orte_sds_base_contact_universe,
|
||||||
@ -31,18 +36,63 @@ orte_sds_base_module_t sds_cnos_module = {
|
|||||||
int
|
int
|
||||||
orte_sds_cnos_contact_universe(void)
|
orte_sds_cnos_contact_universe(void)
|
||||||
{
|
{
|
||||||
return ORTE_ERR_NOT_IMPLEMENTED;
|
orte_process_info.seed = false;
|
||||||
|
|
||||||
|
/* since we are seed, ensure that all replica info is NULL'd */
|
||||||
|
if (NULL != orte_process_info.ns_replica_uri) {
|
||||||
|
free(orte_process_info.ns_replica_uri);
|
||||||
|
orte_process_info.ns_replica_uri = NULL;
|
||||||
|
}
|
||||||
|
if (NULL != orte_process_info.ns_replica) {
|
||||||
|
free(orte_process_info.ns_replica);
|
||||||
|
orte_process_info.ns_replica = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (NULL != orte_process_info.gpr_replica_uri) {
|
||||||
|
free(orte_process_info.gpr_replica_uri);
|
||||||
|
orte_process_info.gpr_replica_uri = NULL;
|
||||||
|
}
|
||||||
|
if (NULL != orte_process_info.gpr_replica) {
|
||||||
|
free(orte_process_info.gpr_replica);
|
||||||
|
orte_process_info.gpr_replica = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
return OMPI_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
orte_sds_cnos_set_name(void)
|
orte_sds_cnos_set_name(void)
|
||||||
{
|
{
|
||||||
return ORTE_ERR_NOT_IMPLEMENTED;
|
int rc;
|
||||||
|
orte_cellid_t cellid;
|
||||||
|
orte_jobid_t jobid;
|
||||||
|
orte_vpid_t vpid;
|
||||||
|
|
||||||
|
/* Get our process information
|
||||||
|
*
|
||||||
|
* we're going to make up the cellid and jobid. find our vpid,
|
||||||
|
* assuming range starts at 0
|
||||||
|
*/
|
||||||
|
cellid = 0;
|
||||||
|
jobid = 1; /* not 0, since it has special meaning */
|
||||||
|
vpid = (orte_vpid_t) cnos_get_rank();
|
||||||
|
if (ORTE_SUCCESS != (rc = orte_ns.create_process_name(&(orte_process_info.my_name),
|
||||||
|
cellid,
|
||||||
|
jobid,
|
||||||
|
vpid))) {
|
||||||
|
ORTE_ERROR_LOG(rc);
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
|
orte_process_info.vpid_start = (orte_vpid_t) 0;
|
||||||
|
orte_process_info.num_procs = (size_t) cnos_get_size();
|
||||||
|
|
||||||
|
return ORTE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
orte_sds_cnos_finalize(void)
|
orte_sds_cnos_finalize(void)
|
||||||
{
|
{
|
||||||
return ORTE_ERR_NOT_IMPLEMENTED;
|
return ORTE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user