Revert remaining svn kruft from r23764
This commit was SVN r23786. The following SVN revision numbers were found above: r23764 --> open-mpi/ompi@40a2bfa238
Этот коммит содержится в:
родитель
9512131b6e
Коммит
3631e4e936
@ -9,7 +9,7 @@
|
|||||||
* University of Stuttgart. All rights reserved.
|
* University of Stuttgart. All rights reserved.
|
||||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
* Copyright (c) 2006-2010 Cisco Systems, Inc. All rights reserved.
|
* Copyright (c) 2006-2009 Cisco Systems, Inc. All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
*
|
*
|
||||||
* Additional copyrights may follow
|
* Additional copyrights may follow
|
||||||
@ -56,6 +56,7 @@
|
|||||||
#endif
|
#endif
|
||||||
#include "opal/runtime/opal.h"
|
#include "opal/runtime/opal.h"
|
||||||
#include "opal/dss/dss.h"
|
#include "opal/dss/dss.h"
|
||||||
|
#include "opal/mca/if/base/base.h"
|
||||||
|
|
||||||
#include "ompi/mca/allocator/base/base.h"
|
#include "ompi/mca/allocator/base/base.h"
|
||||||
#include "ompi/mca/coll/base/base.h"
|
#include "ompi/mca/coll/base/base.h"
|
||||||
@ -76,7 +77,6 @@
|
|||||||
#include "ompi/mca/pubsub/base/base.h"
|
#include "ompi/mca/pubsub/base/base.h"
|
||||||
#include "ompi/mca/dpm/base/base.h"
|
#include "ompi/mca/dpm/base/base.h"
|
||||||
#include "ompi/mca/op/base/base.h"
|
#include "ompi/mca/op/base/base.h"
|
||||||
#include "ompi/mca/vprotocol/base/base.h"
|
|
||||||
|
|
||||||
#if OPAL_ENABLE_FT_CR == 1
|
#if OPAL_ENABLE_FT_CR == 1
|
||||||
#include "ompi/mca/crcp/crcp.h"
|
#include "ompi/mca/crcp/crcp.h"
|
||||||
@ -177,7 +177,6 @@ void ompi_info_open_components(void)
|
|||||||
char **env_save=NULL;
|
char **env_save=NULL;
|
||||||
bool need_close_components = false;
|
bool need_close_components = false;
|
||||||
ompi_info_component_map_t *map;
|
ompi_info_component_map_t *map;
|
||||||
char *include_list;
|
|
||||||
|
|
||||||
if (opened_components) {
|
if (opened_components) {
|
||||||
return;
|
return;
|
||||||
@ -348,6 +347,14 @@ void ompi_info_open_components(void)
|
|||||||
opal_pointer_array_add(&component_map, map);
|
opal_pointer_array_add(&component_map, map);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
if (OPAL_SUCCESS != opal_if_base_open()) {
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
map = OBJ_NEW(ompi_info_component_map_t);
|
||||||
|
map->type = strdup("if");
|
||||||
|
map->components = &opal_if_components;
|
||||||
|
opal_pointer_array_add(&component_map, map);
|
||||||
|
|
||||||
/* OPAL's installdirs base open has already been called as part of
|
/* OPAL's installdirs base open has already been called as part of
|
||||||
* opal_init_util() back in main().
|
* opal_init_util() back in main().
|
||||||
*/
|
*/
|
||||||
@ -570,21 +577,6 @@ void ompi_info_open_components(void)
|
|||||||
map->components = &mca_pml_base_components_available;
|
map->components = &mca_pml_base_components_available;
|
||||||
opal_pointer_array_add(&component_map, map);
|
opal_pointer_array_add(&component_map, map);
|
||||||
|
|
||||||
/* According to vprotocol_base.c, the first char cannot be 0 or
|
|
||||||
the function will do nothing. Weird. The value must also be
|
|
||||||
malloc'ed, because mca_vprotocol_close() will free() it. */
|
|
||||||
include_list = strdup("bogus");
|
|
||||||
if (NULL == include_list) {
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
if (OMPI_SUCCESS != mca_vprotocol_base_open(include_list)) {
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
map = OBJ_NEW(ompi_info_component_map_t);
|
|
||||||
map->type = strdup("vprotocol");
|
|
||||||
map->components = &mca_vprotocol_base_components_available;
|
|
||||||
opal_pointer_array_add(&component_map, map);
|
|
||||||
|
|
||||||
/* No need to call the bml_base_open() because the ob1 pml calls it.
|
/* No need to call the bml_base_open() because the ob1 pml calls it.
|
||||||
* mca_bml_base_open();
|
* mca_bml_base_open();
|
||||||
*/
|
*/
|
||||||
|
@ -203,6 +203,8 @@ int main(int argc, char *argv[])
|
|||||||
opal_pointer_array_add(&mca_types, "crs");
|
opal_pointer_array_add(&mca_types, "crs");
|
||||||
opal_pointer_array_add(&mca_types, "compress");
|
opal_pointer_array_add(&mca_types, "compress");
|
||||||
#endif
|
#endif
|
||||||
|
opal_pointer_array_add(&mca_types, "if");
|
||||||
|
|
||||||
opal_pointer_array_add(&mca_types, "dpm");
|
opal_pointer_array_add(&mca_types, "dpm");
|
||||||
opal_pointer_array_add(&mca_types, "pubsub");
|
opal_pointer_array_add(&mca_types, "pubsub");
|
||||||
opal_pointer_array_add(&mca_types, "allocator");
|
opal_pointer_array_add(&mca_types, "allocator");
|
||||||
@ -218,7 +220,6 @@ int main(int argc, char *argv[])
|
|||||||
opal_pointer_array_add(&mca_types, "osc");
|
opal_pointer_array_add(&mca_types, "osc");
|
||||||
opal_pointer_array_add(&mca_types, "op");
|
opal_pointer_array_add(&mca_types, "op");
|
||||||
opal_pointer_array_add(&mca_types, "common");
|
opal_pointer_array_add(&mca_types, "common");
|
||||||
opal_pointer_array_add(&mca_types, "vprotocol");
|
|
||||||
#if OPAL_ENABLE_FT_CR == 1
|
#if OPAL_ENABLE_FT_CR == 1
|
||||||
opal_pointer_array_add(&mca_types, "crcp");
|
opal_pointer_array_add(&mca_types, "crcp");
|
||||||
#endif
|
#endif
|
||||||
|
@ -834,7 +834,6 @@ void ompi_info_do_config(bool want_all)
|
|||||||
ompi_info_out("Symbol vis. support", "options:visibility", symbol_visibility);
|
ompi_info_out("Symbol vis. support", "options:visibility", symbol_visibility);
|
||||||
|
|
||||||
ompi_info_out("MPI extensions", "options:mpi_ext", OMPI_MPIEXT_COMPONENTS);
|
ompi_info_out("MPI extensions", "options:mpi_ext", OMPI_MPIEXT_COMPONENTS);
|
||||||
ompi_info_out("MPI contribs", "options:mpi_contrib", OMPI_MPI_CONTRIBS);
|
|
||||||
|
|
||||||
ompi_info_out("FT Checkpoint support", "options:ft_support", ft_support);
|
ompi_info_out("FT Checkpoint support", "options:ft_support", ft_support);
|
||||||
free(ft_support);
|
free(ft_support);
|
||||||
|
@ -50,7 +50,6 @@
|
|||||||
#include "opal/util/opal_environ.h"
|
#include "opal/util/opal_environ.h"
|
||||||
#include "opal/util/output.h"
|
#include "opal/util/output.h"
|
||||||
#include "opal/util/malloc.h"
|
#include "opal/util/malloc.h"
|
||||||
#include "opal/util/if.h"
|
|
||||||
#include "opal/util/keyval_parse.h"
|
#include "opal/util/keyval_parse.h"
|
||||||
#include "opal/util/opal_environ.h"
|
#include "opal/util/opal_environ.h"
|
||||||
#include "opal/util/argv.h"
|
#include "opal/util/argv.h"
|
||||||
@ -61,6 +60,7 @@
|
|||||||
#include "opal/runtime/opal.h"
|
#include "opal/runtime/opal.h"
|
||||||
#include "opal/constants.h"
|
#include "opal/constants.h"
|
||||||
|
|
||||||
|
#include "opal/mca/if/base/base.h"
|
||||||
#include "opal/mca/memcpy/base/base.h"
|
#include "opal/mca/memcpy/base/base.h"
|
||||||
#include "opal/mca/memory/base/base.h"
|
#include "opal/mca/memory/base/base.h"
|
||||||
#include "opal/mca/timer/base/base.h"
|
#include "opal/mca/timer/base/base.h"
|
||||||
@ -773,7 +773,7 @@ int opal_cr_coord(int state)
|
|||||||
/*
|
/*
|
||||||
* Flush if() functionality, since it caches system specific info.
|
* Flush if() functionality, since it caches system specific info.
|
||||||
*/
|
*/
|
||||||
opal_iffinalize();
|
opal_if_base_close();
|
||||||
/* Since opal_ifinit() is not exposed, the necessary
|
/* Since opal_ifinit() is not exposed, the necessary
|
||||||
* functions will call it when needed. Just make sure we
|
* functions will call it when needed. Just make sure we
|
||||||
* finalized this code so we don't get old socket addrs.
|
* finalized this code so we don't get old socket addrs.
|
||||||
|
@ -26,7 +26,6 @@
|
|||||||
#include "opal/util/trace.h"
|
#include "opal/util/trace.h"
|
||||||
#include "opal/util/output.h"
|
#include "opal/util/output.h"
|
||||||
#include "opal/util/malloc.h"
|
#include "opal/util/malloc.h"
|
||||||
#include "opal/util/if.h"
|
|
||||||
#include "opal/util/net.h"
|
#include "opal/util/net.h"
|
||||||
#include "opal/util/keyval_parse.h"
|
#include "opal/util/keyval_parse.h"
|
||||||
#include "opal/util/show_help.h"
|
#include "opal/util/show_help.h"
|
||||||
@ -34,6 +33,7 @@
|
|||||||
#include "opal/mca/base/base.h"
|
#include "opal/mca/base/base.h"
|
||||||
#include "opal/runtime/opal.h"
|
#include "opal/runtime/opal.h"
|
||||||
#include "opal/constants.h"
|
#include "opal/constants.h"
|
||||||
|
#include "opal/mca/if/base/base.h"
|
||||||
#include "opal/mca/installdirs/base/base.h"
|
#include "opal/mca/installdirs/base/base.h"
|
||||||
#include "opal/mca/memcpy/base/base.h"
|
#include "opal/mca/memcpy/base/base.h"
|
||||||
#include "opal/mca/memory/base/base.h"
|
#include "opal/mca/memory/base/base.h"
|
||||||
@ -66,9 +66,8 @@ opal_finalize_util(void)
|
|||||||
/* Clear out all the registered MCA params */
|
/* Clear out all the registered MCA params */
|
||||||
mca_base_param_finalize();
|
mca_base_param_finalize();
|
||||||
|
|
||||||
/* close interfaces code. This is lazy opened, but protected from
|
/* close interfaces code. */
|
||||||
close when not opened internally */
|
opal_if_base_close();
|
||||||
opal_iffinalize();
|
|
||||||
|
|
||||||
opal_net_finalize();
|
opal_net_finalize();
|
||||||
|
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
* Copyright (c) 2007 Cisco Systems, Inc. All rights reserved.
|
* Copyright (c) 2007 Cisco Systems, Inc. All rights reserved.
|
||||||
* Copyright (c) 2007 Los Alamos National Security, LLC. All rights
|
* Copyright (c) 2007 Los Alamos National Security, LLC. All rights
|
||||||
* reserved.
|
* reserved.
|
||||||
|
* Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
*
|
*
|
||||||
* Additional copyrights may follow
|
* Additional copyrights may follow
|
||||||
@ -75,6 +76,7 @@ struct options_data_t {
|
|||||||
char *module_option;
|
char *module_option;
|
||||||
char **preproc_flags;
|
char **preproc_flags;
|
||||||
char **comp_flags;
|
char **comp_flags;
|
||||||
|
char **comp_flags_prefix;
|
||||||
char **link_flags;
|
char **link_flags;
|
||||||
char **libs;
|
char **libs;
|
||||||
char *req_file;
|
char *req_file;
|
||||||
@ -116,6 +118,8 @@ options_data_init(struct options_data_t *data)
|
|||||||
data->preproc_flags[0] = NULL;
|
data->preproc_flags[0] = NULL;
|
||||||
data->comp_flags = (char **) malloc(sizeof(char*));
|
data->comp_flags = (char **) malloc(sizeof(char*));
|
||||||
data->comp_flags[0] = NULL;
|
data->comp_flags[0] = NULL;
|
||||||
|
data->comp_flags_prefix = (char **) malloc(sizeof(char*));
|
||||||
|
data->comp_flags_prefix[0] = NULL;
|
||||||
data->link_flags = (char **) malloc(sizeof(char*));
|
data->link_flags = (char **) malloc(sizeof(char*));
|
||||||
data->link_flags[0] = NULL;
|
data->link_flags[0] = NULL;
|
||||||
data->libs = (char **) malloc(sizeof(char*));
|
data->libs = (char **) malloc(sizeof(char*));
|
||||||
@ -142,6 +146,7 @@ options_data_free(struct options_data_t *data)
|
|||||||
if (NULL != data->module_option) free(data->module_option);
|
if (NULL != data->module_option) free(data->module_option);
|
||||||
opal_argv_free(data->preproc_flags);
|
opal_argv_free(data->preproc_flags);
|
||||||
opal_argv_free(data->comp_flags);
|
opal_argv_free(data->comp_flags);
|
||||||
|
opal_argv_free(data->comp_flags_prefix);
|
||||||
opal_argv_free(data->link_flags);
|
opal_argv_free(data->link_flags);
|
||||||
opal_argv_free(data->libs);
|
opal_argv_free(data->libs);
|
||||||
if (NULL != data->req_file) free(data->req_file);
|
if (NULL != data->req_file) free(data->req_file);
|
||||||
@ -298,6 +303,13 @@ data_callback(const char *key, const char *value)
|
|||||||
values);
|
values);
|
||||||
expand_flags(options_data[parse_options_idx].comp_flags);
|
expand_flags(options_data[parse_options_idx].comp_flags);
|
||||||
opal_argv_free(values);
|
opal_argv_free(values);
|
||||||
|
} else if (0 == strcmp(key, "compiler_flags_prefix")) {
|
||||||
|
char **values = opal_argv_split(value, ' ');
|
||||||
|
opal_argv_insert(&options_data[parse_options_idx].comp_flags_prefix,
|
||||||
|
opal_argv_count(options_data[parse_options_idx].comp_flags_prefix),
|
||||||
|
values);
|
||||||
|
expand_flags(options_data[parse_options_idx].comp_flags_prefix);
|
||||||
|
opal_argv_free(values);
|
||||||
} else if (0 == strcmp(key, "linker_flags")) {
|
} else if (0 == strcmp(key, "linker_flags")) {
|
||||||
char **values = opal_argv_split(value, ' ');
|
char **values = opal_argv_split(value, ' ');
|
||||||
opal_argv_insert(&options_data[parse_options_idx].link_flags,
|
opal_argv_insert(&options_data[parse_options_idx].link_flags,
|
||||||
@ -712,6 +724,12 @@ main(int argc, char *argv[])
|
|||||||
exec_argc = 0;
|
exec_argc = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (flags & COMP_WANT_COMPILE) {
|
||||||
|
opal_argv_insert(&exec_argv, exec_argc,
|
||||||
|
options_data[user_data_idx].comp_flags_prefix);
|
||||||
|
exec_argc = opal_argv_count(exec_argv);
|
||||||
|
}
|
||||||
|
|
||||||
/* Per https://svn.open-mpi.org/trac/ompi/ticket/2201, add all the
|
/* Per https://svn.open-mpi.org/trac/ompi/ticket/2201, add all the
|
||||||
user arguments before anything else. */
|
user arguments before anything else. */
|
||||||
opal_argv_insert(&exec_argv, exec_argc, user_argv);
|
opal_argv_insert(&exec_argv, exec_argc, user_argv);
|
||||||
|
@ -14,6 +14,7 @@ compiler_flags_env=CXXFLAGS
|
|||||||
compiler=@CXX@
|
compiler=@CXX@
|
||||||
extra_includes=@OPAL_WRAPPER_EXTRA_INCLUDES@
|
extra_includes=@OPAL_WRAPPER_EXTRA_INCLUDES@
|
||||||
preprocessor_flags=@OPAL_WRAPPER_EXTRA_CPPFLAGS@
|
preprocessor_flags=@OPAL_WRAPPER_EXTRA_CPPFLAGS@
|
||||||
|
compiler_flags_prefix=@OPAL_WRAPPER_EXTRA_CXXFLAGS_PREFIX@
|
||||||
compiler_flags=@OPAL_WRAPPER_EXTRA_CXXFLAGS@
|
compiler_flags=@OPAL_WRAPPER_EXTRA_CXXFLAGS@
|
||||||
linker_flags=@OPAL_WRAPPER_EXTRA_LDFLAGS@
|
linker_flags=@OPAL_WRAPPER_EXTRA_LDFLAGS@
|
||||||
libs=-lopen-pal @OPAL_WRAPPER_EXTRA_LIBS@
|
libs=-lopen-pal @OPAL_WRAPPER_EXTRA_LIBS@
|
||||||
|
@ -14,6 +14,7 @@ compiler_flags_env=CFLAGS
|
|||||||
compiler=@CC@
|
compiler=@CC@
|
||||||
extra_includes=@OPAL_WRAPPER_EXTRA_INCLUDES@
|
extra_includes=@OPAL_WRAPPER_EXTRA_INCLUDES@
|
||||||
preprocessor_flags=@OPAL_WRAPPER_EXTRA_CPPFLAGS@
|
preprocessor_flags=@OPAL_WRAPPER_EXTRA_CPPFLAGS@
|
||||||
|
compiler_flags_prefix=@OPAL_WRAPPER_EXTRA_CFLAGS_PREFIX@
|
||||||
compiler_flags=@OPAL_WRAPPER_EXTRA_CFLAGS@
|
compiler_flags=@OPAL_WRAPPER_EXTRA_CFLAGS@
|
||||||
linker_flags=@OPAL_WRAPPER_EXTRA_LDFLAGS@
|
linker_flags=@OPAL_WRAPPER_EXTRA_LDFLAGS@
|
||||||
libs=-lopen-pal @OPAL_WRAPPER_EXTRA_LIBS@
|
libs=-lopen-pal @OPAL_WRAPPER_EXTRA_LIBS@
|
||||||
|
909
opal/util/if.c
909
opal/util/if.c
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
@ -170,15 +170,6 @@ OPAL_DECLSPEC int opal_ifindextoflags(int if_index, uint32_t*);
|
|||||||
*/
|
*/
|
||||||
OPAL_DECLSPEC bool opal_ifislocal(const char *hostname);
|
OPAL_DECLSPEC bool opal_ifislocal(const char *hostname);
|
||||||
|
|
||||||
/**
|
|
||||||
* Finalize the functions to release malloc'd data
|
|
||||||
*
|
|
||||||
* @param none
|
|
||||||
* @return OPAL_SUCCESS if no problems encountered
|
|
||||||
* @return OPAL_ERROR if data could not be released
|
|
||||||
*/
|
|
||||||
OPAL_DECLSPEC int opal_iffinalize(void);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Convert a dot-delimited network tuple to an IP address
|
* Convert a dot-delimited network tuple to an IP address
|
||||||
*
|
*
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
#include "orte/mca/sensor/sensor.h"
|
#include "orte/mca/sensor/sensor.h"
|
||||||
#include "orte/mca/routed/routed.h"
|
#include "orte/mca/routed/routed.h"
|
||||||
#include "orte/mca/debugger/base/base.h"
|
#include "orte/mca/debugger/base/base.h"
|
||||||
|
#include "orte/mca/notifier/notifier.h"
|
||||||
|
|
||||||
#include "orte/util/error_strings.h"
|
#include "orte/util/error_strings.h"
|
||||||
#include "orte/util/name_fns.h"
|
#include "orte/util/name_fns.h"
|
||||||
@ -990,6 +991,7 @@ static void check_job_complete(orte_job_t *jdata)
|
|||||||
orte_std_cntr_t index;
|
orte_std_cntr_t index;
|
||||||
bool one_still_alive;
|
bool one_still_alive;
|
||||||
orte_vpid_t non_zero=0, lowest=0;
|
orte_vpid_t non_zero=0, lowest=0;
|
||||||
|
char *msg;
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
/* Check if FileM is active. If so then keep processing. */
|
/* Check if FileM is active. If so then keep processing. */
|
||||||
@ -1301,6 +1303,9 @@ CHECK_DAEMONS:
|
|||||||
* then go ahead and release it. We cannot release it if it
|
* then go ahead and release it. We cannot release it if it
|
||||||
* abnormally terminated as mpirun needs the info so it can
|
* abnormally terminated as mpirun needs the info so it can
|
||||||
* report appropriately to the user
|
* report appropriately to the user
|
||||||
|
*
|
||||||
|
* NOTE: do not release the primary job (j=1) so we
|
||||||
|
* can pretty-print completion message
|
||||||
*/
|
*/
|
||||||
if (NULL != jdata && job->jobid == jdata->jobid &&
|
if (NULL != jdata && job->jobid == jdata->jobid &&
|
||||||
(jdata->state == ORTE_JOB_STATE_TERMINATED ||
|
(jdata->state == ORTE_JOB_STATE_TERMINATED ||
|
||||||
@ -1309,8 +1314,10 @@ CHECK_DAEMONS:
|
|||||||
* pointer array internal accounting
|
* pointer array internal accounting
|
||||||
* is maintained!
|
* is maintained!
|
||||||
*/
|
*/
|
||||||
|
if (1 < j) {
|
||||||
opal_pointer_array_set_item(orte_job_data, j, NULL); /* ensure the array has a NULL */
|
opal_pointer_array_set_item(orte_job_data, j, NULL); /* ensure the array has a NULL */
|
||||||
OBJ_RELEASE(jdata);
|
OBJ_RELEASE(jdata);
|
||||||
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
/* if the job is flagged to not be monitored, skip it */
|
/* if the job is flagged to not be monitored, skip it */
|
||||||
@ -1356,6 +1363,25 @@ CHECK_DAEMONS:
|
|||||||
* wasn't already set by an error condition
|
* wasn't already set by an error condition
|
||||||
*/
|
*/
|
||||||
ORTE_UPDATE_EXIT_STATUS(0);
|
ORTE_UPDATE_EXIT_STATUS(0);
|
||||||
|
/* provide a notifier message if that framework is active - ignored otherwise */
|
||||||
|
if (NULL != (job = (orte_job_t*)opal_pointer_array_get_item(orte_job_data, 1))) {
|
||||||
|
if (NULL == job->name) {
|
||||||
|
job->name = strdup(orte_process_info.nodename);
|
||||||
|
}
|
||||||
|
if (NULL == job->instance) {
|
||||||
|
asprintf(&job->instance, "%d", orte_process_info.pid);
|
||||||
|
}
|
||||||
|
if (0 == orte_exit_status) {
|
||||||
|
asprintf(&msg, "Job %s:%s complete", job->name, job->instance);
|
||||||
|
orte_notifier.log(ORTE_NOTIFIER_INFO, 0, msg);
|
||||||
|
} else {
|
||||||
|
asprintf(&msg, "Job %s:%s terminated abnormally", job->name, job->instance);
|
||||||
|
orte_notifier.log(ORTE_NOTIFIER_ALERT, orte_exit_status, msg);
|
||||||
|
}
|
||||||
|
free(msg);
|
||||||
|
/* this job object will be release during finalize */
|
||||||
|
}
|
||||||
|
|
||||||
orte_jobs_complete();
|
orte_jobs_complete();
|
||||||
/* if I am the only daemon alive, then I can exit now */
|
/* if I am the only daemon alive, then I can exit now */
|
||||||
if (0 == orte_routed.num_routes()) {
|
if (0 == orte_routed.num_routes()) {
|
||||||
|
@ -37,15 +37,12 @@
|
|||||||
#include "opal/dss/dss.h"
|
#include "opal/dss/dss.h"
|
||||||
#include "opal/dss/dss_types.h"
|
#include "opal/dss/dss_types.h"
|
||||||
|
|
||||||
|
#include "orte/util/show_help.h"
|
||||||
#include "orte/runtime/orte_globals.h"
|
#include "orte/runtime/orte_globals.h"
|
||||||
#include "orte/mca/errmgr/errmgr.h"
|
#include "orte/mca/errmgr/errmgr.h"
|
||||||
#include "orte/mca/notifier/base/base.h"
|
#include "orte/mca/notifier/base/base.h"
|
||||||
#include "notifier_hnp.h"
|
#include "notifier_hnp.h"
|
||||||
|
|
||||||
/* Global variables */
|
|
||||||
opal_pointer_array_t orte_notifier_hnp_tables;
|
|
||||||
opal_mutex_t orte_notifier_hnp_tables_lock;
|
|
||||||
|
|
||||||
/* Static API's */
|
/* Static API's */
|
||||||
static int init(void);
|
static int init(void);
|
||||||
static void finalize(void);
|
static void finalize(void);
|
||||||
@ -258,19 +255,6 @@ static int init(void)
|
|||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Construct a list of SOS tables, one for each process.
|
|
||||||
ADK: Since we are not doing proper error trace analysis
|
|
||||||
and/or aggregation, each process maintains a separate SOS
|
|
||||||
table and individually sends each entry in the table to
|
|
||||||
the HNP. */
|
|
||||||
/*
|
|
||||||
OBJ_CONSTRUCT(&orte_notifier_hnp_tables, opal_pointer_array_t);
|
|
||||||
opal_pointer_array_init(&orte_notifier_hnp_tables,
|
|
||||||
orte_process_info.num_procs,
|
|
||||||
INT32_MAX, 8);
|
|
||||||
OBJ_CONSTRUCT(&orte_notifier_hnp_tables_lock, opal_mutex_t);
|
|
||||||
*/
|
|
||||||
|
|
||||||
#if OPAL_ENABLE_DEBUG
|
#if OPAL_ENABLE_DEBUG
|
||||||
/* If we're debugging, also add an exception handler -- just to
|
/* If we're debugging, also add an exception handler -- just to
|
||||||
watch for problems in the RML */
|
watch for problems in the RML */
|
||||||
@ -290,9 +274,6 @@ static void finalize(void)
|
|||||||
{
|
{
|
||||||
/* If I'm the HNP, then cancel the non-blocking RML receive */
|
/* If I'm the HNP, then cancel the non-blocking RML receive */
|
||||||
if (ORTE_PROC_IS_HNP) {
|
if (ORTE_PROC_IS_HNP) {
|
||||||
OBJ_DESTRUCT(&orte_notifier_hnp_tables);
|
|
||||||
OBJ_DESTRUCT(&orte_notifier_hnp_tables_lock);
|
|
||||||
|
|
||||||
orte_rml.recv_cancel(ORTE_NAME_WILDCARD, ORTE_RML_TAG_NOTIFIER_HNP);
|
orte_rml.recv_cancel(ORTE_NAME_WILDCARD, ORTE_RML_TAG_NOTIFIER_HNP);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -305,8 +286,13 @@ static void mylog(orte_notifier_base_severity_t severity, int errcode,
|
|||||||
/* If there was a message, output it */
|
/* If there was a message, output it */
|
||||||
vasprintf(&output, msg, ap);
|
vasprintf(&output, msg, ap);
|
||||||
|
|
||||||
if (NULL != output && !ORTE_PROC_IS_HNP) {
|
if (NULL != output) {
|
||||||
|
if (ORTE_PROC_IS_HNP) {
|
||||||
|
/* output it locally */
|
||||||
|
orte_show_help("opal_sos_reporter.txt", "notifier message", false, output);
|
||||||
|
} else {
|
||||||
send_command(severity, errcode, output);
|
send_command(severity, errcode, output);
|
||||||
|
}
|
||||||
free(output);
|
free(output);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -318,8 +304,13 @@ static void myhelplog(orte_notifier_base_severity_t severity, int errcode,
|
|||||||
|
|
||||||
output = opal_show_help_vstring(filename, topic, false, ap);
|
output = opal_show_help_vstring(filename, topic, false, ap);
|
||||||
|
|
||||||
if (NULL != output && !ORTE_PROC_IS_HNP) {
|
if (NULL != output) {
|
||||||
|
if (ORTE_PROC_IS_HNP) {
|
||||||
|
/* output it locally */
|
||||||
|
orte_show_help("opal_sos_reporter.txt", "notifier message", false, output);
|
||||||
|
} else {
|
||||||
send_command(severity, errcode, output);
|
send_command(severity, errcode, output);
|
||||||
|
}
|
||||||
free(output);
|
free(output);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -330,13 +321,23 @@ static void mypeerlog(orte_notifier_base_severity_t severity, int errcode,
|
|||||||
{
|
{
|
||||||
char *buf = orte_notifier_base_peer_log(errcode, peer_proc, msg, ap);
|
char *buf = orte_notifier_base_peer_log(errcode, peer_proc, msg, ap);
|
||||||
|
|
||||||
if (NULL != buf && !ORTE_PROC_IS_HNP) {
|
if (NULL != buf) {
|
||||||
|
if (ORTE_PROC_IS_HNP) {
|
||||||
|
/* output it locally */
|
||||||
|
orte_show_help("opal_sos_reporter.txt", "notifier message", false, buf);
|
||||||
|
} else {
|
||||||
send_command(severity, errcode, buf);
|
send_command(severity, errcode, buf);
|
||||||
|
}
|
||||||
free(buf);
|
free(buf);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void myeventlog(const char *msg)
|
static void myeventlog(const char *msg)
|
||||||
{
|
{
|
||||||
|
if (ORTE_PROC_IS_HNP) {
|
||||||
|
/* output it locally */
|
||||||
|
orte_show_help("opal_sos_reporter.txt", "notifier message", false, (char*)msg);
|
||||||
|
} else {
|
||||||
send_command(ORTE_NOTIFIER_NOTICE, ORTE_SUCCESS, (char *)msg);
|
send_command(ORTE_NOTIFIER_NOTICE, ORTE_SUCCESS, (char *)msg);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
@ -53,6 +53,7 @@
|
|||||||
#endif
|
#endif
|
||||||
#include "opal/runtime/opal.h"
|
#include "opal/runtime/opal.h"
|
||||||
#include "opal/dss/dss.h"
|
#include "opal/dss/dss.h"
|
||||||
|
#include "opal/mca/if/base/base.h"
|
||||||
|
|
||||||
#include "orte/mca/errmgr/errmgr.h"
|
#include "orte/mca/errmgr/errmgr.h"
|
||||||
#include "orte/mca/errmgr/base/base.h"
|
#include "orte/mca/errmgr/base/base.h"
|
||||||
@ -299,6 +300,15 @@ void orte_info_open_components(void)
|
|||||||
opal_pointer_array_add(&component_map, map);
|
opal_pointer_array_add(&component_map, map);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
if (OPAL_SUCCESS != opal_if_base_open()) {
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
map = OBJ_NEW(orte_info_component_map_t);
|
||||||
|
map->type = strdup("if");
|
||||||
|
map->components = &opal_if_components;
|
||||||
|
opal_pointer_array_add(&component_map, map);
|
||||||
|
|
||||||
|
|
||||||
/* OPAL's installdirs base open has already been called as part of
|
/* OPAL's installdirs base open has already been called as part of
|
||||||
* opal_init_util() back in main().
|
* opal_init_util() back in main().
|
||||||
*/
|
*/
|
||||||
|
@ -196,6 +196,7 @@ int main(int argc, char *argv[])
|
|||||||
#if OPAL_ENABLE_FT_CR == 1
|
#if OPAL_ENABLE_FT_CR == 1
|
||||||
opal_pointer_array_add(&mca_types, "crs");
|
opal_pointer_array_add(&mca_types, "crs");
|
||||||
#endif
|
#endif
|
||||||
|
opal_pointer_array_add(&mca_types, "if");
|
||||||
|
|
||||||
#if !ORTE_DISABLE_FULL_SUPPORT
|
#if !ORTE_DISABLE_FULL_SUPPORT
|
||||||
opal_pointer_array_add(&mca_types, "debugger");
|
opal_pointer_array_add(&mca_types, "debugger");
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
# -*- perl -*-
|
# -*- perl -*-
|
||||||
#
|
#
|
||||||
# Copyright (c) 2009-2010 Cisco Systems, Inc. All rights reserved.
|
# Copyright (c) 2009-2010 Cisco Systems, Inc. All rights reserved.
|
||||||
|
# Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved.
|
||||||
# $COPYRIGHT$
|
# $COPYRIGHT$
|
||||||
#
|
#
|
||||||
# Additional copyrights may follow
|
# Additional copyrights may follow
|
||||||
@ -30,7 +31,9 @@ my $CXX = "@CXX@";
|
|||||||
my $extra_includes = "@ORTE_WRAPPER_EXTRA_INCLUDES@";
|
my $extra_includes = "@ORTE_WRAPPER_EXTRA_INCLUDES@";
|
||||||
my $extra_cppflags = "@ORTE_WRAPPER_EXTRA_CPPFLAGS@";
|
my $extra_cppflags = "@ORTE_WRAPPER_EXTRA_CPPFLAGS@";
|
||||||
my $extra_cflags = "@ORTE_WRAPPER_EXTRA_CFLAGS@";
|
my $extra_cflags = "@ORTE_WRAPPER_EXTRA_CFLAGS@";
|
||||||
|
my $extra_cflags_prefix = "@ORTE_WRAPPER_EXTRA_CFLAGS_PREFIX@";
|
||||||
my $extra_cxxflags = "@ORTE_WRAPPER_EXTRA_CXXFLAGS@";
|
my $extra_cxxflags = "@ORTE_WRAPPER_EXTRA_CXXFLAGS@";
|
||||||
|
my $extra_cxxflags_prefix = "@ORTE_WRAPPER_EXTRA_CXXFLAGS_PREFIX@";
|
||||||
my $extra_ldflags = "@ORTE_WRAPPER_EXTRA_LDFLAGS@";
|
my $extra_ldflags = "@ORTE_WRAPPER_EXTRA_LDFLAGS@";
|
||||||
my $extra_libs = "@ORTE_WRAPPER_EXTRA_LIBS@";
|
my $extra_libs = "@ORTE_WRAPPER_EXTRA_LIBS@";
|
||||||
#my $cxx_lib = "@ORTE_WRAPPER_CXX_LIB@";
|
#my $cxx_lib = "@ORTE_WRAPPER_CXX_LIB@";
|
||||||
@ -43,6 +46,7 @@ my $lang = "none";
|
|||||||
my $comp = ""; # this is a sentinal from configure
|
my $comp = ""; # this is a sentinal from configure
|
||||||
my $preproc_flags = $include_flag . $includedir;
|
my $preproc_flags = $include_flag . $includedir;
|
||||||
my $comp_flags = "";
|
my $comp_flags = "";
|
||||||
|
my $comp_flags_prefix = "";
|
||||||
my $linker_flags = $libdir_flag . $libdir . " " . $extra_ldflags;
|
my $linker_flags = $libdir_flag . $libdir . " " . $extra_ldflags;
|
||||||
my $libs = "-lopen-rte -lopen-pal " . $extra_libs;
|
my $libs = "-lopen-rte -lopen-pal " . $extra_libs;
|
||||||
|
|
||||||
@ -78,12 +82,14 @@ if (basename($0) eq "ortecc") {
|
|||||||
$comp = check_env("CC", $CC);
|
$comp = check_env("CC", $CC);
|
||||||
$preproc_flags .= " " . add_extra_includes();
|
$preproc_flags .= " " . add_extra_includes();
|
||||||
$comp_flags = $extra_cflags;
|
$comp_flags = $extra_cflags;
|
||||||
|
$comp_flags_prefix = $extra_cflags_prefix;
|
||||||
# no special libs for C
|
# no special libs for C
|
||||||
} elsif (basename($0) eq "ortec++") {
|
} elsif (basename($0) eq "ortec++") {
|
||||||
$lang = "C++";
|
$lang = "C++";
|
||||||
$comp = check_env("CXX", $CXX);
|
$comp = check_env("CXX", $CXX);
|
||||||
$preproc_flags .= " " . add_extra_includes();
|
$preproc_flags .= " " . add_extra_includes();
|
||||||
$comp_flags = $extra_cxxflags;
|
$comp_flags = $extra_cxxflags;
|
||||||
|
$comp_flags_prefix = $extra_cxxflags_prefix;
|
||||||
# $libs = $cxx_lib . " " . $libs;
|
# $libs = $cxx_lib . " " . $libs;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -142,8 +148,12 @@ my @exec_argv = ();
|
|||||||
|
|
||||||
# assemble command
|
# assemble command
|
||||||
push(@exec_argv, split(' ', $comp));
|
push(@exec_argv, split(' ', $comp));
|
||||||
# Per https://svn.open-mpi.org/trac/ompi/ticket/2201, add all the user
|
# Per tickets https://svn.open-mpi.org/trac/ompi/ticket/2474, and
|
||||||
# arguments before anything else.
|
# https://svn.open-mpi.org/trac/ompi/ticket/2201, construct command
|
||||||
|
# with some system arguments before user arguments and some after.
|
||||||
|
if ($want_compile == 1) {
|
||||||
|
push(@exec_argv, split(' ', $comp_flags_prefix));
|
||||||
|
}
|
||||||
push(@exec_argv, @appargs);
|
push(@exec_argv, @appargs);
|
||||||
if ($want_preproc == 1) {
|
if ($want_preproc == 1) {
|
||||||
push(@exec_argv, split(' ', $preproc_flags));
|
push(@exec_argv, split(' ', $preproc_flags));
|
||||||
|
@ -14,6 +14,7 @@ compiler_flags_env=CXXFLAGS
|
|||||||
compiler=@CXX@
|
compiler=@CXX@
|
||||||
extra_includes=@ORTE_WRAPPER_EXTRA_INCLUDES@
|
extra_includes=@ORTE_WRAPPER_EXTRA_INCLUDES@
|
||||||
preprocessor_flags=@ORTE_WRAPPER_EXTRA_CPPFLAGS@
|
preprocessor_flags=@ORTE_WRAPPER_EXTRA_CPPFLAGS@
|
||||||
|
compiler_flags_prefix=@ORTE_WRAPPER_EXTRA_CXXFLAGS_PREFIX@
|
||||||
compiler_flags=@ORTE_WRAPPER_EXTRA_CXXFLAGS@
|
compiler_flags=@ORTE_WRAPPER_EXTRA_CXXFLAGS@
|
||||||
linker_flags=@ORTE_WRAPPER_EXTRA_LDFLAGS@
|
linker_flags=@ORTE_WRAPPER_EXTRA_LDFLAGS@
|
||||||
libs=-lopen-rte @ORTE_WRAPPER_EXTRA_LIBS@
|
libs=-lopen-rte @ORTE_WRAPPER_EXTRA_LIBS@
|
||||||
|
@ -14,6 +14,7 @@ compiler_flags_env=CFLAGS
|
|||||||
compiler=@CC@
|
compiler=@CC@
|
||||||
extra_includes=@ORTE_WRAPPER_EXTRA_INCLUDES@
|
extra_includes=@ORTE_WRAPPER_EXTRA_INCLUDES@
|
||||||
preprocessor_flags=@ORTE_WRAPPER_EXTRA_CPPFLAGS@
|
preprocessor_flags=@ORTE_WRAPPER_EXTRA_CPPFLAGS@
|
||||||
|
compiler_flags_prefix=@ORTE_WRAPPER_EXTRA_CFLAGS_PREFIX@
|
||||||
compiler_flags=@ORTE_WRAPPER_EXTRA_CFLAGS@
|
compiler_flags=@ORTE_WRAPPER_EXTRA_CFLAGS@
|
||||||
linker_flags=@ORTE_WRAPPER_EXTRA_LDFLAGS@
|
linker_flags=@ORTE_WRAPPER_EXTRA_LDFLAGS@
|
||||||
libs=-lopen-rte @ORTE_WRAPPER_EXTRA_LIBS@
|
libs=-lopen-rte @ORTE_WRAPPER_EXTRA_LIBS@
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user