- mods to support daemon command line parameters
- check return value correctly when posting non-blocking recvs - use any values that have been set in the global structs as the defaults when registering mca parameters - this prevents any values that have been set in the structs from the command line parser from being overwritten This commit was SVN r5011.
Этот коммит содержится в:
родитель
1f6b5be155
Коммит
805095986c
@ -35,6 +35,7 @@
|
||||
#include "mca/errmgr/errmgr.h"
|
||||
#include "mca/oob/oob_types.h"
|
||||
#include "mca/rml/rml.h"
|
||||
#include "mca/errmgr/errmgr.h"
|
||||
|
||||
#include "gpr_proxy.h"
|
||||
|
||||
@ -249,7 +250,13 @@ orte_gpr_proxy_component_init(bool *allow_multi_user_threads, bool *have_hidden_
|
||||
int orte_gpr_proxy_module_init(void)
|
||||
{
|
||||
/* issue the non-blocking receive */
|
||||
return orte_rml.recv_buffer_nb(ORTE_RML_NAME_ANY, ORTE_RML_TAG_GPR_NOTIFY, 0, orte_gpr_proxy_notify_recv, NULL);
|
||||
int rc;
|
||||
rc = orte_rml.recv_buffer_nb(ORTE_RML_NAME_ANY, ORTE_RML_TAG_GPR_NOTIFY, 0, orte_gpr_proxy_notify_recv, NULL);
|
||||
if(rc < 0) {
|
||||
ORTE_ERROR_LOG(rc);
|
||||
return rc;
|
||||
}
|
||||
return ORTE_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
|
@ -251,7 +251,7 @@ int orte_gpr_replica_add_values(orte_gpr_notify_data_t **data,
|
||||
orte_gpr_replica_subscribed_data_t *sptr)
|
||||
{
|
||||
int i, rc, j, k, n, m, matches, num_tokens, num_keys, cnt;
|
||||
orte_gpr_value_t **values, **data_values;
|
||||
orte_gpr_value_t **values = NULL, **data_values;
|
||||
orte_gpr_keyval_t **kptr;
|
||||
|
||||
/* get the data off the registry */
|
||||
@ -403,10 +403,9 @@ MOVEON:
|
||||
}
|
||||
OBJ_RELEASE(values[i]);
|
||||
} /* for i */
|
||||
if (NULL != values) {
|
||||
free(values);
|
||||
}
|
||||
|
||||
if (NULL != values) {
|
||||
free(values);
|
||||
}
|
||||
return ORTE_SUCCESS;
|
||||
}
|
||||
|
||||
|
@ -34,6 +34,7 @@
|
||||
#include "gpr_replica.h"
|
||||
#include "mca/gpr/replica/api_layer/gpr_replica_api.h"
|
||||
#include "mca/gpr/replica/communications/gpr_replica_comm.h"
|
||||
#include "mca/errmgr/errmgr.h"
|
||||
|
||||
|
||||
/*
|
||||
@ -547,7 +548,11 @@ int orte_gpr_replica_module_init(void)
|
||||
{
|
||||
/* issue the non-blocking receive */
|
||||
if (!orte_gpr_replica_globals.isolate) {
|
||||
return orte_rml.recv_buffer_nb(ORTE_RML_NAME_ANY, ORTE_RML_TAG_GPR, 0, orte_gpr_replica_recv, NULL);
|
||||
int rc = orte_rml.recv_buffer_nb(ORTE_RML_NAME_ANY, ORTE_RML_TAG_GPR, 0, orte_gpr_replica_recv, NULL);
|
||||
if(rc < 0) {
|
||||
ORTE_ERROR_LOG(rc);
|
||||
return rc;
|
||||
}
|
||||
}
|
||||
return ORTE_SUCCESS;
|
||||
}
|
||||
|
@ -234,12 +234,18 @@ mca_ns_base_module_t* orte_ns_replica_init(int *priority)
|
||||
|
||||
int orte_ns_replica_module_init(void)
|
||||
{
|
||||
int rc;
|
||||
if (orte_ns_replica_isolate) {
|
||||
return ORTE_SUCCESS;
|
||||
}
|
||||
|
||||
/* issue non-blocking receive for call_back function */
|
||||
return orte_rml.recv_buffer_nb(ORTE_RML_NAME_ANY, ORTE_RML_TAG_NS, 0, orte_ns_replica_recv, NULL);
|
||||
rc = orte_rml.recv_buffer_nb(ORTE_RML_NAME_ANY, ORTE_RML_TAG_NS, 0, orte_ns_replica_recv, NULL);
|
||||
if(rc < 0) {
|
||||
ORTE_ERROR_LOG(rc);
|
||||
return rc;
|
||||
}
|
||||
return ORTE_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,25 +0,0 @@
|
||||
#
|
||||
# Copyright (c) 2004-2005 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$
|
||||
#
|
||||
|
||||
include $(top_ompi_srcdir)/config/Makefile.options
|
||||
|
||||
AM_CPPFLAGS = -I$(top_ompi_builddir)/src/include
|
||||
|
||||
noinst_LTLIBRARIES = libmca_pls_bproc_proxy.la
|
||||
libmca_pls_bproc_proxy_la_SOURCES = \
|
||||
pls_bproc_proxy.h \
|
||||
pls_bproc_proxy.c \
|
||||
pls_bproc_proxy_component.c
|
@ -1,22 +0,0 @@
|
||||
# -*- shell-script -*-
|
||||
#
|
||||
# Copyright (c) 2004-2005 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$
|
||||
#
|
||||
|
||||
# Specific to this module
|
||||
|
||||
PARAM_INIT_FILE=pls_bproc_proxy.c
|
||||
PARAM_CONFIG_HEADER_FILE="pls_bproc_proxy_config.h"
|
||||
PARAM_CONFIG_FILES="Makefile"
|
@ -1,116 +0,0 @@
|
||||
# -*- shell-script -*-
|
||||
#
|
||||
# Copyright (c) 2004-2005 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$
|
||||
#
|
||||
|
||||
#
|
||||
# Main function. This will be invoked in the middle of the templated
|
||||
# configure script.
|
||||
#
|
||||
AC_DEFUN([MCA_CONFIGURE_STUB],[
|
||||
#
|
||||
# Make a best effort to see if we are on a BPROC system. Also allow
|
||||
# user to specify location to the bproc prefix, which will work just as
|
||||
# well :).
|
||||
#
|
||||
|
||||
OMPI_HAVE_BPROC=0
|
||||
BPROC_LDFLAGS=""
|
||||
|
||||
#
|
||||
AC_ARG_WITH(bproc,
|
||||
AC_HELP_STRING([--with-bproc=DIR],
|
||||
[directory where the bproc software was installed]))
|
||||
|
||||
|
||||
#
|
||||
# Case 1: --without-bproc specified - overrides autodetect
|
||||
#
|
||||
if test "$with_bproc" = "no"; then
|
||||
OMPI_HAVE_BPROC=0
|
||||
|
||||
#
|
||||
# Case 2: --with-bproc specified - look in generic places for bproc libs
|
||||
#
|
||||
elif test "$with_bproc" = "yes"; then
|
||||
# See if we can find the bproc libraries...
|
||||
LIBS_save="$LIBS"
|
||||
AC_CHECK_LIB(bproc, bproc_numnodes,
|
||||
OMPI_HAVE_BPROC=1,
|
||||
AC_MSG_ERROR([*** Connot find working libbproc.]))
|
||||
LIBS="$LIBS_save"
|
||||
|
||||
#
|
||||
# Case 3: nothing specified - if it is there, go with it. If not, don't :)
|
||||
#
|
||||
elif test -z "$with_bproc"; then
|
||||
LIBS_save="$LIBS"
|
||||
AC_CHECK_LIB(bproc, bproc_numnodes, OMPI_HAVE_BPROC=1)
|
||||
LIBS="$LIBS_save"
|
||||
|
||||
#
|
||||
# Case 4: --with-bproc=<foo> specified - try where they said to find it
|
||||
#
|
||||
else
|
||||
BPROC_DIR=$with_bproc
|
||||
|
||||
if test -n "$BPROC_DIR"; then
|
||||
# Make the tests work...
|
||||
OLDLDFLAGS="$LDFLAGS"
|
||||
OLDCPPFLAGS="$CPPFLAGS"
|
||||
BPROC_LDFLAGS="-L$BPROC_DIR/lib"
|
||||
LDFLAGS="$LDFLAGS $BPROC_LDFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS -I$BPROC_DIR/include"
|
||||
LIBS_save="$LIBS"
|
||||
|
||||
AC_CHECK_LIB(bproc, bproc_numnodes, OMPI_HAVE_BPROC=1,
|
||||
AC_MSG_ERROR([*** Cannot find working libbproc.]))
|
||||
|
||||
# Since we are going to add the -L and -l to LIBOMPI_EXTRA_LIBS,
|
||||
# we reset this to the start ...
|
||||
LDFLAGS="$OLDLDFLAGS"
|
||||
CPPFLAGS="$OLDCPPFLAGS"
|
||||
LIBS="$LIBS_save"
|
||||
|
||||
else
|
||||
AC_CHECK_LIB(bproc, bproc_numnodes, OMPI_HAVE_BPROC=1,
|
||||
AC_MSG_ERROR([*** Cannot find working libbproc.]))
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING([if want BPROC support])
|
||||
|
||||
if test "$OMPI_HAVE_BPROC" = "1"; then
|
||||
|
||||
AC_MSG_RESULT([yes])
|
||||
#
|
||||
# Ok, we have bproc support. Add proper things to the various
|
||||
# compiler flags..
|
||||
#
|
||||
WRAPPER_EXTRAN_LDFLAGS="$BPROC_LDFLAGS"
|
||||
WRAPPER_EXTRA_LIBS="-lbproc"
|
||||
LIBS="-lbproc"
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
AC_MSG_ERROR([*** Connot find working libbproc.])
|
||||
LAM_HAVE_BPROC3_API=0
|
||||
fi
|
||||
|
||||
AC_DEFINE_UNQUOTED(OMPI_HAVE_BPROC, $OMPI_HAVE_BPROC,
|
||||
[Whether we have bproc support or not])
|
||||
|
||||
# Clean up
|
||||
unset BPROC_LDFLAGS
|
||||
])dnl
|
@ -1,54 +0,0 @@
|
||||
/* -*- C -*-
|
||||
*
|
||||
* Copyright (c) 2004-2005 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$
|
||||
*
|
||||
*/
|
||||
|
||||
#include "ompi_config.h"
|
||||
|
||||
|
||||
#include "mca/ns/base/base.h"
|
||||
#include "mca/pls/base/base.h"
|
||||
#include "pls_bproc_proxy.h"
|
||||
|
||||
|
||||
int orte_pls_bproc_proxy_launch(orte_jobid_t jobid)
|
||||
{
|
||||
return ORTE_ERROR;
|
||||
}
|
||||
|
||||
int orte_pls_bproc_proxy_terminate_job(orte_jobid_t jobid)
|
||||
{
|
||||
return ORTE_ERROR;
|
||||
}
|
||||
|
||||
int orte_pls_bproc_proxy_terminate_proc(const orte_process_name_t* proc_name)
|
||||
{
|
||||
return ORTE_ERROR;
|
||||
}
|
||||
|
||||
int orte_pls_bproc_proxy_finalize(void)
|
||||
{
|
||||
return ORTE_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
orte_pls_base_module_t orte_pls_bproc_proxy_module = {
|
||||
orte_pls_bproc_proxy_launch,
|
||||
orte_pls_bproc_proxy_terminate_job,
|
||||
orte_pls_bproc_proxy_terminate_proc,
|
||||
orte_pls_bproc_proxy_finalize
|
||||
};
|
||||
|
@ -1,57 +0,0 @@
|
||||
/* -*- C -*-
|
||||
*
|
||||
* Copyright (c) 2004-2005 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$
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef ORTE_PLS_BPROC_PROXY_H_
|
||||
#define ORTE_PLS_BPROC_PROXY_H_
|
||||
|
||||
#include "ompi_config.h"
|
||||
#include "mca/pls/base/base.h"
|
||||
#include <sys/bproc.h>
|
||||
|
||||
#if defined(c_plusplus) || defined(__cplusplus)
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Module open / close
|
||||
*/
|
||||
int orte_pls_bproc_proxy_component_open(void);
|
||||
int orte_pls_bproc_proxy_component_close(void);
|
||||
|
||||
/*
|
||||
* Startup / Shutdown
|
||||
*/
|
||||
orte_pls_base_module_t* orte_pls_bproc_proxy_init(int *priority);
|
||||
|
||||
int orte_pls_bproc_proxy_finalize(void);
|
||||
|
||||
/*
|
||||
* Interface
|
||||
*/
|
||||
int orte_pls_bproc_proxy_launch(orte_jobid_t);
|
||||
int orte_pls_bproc_proxy_terminate_job(orte_jobid_t);
|
||||
int orte_pls_bproc_proxy_terminate_proc(const orte_process_name_t* proc_name);
|
||||
|
||||
ORTE_DECLSPEC extern orte_pls_base_component_t mca_pls_bproc_proxy_component;
|
||||
ORTE_DECLSPEC extern orte_pls_base_module_t orte_pls_bproc_proxy_module;
|
||||
|
||||
#if defined(c_plusplus) || defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
#endif /* MCA_PCM_BPROCx_H_ */
|
@ -1,80 +0,0 @@
|
||||
/* -*- C -*-
|
||||
*
|
||||
* Copyright (c) 2004-2005 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$
|
||||
*
|
||||
*/
|
||||
|
||||
#include "ompi_config.h"
|
||||
|
||||
#include "include/orte_constants.h"
|
||||
#include "include/types.h"
|
||||
#include "class/ompi_list.h"
|
||||
#include "util/proc_info.h"
|
||||
#include "mca/mca.h"
|
||||
#include "mca/base/mca_base_param.h"
|
||||
#include "mca/pls/base/base.h"
|
||||
#include "pls_bproc_proxy.h"
|
||||
|
||||
/*
|
||||
* Struct of function pointers and all that to let us be initialized
|
||||
*/
|
||||
orte_pls_base_component_t mca_pls_bproc_proxy_component = {
|
||||
{
|
||||
ORTE_PLS_BASE_VERSION_1_0_0,
|
||||
|
||||
"bproc_proxy", /* MCA component name */
|
||||
1, /* MCA component major version */
|
||||
0, /* MCA component minor version */
|
||||
0, /* MCA component release version */
|
||||
orte_pls_bproc_proxy_component_open, /* component open */
|
||||
orte_pls_bproc_proxy_component_close /* component close */
|
||||
},
|
||||
{
|
||||
false /* checkpoint / restart */
|
||||
},
|
||||
orte_pls_bproc_proxy_init /* component init */
|
||||
};
|
||||
|
||||
/*
|
||||
* Module variables handles
|
||||
*/
|
||||
static int param_priority;
|
||||
|
||||
|
||||
int orte_pls_bproc_proxy_component_open(void)
|
||||
{
|
||||
param_priority =
|
||||
mca_base_param_register_int("pls", "bproc_proxy", "priority", NULL, 20);
|
||||
return ORTE_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
int orte_pls_bproc_proxy_component_close(void)
|
||||
{
|
||||
return ORTE_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
orte_pls_base_module_t* orte_pls_bproc_proxy_init(
|
||||
int *priority)
|
||||
{
|
||||
if(orte_process_info.seed)
|
||||
return NULL;
|
||||
|
||||
/* initialize the priority */
|
||||
mca_base_param_lookup_int(param_priority, priority);
|
||||
return &orte_pls_bproc_proxy_module;
|
||||
}
|
||||
|
@ -54,7 +54,7 @@ static int orte_pls_fork_launch_threaded(orte_jobid_t);
|
||||
|
||||
|
||||
orte_pls_base_module_1_0_0_t orte_pls_fork_module = {
|
||||
#if OMPI_HAVE_POSIX_THREADS && OMPI_THREADS_HAVE_DIFFERENT_PIDS
|
||||
#if OMPI_HAVE_POSIX_THREADS && OMPI_THREADS_HAVE_DIFFERENT_PIDS && OMPI_ENABLE_PROGRESS_THREADS
|
||||
orte_pls_fork_launch_threaded,
|
||||
#else
|
||||
orte_pls_fork_launch,
|
||||
@ -276,7 +276,7 @@ int orte_pls_fork_finalize(void)
|
||||
* Handle threading issues.
|
||||
*/
|
||||
|
||||
#if OMPI_HAVE_POSIX_THREADS && OMPI_THREADS_HAVE_DIFFERENT_PIDS
|
||||
#if OMPI_HAVE_POSIX_THREADS && OMPI_THREADS_HAVE_DIFFERENT_PIDS && OMPI_ENABLE_PROGRESS_THREADS
|
||||
|
||||
struct orte_pls_fork_stack_t {
|
||||
ompi_condition_t cond;
|
||||
|
@ -46,13 +46,13 @@
|
||||
#define NUM_CONCURRENT 128
|
||||
|
||||
|
||||
#if OMPI_HAVE_POSIX_THREADS && OMPI_THREADS_HAVE_DIFFERENT_PIDS
|
||||
#if OMPI_HAVE_POSIX_THREADS && OMPI_THREADS_HAVE_DIFFERENT_PIDS && OMPI_ENABLE_PROGRESS_THREADS
|
||||
static int orte_pls_rsh_launch_threaded(orte_jobid_t jobid);
|
||||
#endif
|
||||
|
||||
|
||||
orte_pls_base_module_1_0_0_t orte_pls_rsh_module = {
|
||||
#if OMPI_HAVE_POSIX_THREADS && OMPI_THREADS_HAVE_DIFFERENT_PIDS
|
||||
#if OMPI_HAVE_POSIX_THREADS && OMPI_THREADS_HAVE_DIFFERENT_PIDS && OMPI_ENABLE_PROGRESS_THREADS
|
||||
orte_pls_rsh_launch_threaded,
|
||||
#else
|
||||
orte_pls_rsh_launch,
|
||||
@ -346,7 +346,7 @@ int orte_pls_rsh_finalize(void)
|
||||
* Handle threading issues.
|
||||
*/
|
||||
|
||||
#if OMPI_HAVE_POSIX_THREADS && OMPI_THREADS_HAVE_DIFFERENT_PIDS
|
||||
#if OMPI_HAVE_POSIX_THREADS && OMPI_THREADS_HAVE_DIFFERENT_PIDS && OMPI_ENABLE_PROGRESS_THREADS
|
||||
|
||||
struct orte_pls_rsh_stack_t {
|
||||
ompi_condition_t cond;
|
||||
|
@ -37,10 +37,9 @@ typedef uint32_t orte_rml_tag_t;
|
||||
#define ORTE_RML_TAG_GPR_NOTIFY 3
|
||||
#define ORTE_RML_TAG_DAEMON 4
|
||||
#define ORTE_RML_TAG_IOF_SVC 5
|
||||
#define ORTE_RML_TAG_IOF_CLT 6
|
||||
#define ORTE_RML_TAG_IOF_CLNT 6
|
||||
#define ORTE_RML_TAG_XCAST 7
|
||||
#define ORTE_RML_TAG_BPROC_SVC 8
|
||||
#define ORTE_RML_TAG_BPROC_CLT 9
|
||||
#define ORTE_RML_TAG_RMGR 8
|
||||
#define ORTE_RML_TAG_DYNAMIC 2000
|
||||
#define ORTE_RML_TAG_MAX UINT32_MAX
|
||||
|
||||
|
@ -54,9 +54,6 @@ int orte_universe_exists()
|
||||
orte_process_name_t proc={0,0,0};
|
||||
/* bool ns_found=false, gpr_found=false; */
|
||||
|
||||
/* ensure that system info has been populated */
|
||||
orte_sys_info();
|
||||
|
||||
/* if both ns_replica and gpr_replica were provided, check for contact with them */
|
||||
if (NULL != orte_process_info.ns_replica_uri && NULL != orte_process_info.gpr_replica_uri) {
|
||||
orte_process_name_t name;
|
||||
|
@ -96,6 +96,15 @@ ompi_cmd_line_init_t orte_cmd_line_opts[] = {
|
||||
{ NULL, NULL, NULL, '\0', NULL, "nodename", 1,
|
||||
&orte_system_info.nodename, OMPI_CMD_LINE_TYPE_STRING,
|
||||
"Node name as specified by host/resource description." },
|
||||
{ "seed", NULL, NULL, '\0', NULL, "seed", 0,
|
||||
&orte_process_info.seed, OMPI_CMD_LINE_TYPE_BOOL,
|
||||
"seed"},
|
||||
{ "universe", "persistence", NULL, '\0', NULL, "persistent", 0,
|
||||
&orte_universe_info.persistence, OMPI_CMD_LINE_TYPE_BOOL,
|
||||
"persistent"},
|
||||
{ "universe", "scope", NULL, '\0', NULL, "scope", 1,
|
||||
&orte_universe_info.scope, OMPI_CMD_LINE_TYPE_STRING,
|
||||
"scope"},
|
||||
/* End of list */
|
||||
{ NULL, NULL, NULL, '\0', NULL, NULL, 0,
|
||||
NULL, OMPI_CMD_LINE_TYPE_NULL, NULL }
|
||||
@ -138,9 +147,7 @@ int main(int argc, char *argv[])
|
||||
* First, ensure the process info structure in instantiated and initialized
|
||||
* and set the daemon flag to true
|
||||
*/
|
||||
orte_proc_info();
|
||||
orte_process_info.daemon = true;
|
||||
|
||||
|
||||
/*
|
||||
* Attempt to parse the daemon name and save in proc_info
|
||||
@ -155,11 +162,6 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
|
||||
|
||||
if (!orte_process_info.seed) { /* if I'm not the seed... */
|
||||
/* start recording the compound command that starts us up */
|
||||
/* orte_gpr.begin_compound_cmd(); */
|
||||
}
|
||||
|
||||
/* detach from controlling terminal */
|
||||
if(orted_globals.debug == false) {
|
||||
orte_daemon_init(NULL);
|
||||
@ -230,20 +232,6 @@ int main(int argc, char *argv[])
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (!orte_process_info.seed) { /* if I'm not the seed... */
|
||||
/* execute the compound command - no return data requested
|
||||
* we'll get it all from the startup message
|
||||
*/
|
||||
/* orte_gpr.exec_compound_cmd(); */
|
||||
|
||||
/* wait to receive startup message and info distributed */
|
||||
/* if (ORTE_SUCCESS != (ret = orte_wait_startup_msg())) {
|
||||
printf("ompid: failed to see all procs register\n");
|
||||
return ret;
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
/* if i'm the seed, get my contact info and write my setup file for others to find */
|
||||
if (orte_process_info.seed) {
|
||||
if (NULL != orte_universe_info.seed_uri) {
|
||||
|
@ -60,25 +60,17 @@ int orte_proc_info(void)
|
||||
|
||||
/* all other params are set elsewhere */
|
||||
|
||||
id = mca_base_param_register_int("seed", NULL, NULL, NULL, (int)false);
|
||||
id = mca_base_param_register_int("seed", NULL, NULL, NULL, orte_process_info.seed);
|
||||
mca_base_param_lookup_int(id, &tmp);
|
||||
if (tmp) {
|
||||
orte_process_info.seed = true;
|
||||
} else {
|
||||
orte_process_info.seed = false;
|
||||
}
|
||||
orte_process_info.seed = (tmp ? true : false);
|
||||
|
||||
if (NULL == orte_process_info.gpr_replica_uri) {
|
||||
id = mca_base_param_register_string("gpr", "replica", "uri", NULL, NULL);
|
||||
mca_base_param_lookup_string(id, &(orte_process_info.gpr_replica_uri));
|
||||
}
|
||||
id = mca_base_param_register_string("gpr", "replica", "uri", NULL, orte_process_info.gpr_replica_uri);
|
||||
mca_base_param_lookup_string(id, &(orte_process_info.gpr_replica_uri));
|
||||
|
||||
if (NULL == orte_process_info.ns_replica_uri) {
|
||||
id = mca_base_param_register_string("ns", "replica", "uri", NULL, NULL);
|
||||
mca_base_param_lookup_string(id, &(orte_process_info.ns_replica_uri));
|
||||
}
|
||||
id = mca_base_param_register_string("ns", "replica", "uri", NULL, orte_process_info.ns_replica_uri);
|
||||
mca_base_param_lookup_string(id, &(orte_process_info.ns_replica_uri));
|
||||
|
||||
id = mca_base_param_register_string("tmpdir", "base", NULL, NULL, NULL);
|
||||
id = mca_base_param_register_string("tmpdir", "base", NULL, NULL, orte_process_info.tmpdir_base);
|
||||
mca_base_param_lookup_string(id, &(orte_process_info.tmpdir_base));
|
||||
|
||||
/* get the process id */
|
||||
|
@ -38,7 +38,7 @@
|
||||
orte_universe_t orte_universe_info = {
|
||||
/* .init = */ false,
|
||||
/* .path = */ NULL,
|
||||
/* .name = */ NULL,
|
||||
/* .name = */ "default-universe",
|
||||
/* .host = */ NULL,
|
||||
/* .uid = */ NULL,
|
||||
/* .persistence = */ false,
|
||||
@ -55,42 +55,33 @@ int orte_univ_info(void)
|
||||
int id, tmp;
|
||||
|
||||
if (!orte_universe_info.init) {
|
||||
id = mca_base_param_register_string("universe", "path", NULL, NULL, NULL);
|
||||
id = mca_base_param_register_string("universe", "path", NULL, NULL, orte_universe_info.path);
|
||||
mca_base_param_lookup_string(id, &(orte_universe_info.path));
|
||||
|
||||
id = mca_base_param_register_string("universe", "name", NULL, NULL, "default-universe");
|
||||
id = mca_base_param_register_string("universe", "name", NULL, NULL, orte_universe_info.name);
|
||||
mca_base_param_lookup_string(id, &(orte_universe_info.name));
|
||||
|
||||
id = mca_base_param_register_string("universe", "host", NULL, NULL, NULL);
|
||||
id = mca_base_param_register_string("universe", "host", NULL, NULL, orte_universe_info.host);
|
||||
mca_base_param_lookup_string(id, &(orte_universe_info.host));
|
||||
|
||||
/* uid is not set via parameter, but is determined elsewhere */
|
||||
|
||||
id = mca_base_param_register_int("universe", "persistence", NULL, NULL, (int)false);
|
||||
id = mca_base_param_register_int("universe", "persistence", NULL, NULL, orte_universe_info.persistence);
|
||||
mca_base_param_lookup_int(id, &tmp);
|
||||
if (tmp) {
|
||||
orte_universe_info.persistence = true;
|
||||
} else {
|
||||
orte_universe_info.persistence = false;
|
||||
}
|
||||
orte_universe_info.persistence = (tmp ? true : false);
|
||||
|
||||
id = mca_base_param_register_string("universe", "scope", NULL, NULL, NULL);
|
||||
id = mca_base_param_register_string("universe", "scope", NULL, NULL, orte_universe_info.scope);
|
||||
mca_base_param_lookup_string(id, &(orte_universe_info.scope));
|
||||
|
||||
id = mca_base_param_register_int("universe", "console", NULL, NULL, (int)false);
|
||||
id = mca_base_param_register_int("universe", "console", NULL, NULL, orte_universe_info.console);
|
||||
mca_base_param_lookup_int(id, &tmp);
|
||||
if (tmp) {
|
||||
orte_universe_info.console = true;
|
||||
} else {
|
||||
orte_universe_info.console = false;
|
||||
}
|
||||
orte_universe_info.console = (tmp ? true : false);
|
||||
|
||||
id = mca_base_param_register_string("universe", "uri", NULL, NULL, NULL);
|
||||
id = mca_base_param_register_string("universe", "uri", NULL, NULL, orte_universe_info.seed_uri);
|
||||
mca_base_param_lookup_string(id, &(orte_universe_info.seed_uri));
|
||||
|
||||
/* console connected is set elsewhere */
|
||||
|
||||
id = mca_base_param_register_string("universe", "script", NULL, NULL, NULL);
|
||||
id = mca_base_param_register_string("universe", "script", NULL, NULL, orte_universe_info.scriptfile);
|
||||
mca_base_param_lookup_string(id, &(orte_universe_info.scriptfile));
|
||||
|
||||
orte_universe_info.init = true;
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user