1
1

* some fixups for the cnos components

This commit was SVN r6637.
Этот коммит содержится в:
Brian Barrett 2005-07-28 00:11:09 +00:00
родитель a7a9196350
Коммит 93ddb4bf73
3 изменённых файлов: 55 добавлений и 8 удалений

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

@ -21,10 +21,7 @@
#include "mca/rml/base/base.h"
#include "rml_cnos.h"
#ifdef HAVE_CNOS
int cnos_barrier(void);
#endif
#include <catamount/cnos_mpi_os.h>
orte_rml_component_t mca_rml_cnos_component = {
/* 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;
*priority = 60;
return sds_cnos_module;
return &sds_cnos_module;
}

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

@ -17,10 +17,15 @@
#include "orte_config.h"
#include <catamount/cnos_mpi_os.h>
#include "include/orte_constants.h"
#include "mca/sds/sds.h"
#include "mca/sds/base/base.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_contact_universe,
@ -31,18 +36,63 @@ orte_sds_base_module_t sds_cnos_module = {
int
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
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
orte_sds_cnos_finalize(void)
{
return ORTE_ERR_NOT_IMPLEMENTED;
return ORTE_SUCCESS;
}