Update master to PMIx v4
Retain ext3x for PMIx 3 compatibility Get the blasted permissions correct on config files Signed-off-by: Ralph Castain <rhc@open-mpi.org>
Этот коммит содержится в:
родитель
fb67b1703f
Коммит
466cad6cb2
.gitignore
config
ompi/runtime
opal/mca/pmix
ext3x
ext4x
pmix3x
pmix4x
Makefile.amautogen.subdirscommon_sym_whitelist.txtconfigure.m4help-pmix-pmix4x.txt
pmix
AUTHORSHACKINGINSTALLLICENSEMakefile.amNEWSREADMEVERSIONautogen.pl
bindings
config
Makefile.amautogen_found_items.m4c_get_alignment.m4distscript.shpmix.m4pmix_check_attributes.m4pmix_check_broken_qsort.m4pmix_check_compiler_version.m4pmix_check_icc.m4pmix_check_ident.m4pmix_check_lock.m4pmix_check_os_flavors.m4pmix_check_package.m4pmix_check_psm2.m4pmix_check_pthread_pids.m4pmix_check_vendor.m4pmix_check_visibility.m4pmix_check_withdir.m4pmix_config_asm.m4pmix_config_pthreads.m4pmix_config_subdir.m4pmix_config_subdir_args.m4pmix_config_threads.m4pmix_ensure_contains_optflags.m4pmix_functions.m4pmix_get_version.shpmix_load_platform.m4pmix_mca.m4pmix_mca_priority_sort.plpmix_search_libs.m4pmix_set_mca_prefix.m4pmix_setup_cc.m4pmix_setup_cli.m4pmix_setup_hwloc.m4pmix_setup_libevent.m4pmix_setup_zlib.m4pmix_summary.m4pmix_try_assemble.m4
configure.accontrib
Makefile.ambuildrpm.shcron-run-all-md2nroff.plmake_dist_tarballmd2nroff.pl
perf_tools
MakefileMakefile.includeREADMEpmi.hpmi2.cpmi2_pmap_parser.cpmi2_pmap_parser.hpmi2_utils.cpmi2_utils.hpmi_intra_perf.cpmix.crun.sh
platform
pmix-release.shpmix-valgrind.supppmix.specpmix_jenkins.shupdate-my-copyright.plwhitespace-purge.shetc
12
.gitignore
поставляемый
12
.gitignore
поставляемый
@ -391,12 +391,12 @@ opal/mca/pmix/pmix*/pmix/examples/pub
|
|||||||
opal/mca/pmix/pmix*/pmix/examples/server
|
opal/mca/pmix/pmix*/pmix/examples/server
|
||||||
opal/mca/pmix/pmix*/pmix/examples/tool
|
opal/mca/pmix/pmix*/pmix/examples/tool
|
||||||
|
|
||||||
opal/mca/pmix/ext3x/ext3x.c
|
opal/mca/pmix/ext4x/ext4x.c
|
||||||
opal/mca/pmix/ext3x/ext3x.h
|
opal/mca/pmix/ext4x/ext4x.h
|
||||||
opal/mca/pmix/ext3x/ext3x_client.c
|
opal/mca/pmix/ext4x/ext4x_client.c
|
||||||
opal/mca/pmix/ext3x/ext3x_component.c
|
opal/mca/pmix/ext4x/ext4x_component.c
|
||||||
opal/mca/pmix/ext3x/ext3x_server_north.c
|
opal/mca/pmix/ext4x/ext4x_server_north.c
|
||||||
opal/mca/pmix/ext3x/ext3x_server_south.c
|
opal/mca/pmix/ext4x/ext4x_server_south.c
|
||||||
|
|
||||||
opal/tools/opal-checkpoint/opal-checkpoint
|
opal/tools/opal-checkpoint/opal-checkpoint
|
||||||
opal/tools/opal-checkpoint/opal-checkpoint.1
|
opal/tools/opal-checkpoint/opal-checkpoint.1
|
||||||
|
@ -337,12 +337,25 @@ AC_DEFUN([OPAL_CHECK_PMIX],[
|
|||||||
|
|
||||||
# if it does exist, then we need to parse it to find
|
# if it does exist, then we need to parse it to find
|
||||||
# the actual release series
|
# the actual release series
|
||||||
|
AS_IF([test "$opal_external_pmix_version_found" = "0"],
|
||||||
|
[AC_MSG_CHECKING([version 4x])
|
||||||
|
AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
|
||||||
|
#include <pmix_version.h>
|
||||||
|
#if (PMIX_VERSION_MAJOR < 4L)
|
||||||
|
#error "not version 4 or above"
|
||||||
|
#endif
|
||||||
|
], [])],
|
||||||
|
[AC_MSG_RESULT([found])
|
||||||
|
opal_external_pmix_version=4x
|
||||||
|
opal_external_pmix_version_found=1],
|
||||||
|
[AC_MSG_RESULT([not found])])])
|
||||||
|
|
||||||
AS_IF([test "$opal_external_pmix_version_found" = "0"],
|
AS_IF([test "$opal_external_pmix_version_found" = "0"],
|
||||||
[AC_MSG_CHECKING([version 3x or above])
|
[AC_MSG_CHECKING([version 3x or above])
|
||||||
AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
|
AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
|
||||||
#include <pmix_version.h>
|
#include <pmix_version.h>
|
||||||
#if (PMIX_VERSION_MAJOR < 3L)
|
#if (PMIX_VERSION_MAJOR != 3L)
|
||||||
#error "not version 3 or above"
|
#error "not version 3"
|
||||||
#endif
|
#endif
|
||||||
], [])],
|
], [])],
|
||||||
[AC_MSG_RESULT([found])
|
[AC_MSG_RESULT([found])
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
* Copyright (c) 2008-2009 Sun Microsystems, Inc. All rights reserved.
|
* Copyright (c) 2008-2009 Sun Microsystems, Inc. All rights reserved.
|
||||||
* Copyright (c) 2011 Sandia National Laboratories. All rights reserved.
|
* Copyright (c) 2011 Sandia National Laboratories. All rights reserved.
|
||||||
* Copyright (c) 2012-2013 Inria. All rights reserved.
|
* Copyright (c) 2012-2013 Inria. All rights reserved.
|
||||||
* Copyright (c) 2014-2017 Intel, Inc. All rights reserved.
|
* Copyright (c) 2014-2018 Intel, Inc. All rights reserved.
|
||||||
* Copyright (c) 2014-2016 Research Organization for Information Science
|
* Copyright (c) 2014-2016 Research Organization for Information Science
|
||||||
* and Technology (RIST). All rights reserved.
|
* and Technology (RIST). All rights reserved.
|
||||||
* Copyright (c) 2016-2018 Mellanox Technologies Ltd. All rights reserved.
|
* Copyright (c) 2016-2018 Mellanox Technologies Ltd. All rights reserved.
|
||||||
@ -531,7 +531,7 @@ int ompi_mpi_init(int argc, char **argv, int requested, int *provided,
|
|||||||
/* we want to go first */
|
/* we want to go first */
|
||||||
OBJ_CONSTRUCT(&info, opal_list_t);
|
OBJ_CONSTRUCT(&info, opal_list_t);
|
||||||
kv = OBJ_NEW(opal_value_t);
|
kv = OBJ_NEW(opal_value_t);
|
||||||
kv->key = strdup(OPAL_PMIX_EVENT_ORDER_PREPEND);
|
kv->key = strdup(OPAL_PMIX_EVENT_HDLR_PREPEND);
|
||||||
opal_list_append(&info, &kv->super);
|
opal_list_append(&info, &kv->super);
|
||||||
/* give it a name so we can distinguish it */
|
/* give it a name so we can distinguish it */
|
||||||
kv = OBJ_NEW(opal_value_t);
|
kv = OBJ_NEW(opal_value_t);
|
||||||
@ -660,7 +660,7 @@ int ompi_mpi_init(int argc, char **argv, int requested, int *provided,
|
|||||||
opal_pmix.commit();
|
opal_pmix.commit();
|
||||||
OMPI_TIMING_NEXT("commit");
|
OMPI_TIMING_NEXT("commit");
|
||||||
#if (OPAL_ENABLE_TIMING)
|
#if (OPAL_ENABLE_TIMING)
|
||||||
if (OMPI_TIMING_ENABLED && !opal_pmix_base_async_modex &&
|
if (OMPI_TIMING_ENABLED && !opal_pmix_base_async_modex &&
|
||||||
opal_pmix_collect_all_data) {
|
opal_pmix_collect_all_data) {
|
||||||
if (OMPI_SUCCESS != (ret = opal_pmix.fence(NULL, 0))) {
|
if (OMPI_SUCCESS != (ret = opal_pmix.fence(NULL, 0))) {
|
||||||
error = "timing: pmix-barrier-1 failed";
|
error = "timing: pmix-barrier-1 failed";
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2014-2017 Intel, Inc. All rights reserved.
|
# Copyright (c) 2014-2018 Intel, Inc. All rights reserved.
|
||||||
# Copyright (c) 2015 Cisco Systems, Inc. All rights reserved.
|
# Copyright (c) 2015 Cisco Systems, Inc. All rights reserved.
|
||||||
# Copyright (c) 2015-2018 Research Organization for Information Science
|
# Copyright (c) 2015-2018 Research Organization for Information Science
|
||||||
# and Technology (RIST). All rights reserved.
|
# and Technology (RIST). All rights reserved.
|
||||||
@ -38,19 +38,6 @@ component_noinst = libmca_pmix_ext3x.la
|
|||||||
component_install =
|
component_install =
|
||||||
endif
|
endif
|
||||||
|
|
||||||
#
|
|
||||||
# Generate ext3x sources from the pmix3x component
|
|
||||||
#
|
|
||||||
$(nodist_headers):
|
|
||||||
pmix3xname=`echo $@ | sed -e s/ext3x/pmix3x/g` ; \
|
|
||||||
$(SED) 's/pmix3x/ext3x/g' $(top_srcdir)/opal/mca/pmix/pmix3x/$$pmix3xname > $@
|
|
||||||
|
|
||||||
$(sources): $(nodist_headers)
|
|
||||||
|
|
||||||
$(nodist_sources): $(nodist_headers)
|
|
||||||
pmix3xname=`echo $@ | sed -e s/ext3x/pmix3x/g` ; \
|
|
||||||
$(SED) 's/pmix3x/ext3x/g' $(top_srcdir)/opal/mca/pmix/pmix3x/$$pmix3xname > $@
|
|
||||||
|
|
||||||
mcacomponentdir = $(opallibdir)
|
mcacomponentdir = $(opallibdir)
|
||||||
mcacomponent_LTLIBRARIES = $(component_install)
|
mcacomponent_LTLIBRARIES = $(component_install)
|
||||||
mca_pmix_ext3x_la_SOURCES = $(sources)
|
mca_pmix_ext3x_la_SOURCES = $(sources)
|
||||||
|
351
opal/mca/pmix/ext3x/ext3x.h
Обычный файл
351
opal/mca/pmix/ext3x/ext3x.h
Обычный файл
@ -0,0 +1,351 @@
|
|||||||
|
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2014-2018 Intel, Inc. All rights reserved.
|
||||||
|
* Copyright (c) 2014-2015 Mellanox Technologies, Inc.
|
||||||
|
* All rights reserved.
|
||||||
|
* Copyright (c) 2016 Research Organization for Information Science
|
||||||
|
* and Technology (RIST). All rights reserved.
|
||||||
|
* Copyright (c) 2017 Los Alamos National Security, LLC. All rights
|
||||||
|
* reserved.
|
||||||
|
* $COPYRIGHT$
|
||||||
|
*
|
||||||
|
* Additional copyrights may follow
|
||||||
|
*
|
||||||
|
* $HEADER$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef MCA_PMIX_PMIX2X_H
|
||||||
|
#define MCA_PMIX_PMIX2X_H
|
||||||
|
|
||||||
|
#include "opal_config.h"
|
||||||
|
|
||||||
|
#ifdef HAVE_SYS_SOCKET_H
|
||||||
|
#include <sys/socket.h>
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_SYS_UN_H
|
||||||
|
#include <sys/un.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "opal/class/opal_list.h"
|
||||||
|
#include "opal/mca/mca.h"
|
||||||
|
#include "opal/mca/event/event.h"
|
||||||
|
#include "opal/util/proc.h"
|
||||||
|
|
||||||
|
#include "opal/mca/pmix/base/base.h"
|
||||||
|
#include "pmix_server.h"
|
||||||
|
#include "pmix_common.h"
|
||||||
|
|
||||||
|
BEGIN_C_DECLS
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
opal_pmix_base_component_t super;
|
||||||
|
pmix_proc_t myproc;
|
||||||
|
opal_list_t jobids;
|
||||||
|
bool native_launch;
|
||||||
|
size_t evindex;
|
||||||
|
opal_list_t events;
|
||||||
|
int cache_size;
|
||||||
|
opal_list_t cache;
|
||||||
|
opal_list_t dmdx;
|
||||||
|
bool silence_warning;
|
||||||
|
} mca_pmix_ext3x_component_t;
|
||||||
|
|
||||||
|
OPAL_DECLSPEC extern mca_pmix_ext3x_component_t mca_pmix_ext3x_component;
|
||||||
|
|
||||||
|
OPAL_DECLSPEC extern const opal_pmix_base_module_t opal_pmix_ext3x_module;
|
||||||
|
|
||||||
|
/**** INTERNAL OBJECTS ****/
|
||||||
|
typedef struct {
|
||||||
|
opal_list_item_t super;
|
||||||
|
opal_jobid_t jobid;
|
||||||
|
char nspace[PMIX_MAX_NSLEN + 1];
|
||||||
|
} opal_ext3x_jobid_trkr_t;
|
||||||
|
OBJ_CLASS_DECLARATION(opal_ext3x_jobid_trkr_t);
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
opal_list_item_t super;
|
||||||
|
opal_pmix_lock_t lock;
|
||||||
|
size_t index;
|
||||||
|
opal_pmix_notification_fn_t handler;
|
||||||
|
void *cbdata;
|
||||||
|
} opal_ext3x_event_t;
|
||||||
|
OBJ_CLASS_DECLARATION(opal_ext3x_event_t);
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
opal_list_item_t super;
|
||||||
|
char *nspace;
|
||||||
|
pmix_modex_cbfunc_t cbfunc;
|
||||||
|
void *cbdata;
|
||||||
|
} opal_ext3x_dmx_trkr_t;
|
||||||
|
OBJ_CLASS_DECLARATION(opal_ext3x_dmx_trkr_t);
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
opal_object_t super;
|
||||||
|
opal_event_t ev;
|
||||||
|
pmix_status_t status;
|
||||||
|
char *nspace;
|
||||||
|
pmix_proc_t p;
|
||||||
|
pmix_proc_t *procs;
|
||||||
|
size_t nprocs;
|
||||||
|
pmix_pdata_t *pdata;
|
||||||
|
size_t npdata;
|
||||||
|
pmix_proc_t *error_procs;
|
||||||
|
size_t nerror_procs;
|
||||||
|
pmix_info_t *info;
|
||||||
|
size_t ninfo;
|
||||||
|
pmix_app_t *apps;
|
||||||
|
size_t sz;
|
||||||
|
opal_pmix_lock_t lock;
|
||||||
|
opal_list_t *codes;
|
||||||
|
pmix_status_t *pcodes;
|
||||||
|
size_t ncodes;
|
||||||
|
pmix_query_t *queries;
|
||||||
|
size_t nqueries;
|
||||||
|
opal_ext3x_event_t *event;
|
||||||
|
opal_pmix_op_cbfunc_t opcbfunc;
|
||||||
|
opal_pmix_modex_cbfunc_t mdxcbfunc;
|
||||||
|
opal_pmix_value_cbfunc_t valcbfunc;
|
||||||
|
opal_pmix_lookup_cbfunc_t lkcbfunc;
|
||||||
|
opal_pmix_spawn_cbfunc_t spcbfunc;
|
||||||
|
opal_pmix_evhandler_reg_cbfunc_t evregcbfunc;
|
||||||
|
opal_pmix_info_cbfunc_t qcbfunc;
|
||||||
|
opal_pmix_setup_application_cbfunc_t setupcbfunc;
|
||||||
|
void *cbdata;
|
||||||
|
} ext3x_opcaddy_t;
|
||||||
|
OBJ_CLASS_DECLARATION(ext3x_opcaddy_t);
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
opal_object_t super;
|
||||||
|
opal_list_t procs;
|
||||||
|
opal_list_t info;
|
||||||
|
opal_list_t apps;
|
||||||
|
pmix_op_cbfunc_t opcbfunc;
|
||||||
|
pmix_dmodex_response_fn_t dmdxfunc;
|
||||||
|
pmix_modex_cbfunc_t mdxcbfunc;
|
||||||
|
pmix_lookup_cbfunc_t lkupcbfunc;
|
||||||
|
pmix_spawn_cbfunc_t spwncbfunc;
|
||||||
|
pmix_info_cbfunc_t infocbfunc;
|
||||||
|
pmix_tool_connection_cbfunc_t toolcbfunc;
|
||||||
|
void *cbdata;
|
||||||
|
opal_pmix_release_cbfunc_t odmdxfunc;
|
||||||
|
void *ocbdata;
|
||||||
|
} ext3x_opalcaddy_t;
|
||||||
|
OBJ_CLASS_DECLARATION(ext3x_opalcaddy_t);
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
opal_object_t super;
|
||||||
|
opal_event_t ev;
|
||||||
|
opal_pmix_lock_t lock;
|
||||||
|
const char *msg;
|
||||||
|
char *strings;
|
||||||
|
size_t id;
|
||||||
|
int status;
|
||||||
|
opal_process_name_t pname;
|
||||||
|
opal_jobid_t jobid;
|
||||||
|
const opal_process_name_t *source;
|
||||||
|
opal_pmix_data_range_t range;
|
||||||
|
bool nondefault;
|
||||||
|
size_t handler;
|
||||||
|
opal_value_t *val;
|
||||||
|
opal_list_t *event_codes;
|
||||||
|
opal_list_t *info;
|
||||||
|
opal_list_t results;
|
||||||
|
opal_pmix_notification_fn_t evhandler;
|
||||||
|
opal_pmix_evhandler_reg_cbfunc_t cbfunc;
|
||||||
|
opal_pmix_op_cbfunc_t opcbfunc;
|
||||||
|
pmix_event_notification_cbfunc_fn_t pmixcbfunc;
|
||||||
|
opal_pmix_value_cbfunc_t valcbfunc;
|
||||||
|
opal_pmix_lookup_cbfunc_t lkcbfunc;
|
||||||
|
void *cbdata;
|
||||||
|
} ext3x_threadshift_t;
|
||||||
|
OBJ_CLASS_DECLARATION(ext3x_threadshift_t);
|
||||||
|
|
||||||
|
#define OPAL_PMIX_OP_THREADSHIFT(e, fn, cb, cd) \
|
||||||
|
do { \
|
||||||
|
ext3x_threadshift_t *_cd; \
|
||||||
|
_cd = OBJ_NEW(ext3x_threadshift_t); \
|
||||||
|
_cd->handler = (e); \
|
||||||
|
_cd->opcbfunc = (cb); \
|
||||||
|
_cd->cbdata = (cd); \
|
||||||
|
opal_event_assign(&((_cd)->ev), opal_pmix_base.evbase, \
|
||||||
|
-1, EV_WRITE, (fn), (_cd)); \
|
||||||
|
OPAL_POST_OBJECT(_cd); \
|
||||||
|
opal_event_active(&((_cd)->ev), EV_WRITE, 1); \
|
||||||
|
} while(0)
|
||||||
|
|
||||||
|
#define OPAL_PMIX_THREADSHIFT(e, i, eh, fn, cb, cd) \
|
||||||
|
do { \
|
||||||
|
ext3x_threadshift_t *_cd; \
|
||||||
|
_cd = OBJ_NEW(ext3x_threadshift_t); \
|
||||||
|
_cd->event_codes = (e); \
|
||||||
|
_cd->info = (i); \
|
||||||
|
_cd->evhandler = (eh); \
|
||||||
|
_cd->cbfunc = (cb); \
|
||||||
|
_cd->cbdata = (cd); \
|
||||||
|
opal_event_assign(&((_cd)->ev), opal_pmix_base.evbase, \
|
||||||
|
-1, EV_WRITE, (fn), (_cd)); \
|
||||||
|
OPAL_POST_OBJECT(_cd); \
|
||||||
|
opal_event_active(&((_cd)->ev), EV_WRITE, 1); \
|
||||||
|
} while(0)
|
||||||
|
|
||||||
|
#define OPAL_PMIX_NOTIFY_THREADSHIFT(s, sr, r, i, fn, cb, cd) \
|
||||||
|
do { \
|
||||||
|
ext3x_threadshift_t *_cd; \
|
||||||
|
_cd = OBJ_NEW(ext3x_threadshift_t); \
|
||||||
|
_cd->status = (s); \
|
||||||
|
_cd->source = (sr); \
|
||||||
|
_cd->range = (r); \
|
||||||
|
_cd->info = (i); \
|
||||||
|
_cd->opcbfunc = (cb); \
|
||||||
|
_cd->cbdata = (cd); \
|
||||||
|
opal_event_assign(&((_cd)->ev), opal_pmix_base.evbase, \
|
||||||
|
-1, EV_WRITE, (fn), (_cd)); \
|
||||||
|
OPAL_POST_OBJECT(_cd); \
|
||||||
|
opal_event_active(&((_cd)->ev), EV_WRITE, 1); \
|
||||||
|
} while(0)
|
||||||
|
|
||||||
|
#define OPAL_PMIX2X_THREADSHIFT(p, cb) \
|
||||||
|
do { \
|
||||||
|
opal_event_assign(&((p)->ev), opal_pmix_base.evbase, \
|
||||||
|
-1, EV_WRITE, (cb), (p)); \
|
||||||
|
OPAL_POST_OBJECT(p); \
|
||||||
|
opal_event_active(&((p)->ev), EV_WRITE, 1); \
|
||||||
|
} while(0)
|
||||||
|
|
||||||
|
/**** CLIENT FUNCTIONS ****/
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_client_init(opal_list_t *ilist);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_client_finalize(void);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_initialized(void);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_abort(int flag, const char *msg,
|
||||||
|
opal_list_t *procs);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_commit(void);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_fence(opal_list_t *procs, int collect_data);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_fencenb(opal_list_t *procs, int collect_data,
|
||||||
|
opal_pmix_op_cbfunc_t cbfunc, void *cbdata);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_put(opal_pmix_scope_t scope,
|
||||||
|
opal_value_t *val);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_get(const opal_process_name_t *proc, const char *key,
|
||||||
|
opal_list_t *info, opal_value_t **val);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_getnb(const opal_process_name_t *proc, const char *key,
|
||||||
|
opal_list_t *info,
|
||||||
|
opal_pmix_value_cbfunc_t cbfunc, void *cbdata);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_publish(opal_list_t *info);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_publishnb(opal_list_t *info,
|
||||||
|
opal_pmix_op_cbfunc_t cbfunc, void *cbdata);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_lookup(opal_list_t *data, opal_list_t *info);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_lookupnb(char **keys, opal_list_t *info,
|
||||||
|
opal_pmix_lookup_cbfunc_t cbfunc, void *cbdata);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_unpublish(char **keys, opal_list_t *info);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_unpublishnb(char **keys, opal_list_t *info,
|
||||||
|
opal_pmix_op_cbfunc_t cbfunc, void *cbdata);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_spawn(opal_list_t *job_info, opal_list_t *apps, opal_jobid_t *jobid);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_spawnnb(opal_list_t *job_info, opal_list_t *apps,
|
||||||
|
opal_pmix_spawn_cbfunc_t cbfunc, void *cbdata);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_connect(opal_list_t *procs);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_connectnb(opal_list_t *procs,
|
||||||
|
opal_pmix_op_cbfunc_t cbfunc,
|
||||||
|
void *cbdata);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_disconnect(opal_list_t *procs);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_disconnectnb(opal_list_t *procs,
|
||||||
|
opal_pmix_op_cbfunc_t cbfunc,
|
||||||
|
void *cbdata);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_resolve_peers(const char *nodename, opal_jobid_t jobid,
|
||||||
|
opal_list_t *procs);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_resolve_nodes(opal_jobid_t jobid, char **nodelist);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_allocate(opal_pmix_alloc_directive_t directive,
|
||||||
|
opal_list_t *info,
|
||||||
|
opal_pmix_info_cbfunc_t cbfunc, void *cbdata);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_job_control(opal_list_t *targets,
|
||||||
|
opal_list_t *directives,
|
||||||
|
opal_pmix_info_cbfunc_t cbfunc, void *cbdata);
|
||||||
|
|
||||||
|
/**** TOOL FUNCTIONS ****/
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_tool_init(opal_list_t *info);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_tool_fini(void);
|
||||||
|
|
||||||
|
/**** COMMON FUNCTIONS ****/
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_store_local(const opal_process_name_t *proc,
|
||||||
|
opal_value_t *val);
|
||||||
|
|
||||||
|
/**** SERVER SOUTHBOUND FUNCTIONS ****/
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_server_init(opal_pmix_server_module_t *module,
|
||||||
|
opal_list_t *info);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_server_finalize(void);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_server_gen_regex(const char *input, char **regex);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_server_gen_ppn(const char *input, char **ppn);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_server_register_nspace(opal_jobid_t jobid,
|
||||||
|
int nlocalprocs,
|
||||||
|
opal_list_t *info,
|
||||||
|
opal_pmix_op_cbfunc_t cbfunc,
|
||||||
|
void *cbdata);
|
||||||
|
OPAL_MODULE_DECLSPEC void ext3x_server_deregister_nspace(opal_jobid_t jobid,
|
||||||
|
opal_pmix_op_cbfunc_t cbfunc,
|
||||||
|
void *cbdata);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_server_register_client(const opal_process_name_t *proc,
|
||||||
|
uid_t uid, gid_t gid,
|
||||||
|
void *server_object,
|
||||||
|
opal_pmix_op_cbfunc_t cbfunc,
|
||||||
|
void *cbdata);
|
||||||
|
OPAL_MODULE_DECLSPEC void ext3x_server_deregister_client(const opal_process_name_t *proc,
|
||||||
|
opal_pmix_op_cbfunc_t cbfunc,
|
||||||
|
void *cbdata);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_server_setup_fork(const opal_process_name_t *proc, char ***env);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_server_dmodex(const opal_process_name_t *proc,
|
||||||
|
opal_pmix_modex_cbfunc_t cbfunc, void *cbdata);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_server_notify_event(int status,
|
||||||
|
const opal_process_name_t *source,
|
||||||
|
opal_list_t *info,
|
||||||
|
opal_pmix_op_cbfunc_t cbfunc, void *cbdata);
|
||||||
|
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_server_iof_push(const opal_process_name_t *source,
|
||||||
|
opal_pmix_iof_channel_t channel,
|
||||||
|
unsigned char *data, size_t nbytes);
|
||||||
|
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_server_setup_application(opal_jobid_t jobid,
|
||||||
|
opal_list_t *info,
|
||||||
|
opal_pmix_setup_application_cbfunc_t cbfunc, void *cbdata);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_server_setup_local_support(opal_jobid_t jobid,
|
||||||
|
opal_list_t *info,
|
||||||
|
opal_pmix_op_cbfunc_t cbfunc, void *cbdata);
|
||||||
|
|
||||||
|
/**** COMPONENT UTILITY FUNCTIONS ****/
|
||||||
|
OPAL_MODULE_DECLSPEC int opal_pmix_ext3x_check_evars(void);
|
||||||
|
|
||||||
|
OPAL_MODULE_DECLSPEC void ext3x_event_hdlr(size_t evhdlr_registration_id,
|
||||||
|
pmix_status_t status, const pmix_proc_t *source,
|
||||||
|
pmix_info_t info[], size_t ninfo,
|
||||||
|
pmix_info_t results[], size_t nresults,
|
||||||
|
pmix_event_notification_cbfunc_fn_t cbfunc,
|
||||||
|
void *cbdata);
|
||||||
|
OPAL_MODULE_DECLSPEC pmix_status_t ext3x_convert_opalrc(int rc);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_convert_rc(pmix_status_t rc);
|
||||||
|
|
||||||
|
OPAL_MODULE_DECLSPEC opal_vpid_t ext3x_convert_rank(pmix_rank_t rank);
|
||||||
|
OPAL_MODULE_DECLSPEC pmix_rank_t ext3x_convert_opalrank(opal_vpid_t vpid);
|
||||||
|
|
||||||
|
OPAL_MODULE_DECLSPEC opal_pmix_scope_t ext3x_convert_scope(pmix_scope_t scope);
|
||||||
|
OPAL_MODULE_DECLSPEC pmix_scope_t ext3x_convert_opalscope(opal_pmix_scope_t scope);
|
||||||
|
|
||||||
|
OPAL_MODULE_DECLSPEC pmix_data_range_t ext3x_convert_opalrange(opal_pmix_data_range_t range);
|
||||||
|
OPAL_MODULE_DECLSPEC opal_pmix_data_range_t ext3x_convert_range(pmix_data_range_t range);
|
||||||
|
|
||||||
|
OPAL_MODULE_DECLSPEC opal_pmix_persistence_t ext3x_convert_persist(pmix_persistence_t scope);
|
||||||
|
OPAL_MODULE_DECLSPEC pmix_persistence_t ext3x_convert_opalpersist(opal_pmix_persistence_t scope);
|
||||||
|
|
||||||
|
OPAL_MODULE_DECLSPEC void ext3x_value_load(pmix_value_t *v,
|
||||||
|
opal_value_t *kv);
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_value_unload(opal_value_t *kv,
|
||||||
|
const pmix_value_t *v);
|
||||||
|
|
||||||
|
OPAL_MODULE_DECLSPEC opal_pmix_alloc_directive_t ext3x_convert_allocdir(pmix_alloc_directive_t dir);
|
||||||
|
|
||||||
|
OPAL_MODULE_DECLSPEC char* ext3x_convert_jobid(opal_jobid_t jobid);
|
||||||
|
|
||||||
|
OPAL_MODULE_DECLSPEC int ext3x_convert_state(pmix_proc_state_t state);
|
||||||
|
|
||||||
|
OPAL_MODULE_DECLSPEC pmix_proc_state_t ext3x_convert_opalstate(int state);
|
||||||
|
|
||||||
|
|
||||||
|
END_C_DECLS
|
||||||
|
|
||||||
|
#endif /* MCA_PMIX_EXTERNAL_H */
|
1664
opal/mca/pmix/ext3x/ext3x_client.c
Обычный файл
1664
opal/mca/pmix/ext3x/ext3x_client.c
Обычный файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
@ -23,13 +23,13 @@
|
|||||||
#include "opal/util/proc.h"
|
#include "opal/util/proc.h"
|
||||||
#include "opal/util/show_help.h"
|
#include "opal/util/show_help.h"
|
||||||
#include "opal/mca/pmix/pmix.h"
|
#include "opal/mca/pmix/pmix.h"
|
||||||
#include "pmix3x.h"
|
#include "ext3x.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Public string showing the pmix external component version number
|
* Public string showing the pmix external component version number
|
||||||
*/
|
*/
|
||||||
const char *opal_pmix_pmix3x_component_version_string =
|
const char *opal_pmix_ext3x_component_version_string =
|
||||||
"OPAL pmix3x MCA component version " OPAL_VERSION;
|
"OPAL ext3x MCA component version " OPAL_VERSION;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Local function
|
* Local function
|
||||||
@ -50,7 +50,7 @@ static char *pmix_library_version = NULL;
|
|||||||
* and pointers to our public functions in it
|
* and pointers to our public functions in it
|
||||||
*/
|
*/
|
||||||
|
|
||||||
mca_pmix_pmix3x_component_t mca_pmix_pmix3x_component = {
|
mca_pmix_ext3x_component_t mca_pmix_ext3x_component = {
|
||||||
{
|
{
|
||||||
/* First, the mca_component_t struct containing meta information
|
/* First, the mca_component_t struct containing meta information
|
||||||
about the component itself */
|
about the component itself */
|
||||||
@ -63,7 +63,7 @@ mca_pmix_pmix3x_component_t mca_pmix_pmix3x_component = {
|
|||||||
|
|
||||||
/* Component name and version */
|
/* Component name and version */
|
||||||
|
|
||||||
.mca_component_name = "pmix3x",
|
.mca_component_name = "ext3x",
|
||||||
MCA_BASE_MAKE_VERSION(component, OPAL_MAJOR_VERSION, OPAL_MINOR_VERSION,
|
MCA_BASE_MAKE_VERSION(component, OPAL_MAJOR_VERSION, OPAL_MINOR_VERSION,
|
||||||
OPAL_RELEASE_VERSION),
|
OPAL_RELEASE_VERSION),
|
||||||
|
|
||||||
@ -85,16 +85,16 @@ mca_pmix_pmix3x_component_t mca_pmix_pmix3x_component = {
|
|||||||
|
|
||||||
static int external_register(void)
|
static int external_register(void)
|
||||||
{
|
{
|
||||||
mca_base_component_t *component = &mca_pmix_pmix3x_component.super.base_version;
|
mca_base_component_t *component = &mca_pmix_ext3x_component.super.base_version;
|
||||||
char *tmp = NULL;
|
char *tmp = NULL;
|
||||||
|
|
||||||
mca_pmix_pmix3x_component.silence_warning = false;
|
mca_pmix_ext3x_component.silence_warning = false;
|
||||||
(void) mca_base_component_var_register (component, "silence_warning",
|
(void) mca_base_component_var_register (component, "silence_warning",
|
||||||
"Silence warning about PMIX_INSTALL_PREFIX",
|
"Silence warning about PMIX_INSTALL_PREFIX",
|
||||||
MCA_BASE_VAR_TYPE_BOOL, NULL, 0, 0,
|
MCA_BASE_VAR_TYPE_BOOL, NULL, 0, 0,
|
||||||
OPAL_INFO_LVL_4,
|
OPAL_INFO_LVL_4,
|
||||||
MCA_BASE_VAR_SCOPE_READONLY,
|
MCA_BASE_VAR_SCOPE_READONLY,
|
||||||
&mca_pmix_pmix3x_component.silence_warning);
|
&mca_pmix_ext3x_component.silence_warning);
|
||||||
|
|
||||||
asprintf(&pmix_library_version,
|
asprintf(&pmix_library_version,
|
||||||
"PMIx library version %s (embedded in Open MPI)", PMIx_Get_version());
|
"PMIx library version %s (embedded in Open MPI)", PMIx_Get_version());
|
||||||
@ -115,10 +115,10 @@ static int external_open(void)
|
|||||||
{
|
{
|
||||||
const char *version;
|
const char *version;
|
||||||
|
|
||||||
mca_pmix_pmix3x_component.evindex = 0;
|
mca_pmix_ext3x_component.evindex = 0;
|
||||||
OBJ_CONSTRUCT(&mca_pmix_pmix3x_component.jobids, opal_list_t);
|
OBJ_CONSTRUCT(&mca_pmix_ext3x_component.jobids, opal_list_t);
|
||||||
OBJ_CONSTRUCT(&mca_pmix_pmix3x_component.events, opal_list_t);
|
OBJ_CONSTRUCT(&mca_pmix_ext3x_component.events, opal_list_t);
|
||||||
OBJ_CONSTRUCT(&mca_pmix_pmix3x_component.dmdx, opal_list_t);
|
OBJ_CONSTRUCT(&mca_pmix_ext3x_component.dmdx, opal_list_t);
|
||||||
|
|
||||||
version = PMIx_Get_version();
|
version = PMIx_Get_version();
|
||||||
if ('3' > version[0]) {
|
if ('3' > version[0]) {
|
||||||
@ -131,9 +131,9 @@ static int external_open(void)
|
|||||||
|
|
||||||
static int external_close(void)
|
static int external_close(void)
|
||||||
{
|
{
|
||||||
OPAL_LIST_DESTRUCT(&mca_pmix_pmix3x_component.jobids);
|
OPAL_LIST_DESTRUCT(&mca_pmix_ext3x_component.jobids);
|
||||||
OPAL_LIST_DESTRUCT(&mca_pmix_pmix3x_component.events);
|
OPAL_LIST_DESTRUCT(&mca_pmix_ext3x_component.events);
|
||||||
OPAL_LIST_DESTRUCT(&mca_pmix_pmix3x_component.dmdx);
|
OPAL_LIST_DESTRUCT(&mca_pmix_ext3x_component.dmdx);
|
||||||
|
|
||||||
return OPAL_SUCCESS;
|
return OPAL_SUCCESS;
|
||||||
}
|
}
|
||||||
@ -152,6 +152,6 @@ static int external_component_query(mca_base_module_t **module, int *priority)
|
|||||||
/* we could be a server, so we still need to be considered */
|
/* we could be a server, so we still need to be considered */
|
||||||
*priority = 5;
|
*priority = 5;
|
||||||
}
|
}
|
||||||
*module = (mca_base_module_t *)&opal_pmix_pmix3x_module;
|
*module = (mca_base_module_t *)&opal_pmix_ext3x_module;
|
||||||
return OPAL_SUCCESS;
|
return OPAL_SUCCESS;
|
||||||
}
|
}
|
1338
opal/mca/pmix/ext3x/ext3x_server_north.c
Обычный файл
1338
opal/mca/pmix/ext3x/ext3x_server_north.c
Обычный файл
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
790
opal/mca/pmix/ext3x/ext3x_server_south.c
Обычный файл
790
opal/mca/pmix/ext3x/ext3x_server_south.c
Обычный файл
@ -0,0 +1,790 @@
|
|||||||
|
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2014-2018 Intel, Inc. All rights reserved.
|
||||||
|
* Copyright (c) 2014-2017 Research Organization for Information Science
|
||||||
|
* and Technology (RIST). All rights reserved.
|
||||||
|
* Copyright (c) 2014-2016 Intel, Inc. All rights reserved.
|
||||||
|
* Copyright (c) 2014-2017 Mellanox Technologies, Inc.
|
||||||
|
* All rights reserved.
|
||||||
|
* Copyright (c) 2016 Cisco Systems, Inc. All rights reserved.
|
||||||
|
* Copyright (c) 2017 Los Alamos National Security, LLC. All rights
|
||||||
|
* reserved.
|
||||||
|
* $COPYRIGHT$
|
||||||
|
*
|
||||||
|
* Additional copyrights may follow
|
||||||
|
*
|
||||||
|
* $HEADER$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "opal_config.h"
|
||||||
|
#include "opal/constants.h"
|
||||||
|
#include "opal/types.h"
|
||||||
|
|
||||||
|
#ifdef HAVE_STRING_H
|
||||||
|
#include <string.h>
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_UNISTD_H
|
||||||
|
#include <unistd.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "opal/dss/dss.h"
|
||||||
|
#include "opal/mca/event/event.h"
|
||||||
|
#include "opal/mca/hwloc/base/base.h"
|
||||||
|
#include "opal/runtime/opal.h"
|
||||||
|
#include "opal/runtime/opal_progress_threads.h"
|
||||||
|
#include "opal/threads/threads.h"
|
||||||
|
#include "opal/util/argv.h"
|
||||||
|
#include "opal/util/error.h"
|
||||||
|
#include "opal/util/output.h"
|
||||||
|
#include "opal/util/opal_environ.h"
|
||||||
|
#include "opal/util/proc.h"
|
||||||
|
#include "opal/util/show_help.h"
|
||||||
|
#include "opal/mca/pmix/base/base.h"
|
||||||
|
#include "ext3x.h"
|
||||||
|
|
||||||
|
#include "pmix.h"
|
||||||
|
#include "pmix_server.h"
|
||||||
|
|
||||||
|
/**** S.O.U.T.H.B.O.U.N.D I.N.T.E.R.F.A.C.E.S ****/
|
||||||
|
|
||||||
|
/* These are the interfaces used by the OMPI/ORTE/OPAL layer to call
|
||||||
|
* down into the embedded PMIx server. */
|
||||||
|
|
||||||
|
extern pmix_server_module_t mymodule;
|
||||||
|
extern opal_pmix_server_module_t *host_module;
|
||||||
|
static char *dbgvalue=NULL;
|
||||||
|
|
||||||
|
static void errreg_cbfunc (pmix_status_t status,
|
||||||
|
size_t errhandler_ref,
|
||||||
|
void *cbdata)
|
||||||
|
{
|
||||||
|
opal_ext3x_event_t *ev = (opal_ext3x_event_t*)cbdata;
|
||||||
|
|
||||||
|
OPAL_ACQUIRE_OBJECT(ev);
|
||||||
|
ev->index = errhandler_ref;
|
||||||
|
opal_output_verbose(5, opal_pmix_base_framework.framework_output,
|
||||||
|
"PMIX server errreg_cbfunc - error handler registered status=%d, reference=%lu",
|
||||||
|
status, (unsigned long)errhandler_ref);
|
||||||
|
OPAL_POST_OBJECT(ev);
|
||||||
|
OPAL_PMIX_WAKEUP_THREAD(&ev->lock);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void opcbfunc(pmix_status_t status, void *cbdata)
|
||||||
|
{
|
||||||
|
ext3x_opcaddy_t *op = (ext3x_opcaddy_t*)cbdata;
|
||||||
|
|
||||||
|
OPAL_ACQUIRE_OBJECT(op);
|
||||||
|
|
||||||
|
if (NULL != op->opcbfunc) {
|
||||||
|
op->opcbfunc(ext3x_convert_rc(status), op->cbdata);
|
||||||
|
}
|
||||||
|
OBJ_RELEASE(op);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void lkcbfunc(pmix_status_t status, void *cbdata)
|
||||||
|
{
|
||||||
|
opal_pmix_lock_t *lk = (opal_pmix_lock_t*)cbdata;
|
||||||
|
|
||||||
|
OPAL_POST_OBJECT(lk);
|
||||||
|
lk->status = ext3x_convert_rc(status);
|
||||||
|
OPAL_PMIX_WAKEUP_THREAD(lk);
|
||||||
|
}
|
||||||
|
|
||||||
|
int ext3x_server_init(opal_pmix_server_module_t *module,
|
||||||
|
opal_list_t *info)
|
||||||
|
{
|
||||||
|
pmix_status_t rc;
|
||||||
|
int dbg;
|
||||||
|
opal_value_t *kv;
|
||||||
|
pmix_info_t *pinfo;
|
||||||
|
size_t sz, n;
|
||||||
|
opal_ext3x_event_t *event;
|
||||||
|
opal_ext3x_jobid_trkr_t *job;
|
||||||
|
opal_pmix_lock_t lk;
|
||||||
|
|
||||||
|
OPAL_PMIX_ACQUIRE_THREAD(&opal_pmix_base.lock);
|
||||||
|
|
||||||
|
if (0 == opal_pmix_base.initialized) {
|
||||||
|
if (0 < (dbg = opal_output_get_verbosity(opal_pmix_base_framework.framework_output))) {
|
||||||
|
asprintf(&dbgvalue, "PMIX_DEBUG=%d", dbg);
|
||||||
|
putenv(dbgvalue);
|
||||||
|
}
|
||||||
|
/* check the evars for a mismatch */
|
||||||
|
if (OPAL_SUCCESS != (dbg = opal_pmix_ext3x_check_evars())) {
|
||||||
|
OPAL_PMIX_RELEASE_THREAD(&opal_pmix_base.lock);
|
||||||
|
return dbg;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
++opal_pmix_base.initialized;
|
||||||
|
|
||||||
|
/* convert the list to an array of pmix_info_t */
|
||||||
|
sz = 2 + ((NULL==info)?0:opal_list_get_size(info));
|
||||||
|
PMIX_INFO_CREATE(pinfo, sz);
|
||||||
|
n = 0;
|
||||||
|
if (NULL != info) {
|
||||||
|
OPAL_LIST_FOREACH(kv, info, opal_value_t) {
|
||||||
|
(void)strncpy(pinfo[n].key, kv->key, PMIX_MAX_KEYLEN);
|
||||||
|
ext3x_value_load(&pinfo[n].value, kv);
|
||||||
|
++n;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* check for direct modex use-case */
|
||||||
|
if (opal_pmix_base_async_modex && !opal_pmix_collect_all_data) {
|
||||||
|
opal_setenv("PMIX_MCA_gds", "hash", true, &environ);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* insert ourselves into our list of jobids - it will be the
|
||||||
|
* first, and so we'll check it first */
|
||||||
|
job = OBJ_NEW(opal_ext3x_jobid_trkr_t);
|
||||||
|
(void)opal_snprintf_jobid(job->nspace, PMIX_MAX_NSLEN, OPAL_PROC_MY_NAME.jobid);
|
||||||
|
job->jobid = OPAL_PROC_MY_NAME.jobid;
|
||||||
|
opal_list_append(&mca_pmix_ext3x_component.jobids, &job->super);
|
||||||
|
OPAL_PMIX_RELEASE_THREAD(&opal_pmix_base.lock);
|
||||||
|
|
||||||
|
/* add our nspace and rank to the array going down to the PMIx server */
|
||||||
|
PMIX_INFO_LOAD(&pinfo[sz-2], PMIX_SERVER_NSPACE, job->nspace, PMIX_STRING);
|
||||||
|
PMIX_INFO_LOAD(&pinfo[sz-1], PMIX_SERVER_RANK, &OPAL_PROC_MY_NAME.vpid, PMIX_PROC_RANK);
|
||||||
|
if (PMIX_SUCCESS != (rc = PMIx_server_init(&mymodule, pinfo, sz))) {
|
||||||
|
PMIX_INFO_FREE(pinfo, sz);
|
||||||
|
return ext3x_convert_rc(rc);
|
||||||
|
}
|
||||||
|
PMIX_INFO_FREE(pinfo, sz);
|
||||||
|
|
||||||
|
/* record the host module */
|
||||||
|
host_module = module;
|
||||||
|
|
||||||
|
/* register the default event handler */
|
||||||
|
event = OBJ_NEW(opal_ext3x_event_t);
|
||||||
|
opal_list_append(&mca_pmix_ext3x_component.events, &event->super);
|
||||||
|
PMIX_INFO_CREATE(pinfo, 1);
|
||||||
|
PMIX_INFO_LOAD(&pinfo[0], PMIX_EVENT_HDLR_NAME, "OPAL-PMIX-2X-SERVER-DEFAULT", PMIX_STRING);
|
||||||
|
PMIx_Register_event_handler(NULL, 0, pinfo, 1, ext3x_event_hdlr, errreg_cbfunc, (void*)event);
|
||||||
|
OPAL_PMIX_WAIT_THREAD(&event->lock);
|
||||||
|
PMIX_INFO_FREE(pinfo, 1);
|
||||||
|
|
||||||
|
/* as we might want to use some client-side functions, be sure
|
||||||
|
* to register our own nspace */
|
||||||
|
OPAL_PMIX_CONSTRUCT_LOCK(&lk);
|
||||||
|
PMIX_INFO_CREATE(pinfo, 1);
|
||||||
|
PMIX_INFO_LOAD(&pinfo[0], PMIX_REGISTER_NODATA, NULL, PMIX_BOOL);
|
||||||
|
PMIx_server_register_nspace(job->nspace, 1, pinfo, 1, lkcbfunc, (void*)&lk);
|
||||||
|
OPAL_PMIX_WAIT_THREAD(&lk);
|
||||||
|
OPAL_PMIX_DESTRUCT_LOCK(&lk);
|
||||||
|
PMIX_INFO_FREE(pinfo, 1);
|
||||||
|
|
||||||
|
return OPAL_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void dereg_cbfunc(pmix_status_t st, void *cbdata)
|
||||||
|
{
|
||||||
|
opal_ext3x_event_t *ev = (opal_ext3x_event_t*)cbdata;
|
||||||
|
OPAL_PMIX_WAKEUP_THREAD(&ev->lock);
|
||||||
|
}
|
||||||
|
|
||||||
|
int ext3x_server_finalize(void)
|
||||||
|
{
|
||||||
|
pmix_status_t rc;
|
||||||
|
opal_ext3x_event_t *event, *ev2;
|
||||||
|
|
||||||
|
OPAL_PMIX_ACQUIRE_THREAD(&opal_pmix_base.lock);
|
||||||
|
--opal_pmix_base.initialized;
|
||||||
|
|
||||||
|
if (0 < opal_pmix_base.initialized) {
|
||||||
|
/* deregister all event handlers */
|
||||||
|
OPAL_LIST_FOREACH_SAFE(event, ev2, &mca_pmix_ext3x_component.events, opal_ext3x_event_t) {
|
||||||
|
OPAL_PMIX_DESTRUCT_LOCK(&event->lock);
|
||||||
|
OPAL_PMIX_CONSTRUCT_LOCK(&event->lock);
|
||||||
|
PMIx_Deregister_event_handler(event->index, dereg_cbfunc, (void*)event);
|
||||||
|
OPAL_PMIX_WAIT_THREAD(&event->lock);
|
||||||
|
opal_list_remove_item(&mca_pmix_ext3x_component.events, &event->super);
|
||||||
|
OBJ_RELEASE(event);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
OPAL_PMIX_RELEASE_THREAD(&opal_pmix_base.lock);
|
||||||
|
rc = PMIx_server_finalize();
|
||||||
|
return ext3x_convert_rc(rc);
|
||||||
|
}
|
||||||
|
|
||||||
|
int ext3x_server_gen_regex(const char *input, char **regex)
|
||||||
|
{
|
||||||
|
pmix_status_t rc;
|
||||||
|
|
||||||
|
OPAL_PMIX_ACQUIRE_THREAD(&opal_pmix_base.lock);
|
||||||
|
if (0 >= opal_pmix_base.initialized) {
|
||||||
|
OPAL_PMIX_RELEASE_THREAD(&opal_pmix_base.lock);
|
||||||
|
return OPAL_ERR_NOT_INITIALIZED;
|
||||||
|
}
|
||||||
|
OPAL_PMIX_RELEASE_THREAD(&opal_pmix_base.lock);
|
||||||
|
|
||||||
|
rc = PMIx_generate_regex(input, regex);
|
||||||
|
return ext3x_convert_rc(rc);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int ext3x_server_gen_ppn(const char *input, char **ppn)
|
||||||
|
{
|
||||||
|
pmix_status_t rc;
|
||||||
|
|
||||||
|
OPAL_PMIX_ACQUIRE_THREAD(&opal_pmix_base.lock);
|
||||||
|
if (0 >= opal_pmix_base.initialized) {
|
||||||
|
OPAL_PMIX_RELEASE_THREAD(&opal_pmix_base.lock);
|
||||||
|
return OPAL_ERR_NOT_INITIALIZED;
|
||||||
|
}
|
||||||
|
OPAL_PMIX_RELEASE_THREAD(&opal_pmix_base.lock);
|
||||||
|
|
||||||
|
rc = PMIx_generate_ppn(input, ppn);
|
||||||
|
return ext3x_convert_rc(rc);
|
||||||
|
}
|
||||||
|
|
||||||
|
int ext3x_server_register_nspace(opal_jobid_t jobid,
|
||||||
|
int nlocalprocs,
|
||||||
|
opal_list_t *info,
|
||||||
|
opal_pmix_op_cbfunc_t cbfunc,
|
||||||
|
void *cbdata)
|
||||||
|
{
|
||||||
|
opal_value_t *kv, *k2;
|
||||||
|
pmix_info_t *pinfo = NULL, *pmap;
|
||||||
|
size_t sz, szmap, m, n;
|
||||||
|
char nspace[PMIX_MAX_NSLEN];
|
||||||
|
pmix_status_t rc;
|
||||||
|
opal_list_t *pmapinfo;
|
||||||
|
opal_ext3x_jobid_trkr_t *job;
|
||||||
|
opal_pmix_lock_t lock;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
OPAL_PMIX_ACQUIRE_THREAD(&opal_pmix_base.lock);
|
||||||
|
if (0 >= opal_pmix_base.initialized) {
|
||||||
|
OPAL_PMIX_RELEASE_THREAD(&opal_pmix_base.lock);
|
||||||
|
return OPAL_ERR_NOT_INITIALIZED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* convert the jobid */
|
||||||
|
(void)opal_snprintf_jobid(nspace, PMIX_MAX_NSLEN, jobid);
|
||||||
|
|
||||||
|
/* store this job in our list of known nspaces */
|
||||||
|
job = OBJ_NEW(opal_ext3x_jobid_trkr_t);
|
||||||
|
(void)strncpy(job->nspace, nspace, PMIX_MAX_NSLEN);
|
||||||
|
job->jobid = jobid;
|
||||||
|
opal_list_append(&mca_pmix_ext3x_component.jobids, &job->super);
|
||||||
|
OPAL_PMIX_RELEASE_THREAD(&opal_pmix_base.lock);
|
||||||
|
|
||||||
|
/* convert the list to an array of pmix_info_t */
|
||||||
|
if (NULL != info && 0 < (sz = opal_list_get_size(info))) {
|
||||||
|
PMIX_INFO_CREATE(pinfo, sz);
|
||||||
|
n = 0;
|
||||||
|
OPAL_LIST_FOREACH(kv, info, opal_value_t) {
|
||||||
|
(void)strncpy(pinfo[n].key, kv->key, PMIX_MAX_KEYLEN);
|
||||||
|
if (0 == strcmp(kv->key, OPAL_PMIX_PROC_DATA)) {
|
||||||
|
pinfo[n].value.type = PMIX_DATA_ARRAY;
|
||||||
|
/* the value contains a list of values - convert
|
||||||
|
* that list to another array */
|
||||||
|
pmapinfo = (opal_list_t*)kv->data.ptr;
|
||||||
|
szmap = opal_list_get_size(pmapinfo);
|
||||||
|
if (0 < szmap) {
|
||||||
|
PMIX_INFO_CREATE(pmap, szmap);
|
||||||
|
pinfo[n].value.data.darray = (pmix_data_array_t*)calloc(1, sizeof(pmix_data_array_t));
|
||||||
|
pinfo[n].value.data.darray->type = PMIX_INFO;
|
||||||
|
pinfo[n].value.data.darray->array = (struct pmix_info_t*)pmap;
|
||||||
|
pinfo[n].value.data.darray->size = szmap;
|
||||||
|
m = 0;
|
||||||
|
OPAL_LIST_FOREACH(k2, pmapinfo, opal_value_t) {
|
||||||
|
(void)strncpy(pmap[m].key, k2->key, PMIX_MAX_KEYLEN);
|
||||||
|
ext3x_value_load(&pmap[m].value, k2);
|
||||||
|
++m;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
OPAL_LIST_RELEASE(pmapinfo);
|
||||||
|
} else {
|
||||||
|
ext3x_value_load(&pinfo[n].value, kv);
|
||||||
|
}
|
||||||
|
++n;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
sz = 0;
|
||||||
|
pinfo = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
OPAL_PMIX_CONSTRUCT_LOCK(&lock);
|
||||||
|
rc = PMIx_server_register_nspace(nspace, nlocalprocs, pinfo, sz,
|
||||||
|
lkcbfunc, (void*)&lock);
|
||||||
|
if (PMIX_SUCCESS == rc) {
|
||||||
|
OPAL_PMIX_WAIT_THREAD(&lock);
|
||||||
|
}
|
||||||
|
OPAL_PMIX_DESTRUCT_LOCK(&lock);
|
||||||
|
|
||||||
|
if (NULL != pinfo) {
|
||||||
|
PMIX_INFO_FREE(pinfo, sz);
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = ext3x_convert_rc(rc);
|
||||||
|
|
||||||
|
/* release the caller */
|
||||||
|
if (NULL != cbfunc) {
|
||||||
|
cbfunc(ret, cbdata);
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ext3x_server_deregister_nspace(opal_jobid_t jobid,
|
||||||
|
opal_pmix_op_cbfunc_t cbfunc,
|
||||||
|
void *cbdata)
|
||||||
|
{
|
||||||
|
opal_ext3x_jobid_trkr_t *jptr;
|
||||||
|
opal_pmix_lock_t lock;
|
||||||
|
|
||||||
|
OPAL_PMIX_ACQUIRE_THREAD(&opal_pmix_base.lock);
|
||||||
|
if (0 >= opal_pmix_base.initialized) {
|
||||||
|
OPAL_PMIX_RELEASE_THREAD(&opal_pmix_base.lock);
|
||||||
|
/* release the caller */
|
||||||
|
if (NULL != cbfunc) {
|
||||||
|
cbfunc(OPAL_ERR_NOT_INITIALIZED, cbdata);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* if we don't already have it, we can ignore this */
|
||||||
|
OPAL_LIST_FOREACH(jptr, &mca_pmix_ext3x_component.jobids, opal_ext3x_jobid_trkr_t) {
|
||||||
|
if (jptr->jobid == jobid) {
|
||||||
|
/* found it - tell the server to deregister */
|
||||||
|
OPAL_PMIX_CONSTRUCT_LOCK(&lock);
|
||||||
|
OPAL_PMIX_RELEASE_THREAD(&opal_pmix_base.lock);
|
||||||
|
PMIx_server_deregister_nspace(jptr->nspace, lkcbfunc, (void*)&lock);
|
||||||
|
OPAL_PMIX_WAIT_THREAD(&lock);
|
||||||
|
OPAL_PMIX_DESTRUCT_LOCK(&lock);
|
||||||
|
/* now get rid of it from our list */
|
||||||
|
OPAL_PMIX_ACQUIRE_THREAD(&opal_pmix_base.lock);
|
||||||
|
opal_list_remove_item(&mca_pmix_ext3x_component.jobids, &jptr->super);
|
||||||
|
OBJ_RELEASE(jptr);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
OPAL_PMIX_RELEASE_THREAD(&opal_pmix_base.lock);
|
||||||
|
/* release the caller */
|
||||||
|
if (NULL != cbfunc) {
|
||||||
|
cbfunc(OPAL_SUCCESS, cbdata);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int ext3x_server_register_client(const opal_process_name_t *proc,
|
||||||
|
uid_t uid, gid_t gid,
|
||||||
|
void *server_object,
|
||||||
|
opal_pmix_op_cbfunc_t cbfunc,
|
||||||
|
void *cbdata)
|
||||||
|
{
|
||||||
|
pmix_status_t rc;
|
||||||
|
pmix_proc_t p;
|
||||||
|
opal_pmix_lock_t lock;
|
||||||
|
|
||||||
|
OPAL_PMIX_ACQUIRE_THREAD(&opal_pmix_base.lock);
|
||||||
|
if (0 >= opal_pmix_base.initialized) {
|
||||||
|
OPAL_PMIX_RELEASE_THREAD(&opal_pmix_base.lock);
|
||||||
|
return OPAL_ERR_NOT_INITIALIZED;
|
||||||
|
}
|
||||||
|
OPAL_PMIX_RELEASE_THREAD(&opal_pmix_base.lock);
|
||||||
|
|
||||||
|
/* convert the jobid */
|
||||||
|
(void)opal_snprintf_jobid(p.nspace, PMIX_MAX_NSLEN, proc->jobid);
|
||||||
|
p.rank = ext3x_convert_opalrank(proc->vpid);
|
||||||
|
|
||||||
|
OPAL_PMIX_CONSTRUCT_LOCK(&lock);
|
||||||
|
rc = PMIx_server_register_client(&p, uid, gid, server_object,
|
||||||
|
lkcbfunc, (void*)&lock);
|
||||||
|
if (PMIX_SUCCESS == rc) {
|
||||||
|
OPAL_PMIX_WAIT_THREAD(&lock);
|
||||||
|
}
|
||||||
|
OPAL_PMIX_DESTRUCT_LOCK(&lock);
|
||||||
|
return ext3x_convert_rc(rc);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* tell the local PMIx server to cleanup this client as it is
|
||||||
|
* done executing */
|
||||||
|
void ext3x_server_deregister_client(const opal_process_name_t *proc,
|
||||||
|
opal_pmix_op_cbfunc_t cbfunc,
|
||||||
|
void *cbdata)
|
||||||
|
{
|
||||||
|
opal_ext3x_jobid_trkr_t *jptr;
|
||||||
|
pmix_proc_t p;
|
||||||
|
opal_pmix_lock_t lock;
|
||||||
|
|
||||||
|
OPAL_PMIX_ACQUIRE_THREAD(&opal_pmix_base.lock);
|
||||||
|
if (0 >= opal_pmix_base.initialized) {
|
||||||
|
OPAL_PMIX_RELEASE_THREAD(&opal_pmix_base.lock);
|
||||||
|
if (NULL != cbfunc) {
|
||||||
|
cbfunc(OPAL_ERR_NOT_INITIALIZED, cbdata);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* if we don't already have it, we can ignore this */
|
||||||
|
OPAL_LIST_FOREACH(jptr, &mca_pmix_ext3x_component.jobids, opal_ext3x_jobid_trkr_t) {
|
||||||
|
if (jptr->jobid == proc->jobid) {
|
||||||
|
/* found it - tell the server to deregister */
|
||||||
|
(void)strncpy(p.nspace, jptr->nspace, PMIX_MAX_NSLEN);
|
||||||
|
p.rank = ext3x_convert_opalrank(proc->vpid);
|
||||||
|
OPAL_PMIX_CONSTRUCT_LOCK(&lock);
|
||||||
|
OPAL_PMIX_RELEASE_THREAD(&opal_pmix_base.lock);
|
||||||
|
PMIx_server_deregister_client(&p, lkcbfunc, (void*)&lock);
|
||||||
|
OPAL_PMIX_WAIT_THREAD(&lock);
|
||||||
|
OPAL_PMIX_DESTRUCT_LOCK(&lock);
|
||||||
|
OPAL_PMIX_ACQUIRE_THREAD(&opal_pmix_base.lock);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
OPAL_PMIX_RELEASE_THREAD(&opal_pmix_base.lock);
|
||||||
|
if (NULL != cbfunc) {
|
||||||
|
cbfunc(OPAL_SUCCESS, cbdata);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* have the local PMIx server setup the environment for this client */
|
||||||
|
int ext3x_server_setup_fork(const opal_process_name_t *proc, char ***env)
|
||||||
|
{
|
||||||
|
pmix_status_t rc;
|
||||||
|
pmix_proc_t p;
|
||||||
|
|
||||||
|
OPAL_PMIX_ACQUIRE_THREAD(&opal_pmix_base.lock);
|
||||||
|
if (0 >= opal_pmix_base.initialized) {
|
||||||
|
OPAL_PMIX_RELEASE_THREAD(&opal_pmix_base.lock);
|
||||||
|
return OPAL_ERR_NOT_INITIALIZED;
|
||||||
|
}
|
||||||
|
OPAL_PMIX_RELEASE_THREAD(&opal_pmix_base.lock);
|
||||||
|
|
||||||
|
/* convert the jobid */
|
||||||
|
(void)opal_snprintf_jobid(p.nspace, PMIX_MAX_NSLEN, proc->jobid);
|
||||||
|
p.rank = ext3x_convert_opalrank(proc->vpid);
|
||||||
|
|
||||||
|
rc = PMIx_server_setup_fork(&p, env);
|
||||||
|
return ext3x_convert_rc(rc);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* this is the call back up from the embedded PMIx server that
|
||||||
|
* will contain the returned data. Note that the embedded server
|
||||||
|
* "owns" the data and will free it upon return from this function */
|
||||||
|
static void dmdx_response(pmix_status_t status, char *data, size_t sz, void *cbdata)
|
||||||
|
{
|
||||||
|
int rc;
|
||||||
|
ext3x_opcaddy_t *op = (ext3x_opcaddy_t*)cbdata;
|
||||||
|
|
||||||
|
rc = ext3x_convert_rc(status);
|
||||||
|
if (NULL != op->mdxcbfunc) {
|
||||||
|
op->mdxcbfunc(rc, data, sz, op->cbdata, NULL, NULL);
|
||||||
|
}
|
||||||
|
OBJ_RELEASE(op);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* request modex data for a local proc from the PMIx server */
|
||||||
|
int ext3x_server_dmodex(const opal_process_name_t *proc,
|
||||||
|
opal_pmix_modex_cbfunc_t cbfunc, void *cbdata)
|
||||||
|
{
|
||||||
|
ext3x_opcaddy_t *op;
|
||||||
|
pmix_status_t rc;
|
||||||
|
|
||||||
|
OPAL_PMIX_ACQUIRE_THREAD(&opal_pmix_base.lock);
|
||||||
|
if (0 >= opal_pmix_base.initialized) {
|
||||||
|
OPAL_PMIX_RELEASE_THREAD(&opal_pmix_base.lock);
|
||||||
|
return OPAL_ERR_NOT_INITIALIZED;
|
||||||
|
}
|
||||||
|
OPAL_PMIX_RELEASE_THREAD(&opal_pmix_base.lock);
|
||||||
|
|
||||||
|
/* setup the caddy */
|
||||||
|
op = OBJ_NEW(ext3x_opcaddy_t);
|
||||||
|
op->mdxcbfunc = cbfunc;
|
||||||
|
op->cbdata = cbdata;
|
||||||
|
|
||||||
|
/* convert the jobid */
|
||||||
|
(void)opal_snprintf_jobid(op->p.nspace, PMIX_MAX_NSLEN, proc->jobid);
|
||||||
|
op->p.rank = ext3x_convert_opalrank(proc->vpid);
|
||||||
|
|
||||||
|
/* find the internally-cached data for this proc */
|
||||||
|
rc = PMIx_server_dmodex_request(&op->p, dmdx_response, op);
|
||||||
|
if (PMIX_SUCCESS != rc) {
|
||||||
|
OBJ_RELEASE(op);
|
||||||
|
}
|
||||||
|
return ext3x_convert_rc(rc);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* tell the PMIx server to notify its local clients of an event */
|
||||||
|
int ext3x_server_notify_event(int status,
|
||||||
|
const opal_process_name_t *source,
|
||||||
|
opal_list_t *info,
|
||||||
|
opal_pmix_op_cbfunc_t cbfunc, void *cbdata)
|
||||||
|
{
|
||||||
|
opal_value_t *kv;
|
||||||
|
pmix_info_t *pinfo;
|
||||||
|
size_t sz, n;
|
||||||
|
pmix_status_t rc;
|
||||||
|
ext3x_opcaddy_t *op;
|
||||||
|
|
||||||
|
OPAL_PMIX_ACQUIRE_THREAD(&opal_pmix_base.lock);
|
||||||
|
if (0 >= opal_pmix_base.initialized) {
|
||||||
|
OPAL_PMIX_RELEASE_THREAD(&opal_pmix_base.lock);
|
||||||
|
return OPAL_ERR_NOT_INITIALIZED;
|
||||||
|
}
|
||||||
|
OPAL_PMIX_RELEASE_THREAD(&opal_pmix_base.lock);
|
||||||
|
|
||||||
|
/* convert the list to an array of pmix_info_t */
|
||||||
|
if (NULL != info && 0 < (sz = opal_list_get_size(info))) {
|
||||||
|
PMIX_INFO_CREATE(pinfo, sz);
|
||||||
|
n = 0;
|
||||||
|
OPAL_LIST_FOREACH(kv, info, opal_value_t) {
|
||||||
|
(void)strncpy(pinfo[n].key, kv->key, PMIX_MAX_KEYLEN);
|
||||||
|
if (0 == strcmp(kv->key, OPAL_PMIX_JOB_TERM_STATUS)) {
|
||||||
|
pinfo[n].value.type = PMIX_STATUS;
|
||||||
|
pinfo[n].value.data.status = ext3x_convert_opalrc(kv->data.integer);
|
||||||
|
} else {
|
||||||
|
ext3x_value_load(&pinfo[n].value, kv);
|
||||||
|
}
|
||||||
|
++n;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
sz = 0;
|
||||||
|
pinfo = NULL;
|
||||||
|
}
|
||||||
|
/* setup the caddy */
|
||||||
|
op = OBJ_NEW(ext3x_opcaddy_t);
|
||||||
|
op->info = pinfo;
|
||||||
|
op->sz = sz;
|
||||||
|
op->opcbfunc = cbfunc;
|
||||||
|
op->cbdata = cbdata;
|
||||||
|
/* convert the jobid */
|
||||||
|
if (NULL == source) {
|
||||||
|
(void)opal_snprintf_jobid(op->p.nspace, PMIX_MAX_NSLEN, OPAL_JOBID_INVALID);
|
||||||
|
op->p.rank = ext3x_convert_opalrank(OPAL_VPID_INVALID);
|
||||||
|
} else {
|
||||||
|
(void)opal_snprintf_jobid(op->p.nspace, PMIX_MAX_NSLEN, source->jobid);
|
||||||
|
op->p.rank = ext3x_convert_opalrank(source->vpid);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
rc = ext3x_convert_opalrc(status);
|
||||||
|
/* the range must be nonlocal so the server will pass
|
||||||
|
* the event down to its local clients */
|
||||||
|
rc = PMIx_Notify_event(rc, &op->p, PMIX_RANGE_SESSION,
|
||||||
|
pinfo, sz, opcbfunc, op);
|
||||||
|
if (PMIX_SUCCESS != rc) {
|
||||||
|
OBJ_RELEASE(op);
|
||||||
|
}
|
||||||
|
return ext3x_convert_rc(rc);
|
||||||
|
}
|
||||||
|
|
||||||
|
int ext3x_server_iof_push(const opal_process_name_t *source,
|
||||||
|
opal_pmix_iof_channel_t channel,
|
||||||
|
unsigned char *data, size_t nbytes)
|
||||||
|
{
|
||||||
|
ext3x_opcaddy_t *op;
|
||||||
|
pmix_byte_object_t bo;
|
||||||
|
pmix_iof_channel_t pchan;
|
||||||
|
opal_pmix_lock_t lock;
|
||||||
|
pmix_status_t rc;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
opal_output_verbose(2, opal_pmix_base_framework.framework_output,
|
||||||
|
"%s IOF push from %s with %d bytes",
|
||||||
|
OPAL_NAME_PRINT(OPAL_PROC_MY_NAME),
|
||||||
|
OPAL_NAME_PRINT(*source), (int)nbytes);
|
||||||
|
|
||||||
|
OPAL_PMIX_ACQUIRE_THREAD(&opal_pmix_base.lock);
|
||||||
|
if (0 >= opal_pmix_base.initialized) {
|
||||||
|
OPAL_PMIX_RELEASE_THREAD(&opal_pmix_base.lock);
|
||||||
|
return OPAL_ERR_NOT_INITIALIZED;
|
||||||
|
}
|
||||||
|
OPAL_PMIX_RELEASE_THREAD(&opal_pmix_base.lock);
|
||||||
|
|
||||||
|
/* setup the caddy */
|
||||||
|
op = OBJ_NEW(ext3x_opcaddy_t);
|
||||||
|
/* convert the source */
|
||||||
|
(void)opal_snprintf_jobid(op->p.nspace, PMIX_MAX_NSLEN, source->jobid);
|
||||||
|
op->p.rank = ext3x_convert_opalrank(source->vpid);
|
||||||
|
/* convert the channel */
|
||||||
|
pchan = 0;
|
||||||
|
if (OPAL_PMIX_FWD_STDIN_CHANNEL & channel) {
|
||||||
|
pchan |= PMIX_FWD_STDIN_CHANNEL;
|
||||||
|
}
|
||||||
|
if (OPAL_PMIX_FWD_STDOUT_CHANNEL & channel) {
|
||||||
|
pchan |= PMIX_FWD_STDOUT_CHANNEL;
|
||||||
|
}
|
||||||
|
if (OPAL_PMIX_FWD_STDERR_CHANNEL & channel) {
|
||||||
|
pchan |= PMIX_FWD_STDERR_CHANNEL;
|
||||||
|
}
|
||||||
|
if (OPAL_PMIX_FWD_STDDIAG_CHANNEL & channel) {
|
||||||
|
pchan |= PMIX_FWD_STDDIAG_CHANNEL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* setup the byte object */
|
||||||
|
PMIX_BYTE_OBJECT_CONSTRUCT(&bo);
|
||||||
|
if (0 < nbytes) {
|
||||||
|
bo.bytes = (char*)data;
|
||||||
|
}
|
||||||
|
bo.size = nbytes;
|
||||||
|
|
||||||
|
/* push the IO */
|
||||||
|
OPAL_PMIX_CONSTRUCT_LOCK(&lock);
|
||||||
|
rc = PMIx_server_IOF_deliver(&op->p, pchan, &bo, NULL, 0, lkcbfunc, (void*)&lock);
|
||||||
|
if (PMIX_SUCCESS != rc) {
|
||||||
|
ret = ext3x_convert_rc(rc);
|
||||||
|
} else {
|
||||||
|
/* wait for completion */
|
||||||
|
OPAL_PMIX_WAIT_THREAD(&lock);
|
||||||
|
ret = lock.status;
|
||||||
|
OPAL_PMIX_DESTRUCT_LOCK(&lock);
|
||||||
|
}
|
||||||
|
/* cleanup */
|
||||||
|
OBJ_RELEASE(op);
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void final_cleanup(int status, void *cbdata)
|
||||||
|
{
|
||||||
|
ext3x_opalcaddy_t *opalcaddy = (ext3x_opalcaddy_t*)cbdata;
|
||||||
|
OBJ_RELEASE(opalcaddy);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void setup_cbfunc(pmix_status_t status,
|
||||||
|
pmix_info_t info[], size_t ninfo,
|
||||||
|
void *provided_cbdata,
|
||||||
|
pmix_op_cbfunc_t cbfunc, void *cbdata)
|
||||||
|
{
|
||||||
|
ext3x_opcaddy_t *op = (ext3x_opcaddy_t*)provided_cbdata;
|
||||||
|
ext3x_opalcaddy_t *opalcaddy;
|
||||||
|
size_t n;
|
||||||
|
opal_value_t *iptr;
|
||||||
|
int rc;
|
||||||
|
pmix_status_t ret = PMIX_SUCCESS;
|
||||||
|
|
||||||
|
/* setup the caddy */
|
||||||
|
opalcaddy = OBJ_NEW(ext3x_opalcaddy_t);
|
||||||
|
|
||||||
|
rc = ext3x_convert_rc(status);
|
||||||
|
if (OPAL_SUCCESS == rc && NULL != info) {
|
||||||
|
/* need to convert the info array to a list */
|
||||||
|
for (n=0; n < ninfo; n++) {
|
||||||
|
iptr = OBJ_NEW(opal_value_t);
|
||||||
|
opal_list_append(&opalcaddy->info, &iptr->super);
|
||||||
|
iptr->key = strdup(info[n].key);
|
||||||
|
if (OPAL_SUCCESS != (rc = ext3x_value_unload(iptr, &info[n].value))) {
|
||||||
|
OBJ_RELEASE(opalcaddy);
|
||||||
|
ret = ext3x_convert_opalrc(rc);
|
||||||
|
goto done;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
done:
|
||||||
|
/* release our caller */
|
||||||
|
if (NULL != cbfunc) {
|
||||||
|
cbfunc(ret, cbdata);
|
||||||
|
}
|
||||||
|
/* pass what we have upstairs */
|
||||||
|
if (NULL != op->setupcbfunc) {
|
||||||
|
op->setupcbfunc(rc, &opalcaddy->info, op->cbdata,
|
||||||
|
final_cleanup, opalcaddy);
|
||||||
|
}
|
||||||
|
OBJ_RELEASE(op);
|
||||||
|
}
|
||||||
|
|
||||||
|
int ext3x_server_setup_application(opal_jobid_t jobid,
|
||||||
|
opal_list_t *info,
|
||||||
|
opal_pmix_setup_application_cbfunc_t cbfunc, void *cbdata)
|
||||||
|
{
|
||||||
|
opal_value_t *kv;
|
||||||
|
pmix_info_t *pinfo;
|
||||||
|
size_t sz, n;
|
||||||
|
pmix_status_t rc;
|
||||||
|
ext3x_opcaddy_t *op;
|
||||||
|
|
||||||
|
opal_output_verbose(2, opal_pmix_base_framework.framework_output,
|
||||||
|
"%s setup application for job %s",
|
||||||
|
OPAL_NAME_PRINT(OPAL_PROC_MY_NAME),
|
||||||
|
OPAL_JOBID_PRINT(jobid));
|
||||||
|
|
||||||
|
OPAL_PMIX_ACQUIRE_THREAD(&opal_pmix_base.lock);
|
||||||
|
if (0 >= opal_pmix_base.initialized) {
|
||||||
|
OPAL_PMIX_RELEASE_THREAD(&opal_pmix_base.lock);
|
||||||
|
return OPAL_ERR_NOT_INITIALIZED;
|
||||||
|
}
|
||||||
|
OPAL_PMIX_RELEASE_THREAD(&opal_pmix_base.lock);
|
||||||
|
|
||||||
|
/* convert the list to an array of pmix_info_t */
|
||||||
|
if (NULL != info && 0 < (sz = opal_list_get_size(info))) {
|
||||||
|
PMIX_INFO_CREATE(pinfo, sz);
|
||||||
|
n = 0;
|
||||||
|
OPAL_LIST_FOREACH(kv, info, opal_value_t) {
|
||||||
|
(void)strncpy(pinfo[n].key, kv->key, PMIX_MAX_KEYLEN);
|
||||||
|
ext3x_value_load(&pinfo[n].value, kv);
|
||||||
|
++n;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
sz = 0;
|
||||||
|
pinfo = NULL;
|
||||||
|
}
|
||||||
|
/* setup the caddy */
|
||||||
|
op = OBJ_NEW(ext3x_opcaddy_t);
|
||||||
|
op->info = pinfo;
|
||||||
|
op->sz = sz;
|
||||||
|
op->setupcbfunc = cbfunc;
|
||||||
|
op->cbdata = cbdata;
|
||||||
|
/* convert the jobid */
|
||||||
|
(void)opal_snprintf_jobid(op->p.nspace, PMIX_MAX_NSLEN, jobid);
|
||||||
|
|
||||||
|
rc = PMIx_server_setup_application(op->p.nspace, op->info, op->sz,
|
||||||
|
setup_cbfunc, op);
|
||||||
|
if (PMIX_SUCCESS != rc) {
|
||||||
|
OBJ_RELEASE(op);
|
||||||
|
}
|
||||||
|
return ext3x_convert_rc(rc);
|
||||||
|
}
|
||||||
|
|
||||||
|
int ext3x_server_setup_local_support(opal_jobid_t jobid,
|
||||||
|
opal_list_t *info,
|
||||||
|
opal_pmix_op_cbfunc_t cbfunc, void *cbdata)
|
||||||
|
{
|
||||||
|
opal_value_t *kv;
|
||||||
|
pmix_info_t *pinfo;
|
||||||
|
size_t sz, n;
|
||||||
|
pmix_status_t rc;
|
||||||
|
ext3x_opcaddy_t *op;
|
||||||
|
|
||||||
|
opal_output_verbose(2, opal_pmix_base_framework.framework_output,
|
||||||
|
"%s setup local support for job %s",
|
||||||
|
OPAL_NAME_PRINT(OPAL_PROC_MY_NAME),
|
||||||
|
OPAL_JOBID_PRINT(jobid));
|
||||||
|
|
||||||
|
OPAL_PMIX_ACQUIRE_THREAD(&opal_pmix_base.lock);
|
||||||
|
if (0 >= opal_pmix_base.initialized) {
|
||||||
|
OPAL_PMIX_RELEASE_THREAD(&opal_pmix_base.lock);
|
||||||
|
return OPAL_ERR_NOT_INITIALIZED;
|
||||||
|
}
|
||||||
|
OPAL_PMIX_RELEASE_THREAD(&opal_pmix_base.lock);
|
||||||
|
|
||||||
|
/* convert the list to an array of pmix_info_t */
|
||||||
|
if (NULL != info && 0 < (sz = opal_list_get_size(info))) {
|
||||||
|
PMIX_INFO_CREATE(pinfo, sz);
|
||||||
|
n = 0;
|
||||||
|
OPAL_LIST_FOREACH(kv, info, opal_value_t) {
|
||||||
|
(void)strncpy(pinfo[n].key, kv->key, PMIX_MAX_KEYLEN);
|
||||||
|
ext3x_value_load(&pinfo[n].value, kv);
|
||||||
|
++n;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
sz = 0;
|
||||||
|
pinfo = NULL;
|
||||||
|
}
|
||||||
|
/* setup the caddy */
|
||||||
|
op = OBJ_NEW(ext3x_opcaddy_t);
|
||||||
|
op->info = pinfo;
|
||||||
|
op->sz = sz;
|
||||||
|
op->opcbfunc = cbfunc;
|
||||||
|
op->cbdata = cbdata;
|
||||||
|
/* convert the jobid */
|
||||||
|
(void)opal_snprintf_jobid(op->p.nspace, PMIX_MAX_NSLEN, jobid);
|
||||||
|
|
||||||
|
rc = PMIx_server_setup_local_support(op->p.nspace, op->info, op->sz,
|
||||||
|
opcbfunc, op);
|
||||||
|
if (PMIX_SUCCESS != rc) {
|
||||||
|
OBJ_RELEASE(op);
|
||||||
|
}
|
||||||
|
return ext3x_convert_rc(rc);
|
||||||
|
}
|
73
opal/mca/pmix/ext4x/Makefile.am
Обычный файл
73
opal/mca/pmix/ext4x/Makefile.am
Обычный файл
@ -0,0 +1,73 @@
|
|||||||
|
#
|
||||||
|
# Copyright (c) 2014-2018 Intel, Inc. All rights reserved.
|
||||||
|
# Copyright (c) 2015 Cisco Systems, Inc. All rights reserved.
|
||||||
|
# Copyright (c) 2015-2018 Research Organization for Information Science
|
||||||
|
# and Technology (RIST). All rights reserved.
|
||||||
|
# Copyright (c) 2017 IBM Corporation. All rights reserved.
|
||||||
|
# $COPYRIGHT$
|
||||||
|
#
|
||||||
|
# Additional copyrights may follow
|
||||||
|
#
|
||||||
|
# $HEADER$
|
||||||
|
#
|
||||||
|
|
||||||
|
dist_opaldata_DATA = help-pmix-ext4x.txt
|
||||||
|
|
||||||
|
sources = \
|
||||||
|
ext4x_local.c
|
||||||
|
|
||||||
|
nodist_headers = \
|
||||||
|
ext4x.h
|
||||||
|
|
||||||
|
nodist_sources = \
|
||||||
|
ext4x.c \
|
||||||
|
ext4x_client.c \
|
||||||
|
ext4x_component.c \
|
||||||
|
ext4x_server_north.c \
|
||||||
|
ext4x_server_south.c
|
||||||
|
|
||||||
|
# Make the output library in this directory, and name it either
|
||||||
|
# mca_<type>_<name>.la (for DSO builds) or libmca_<type>_<name>.la
|
||||||
|
# (for static builds).
|
||||||
|
|
||||||
|
if MCA_BUILD_opal_pmix_ext4x_DSO
|
||||||
|
component_noinst =
|
||||||
|
component_install = mca_pmix_ext4x.la
|
||||||
|
else
|
||||||
|
component_noinst = libmca_pmix_ext4x.la
|
||||||
|
component_install =
|
||||||
|
endif
|
||||||
|
|
||||||
|
#
|
||||||
|
# Generate ext4x sources from the pmix4x component
|
||||||
|
#
|
||||||
|
$(nodist_headers):
|
||||||
|
pmix4xname=`echo $@ | sed -e s/ext4x/pmix4x/g` ; \
|
||||||
|
$(SED) 's/pmix4x/ext4x/g' $(top_srcdir)/opal/mca/pmix/pmix4x/$$pmix4xname > $@
|
||||||
|
|
||||||
|
$(sources): $(nodist_headers)
|
||||||
|
|
||||||
|
$(nodist_sources): $(nodist_headers)
|
||||||
|
pmix4xname=`echo $@ | sed -e s/ext4x/pmix4x/g` ; \
|
||||||
|
$(SED) 's/pmix4x/ext4x/g' $(top_srcdir)/opal/mca/pmix/pmix4x/$$pmix4xname > $@
|
||||||
|
|
||||||
|
mcacomponentdir = $(opallibdir)
|
||||||
|
mcacomponent_LTLIBRARIES = $(component_install)
|
||||||
|
mca_pmix_ext4x_la_SOURCES = $(sources)
|
||||||
|
nodist_mca_pmix_ext4x_la_SOURCES = $(nodist_sources)
|
||||||
|
mca_pmix_ext4x_la_CFLAGS = $(opal_pmix_ext4x_CFLAGS)
|
||||||
|
mca_pmix_ext4x_la_CPPFLAGS =$(opal_pmix_ext4x_CPPFLAGS)
|
||||||
|
mca_pmix_ext4x_la_LDFLAGS = -module -avoid-version $(opal_pmix_ext4x_LDFLAGS)
|
||||||
|
mca_pmix_ext4x_la_LIBADD = $(top_builddir)/opal/lib@OPAL_LIB_PREFIX@open-pal.la \
|
||||||
|
$(opal_pmix_ext4x_LIBS)
|
||||||
|
|
||||||
|
noinst_LTLIBRARIES = $(component_noinst)
|
||||||
|
libmca_pmix_ext4x_la_SOURCES =$(sources)
|
||||||
|
nodist_libmca_pmix_ext4x_la_SOURCES = $(nodist_sources)
|
||||||
|
libmca_pmix_ext4x_la_CFLAGS = $(opal_pmix_ext4x_CFLAGS)
|
||||||
|
libmca_pmix_ext4x_la_CPPFLAGS = $(opal_pmix_ext4x_CPPFLAGS)
|
||||||
|
libmca_pmix_ext4x_la_LDFLAGS = -module -avoid-version $(opal_pmix_ext4x_LDFLAGS)
|
||||||
|
libmca_pmix_ext4x_la_LIBADD = $(opal_pmix_ext4x_LIBS)
|
||||||
|
|
||||||
|
clean-local:
|
||||||
|
$(RM) -f $(nodist_sources) $(nodist_headers)
|
63
opal/mca/pmix/ext4x/configure.m4
Обычный файл
63
opal/mca/pmix/ext4x/configure.m4
Обычный файл
@ -0,0 +1,63 @@
|
|||||||
|
# -*- shell-script -*-
|
||||||
|
#
|
||||||
|
# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
|
||||||
|
# University Research and Technology
|
||||||
|
# Corporation. All rights reserved.
|
||||||
|
# Copyright (c) 2004-2005 The University of Tennessee and The University
|
||||||
|
# of Tennessee Research Foundation. 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 (c) 2011-2013 Los Alamos National Security, LLC.
|
||||||
|
# All rights reserved.
|
||||||
|
# Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved.
|
||||||
|
# Copyright (c) 2013-2018 Intel, Inc. All rights reserved.
|
||||||
|
# Copyright (c) 2015-2017 Research Organization for Information Science
|
||||||
|
# and Technology (RIST). All rights reserved.
|
||||||
|
# Copyright (c) 2014-2015 Mellanox Technologies, Inc.
|
||||||
|
# All rights reserved.
|
||||||
|
# $COPYRIGHT$
|
||||||
|
#
|
||||||
|
# Additional copyrights may follow
|
||||||
|
#
|
||||||
|
# $HEADER$
|
||||||
|
#
|
||||||
|
|
||||||
|
# MCA_pmix_ext4x_CONFIG([action-if-found], [action-if-not-found])
|
||||||
|
# -----------------------------------------------------------
|
||||||
|
AC_DEFUN([MCA_opal_pmix_ext4x_CONFIG],[
|
||||||
|
AC_CONFIG_FILES([opal/mca/pmix/ext4x/Makefile])
|
||||||
|
|
||||||
|
AS_IF([test "$opal_external_pmix_happy" = "yes"],
|
||||||
|
[ # check for the 4.x version
|
||||||
|
AC_MSG_CHECKING([if external component is version 4.x])
|
||||||
|
AS_IF([test "$opal_external_pmix_version" = "4x"],
|
||||||
|
[AC_MSG_RESULT([yes])
|
||||||
|
AS_IF([test "$opal_event_external_support" != "yes"],
|
||||||
|
[AC_MSG_WARN([EXTERNAL PMIX SUPPORT REQUIRES USE OF EXTERNAL LIBEVENT])
|
||||||
|
AC_MSG_WARN([LIBRARY. THIS LIBRARY MUST POINT TO THE SAME ONE USED])
|
||||||
|
AC_MSG_WARN([TO BUILD PMIX OR ELSE UNPREDICTABLE BEHAVIOR MAY RESULT])
|
||||||
|
AC_MSG_ERROR([PLEASE CORRECT THE CONFIGURE COMMAND LINE AND REBUILD])])
|
||||||
|
opal_pmix_external_4x_happy=yes],
|
||||||
|
[AC_MSG_RESULT([no])
|
||||||
|
opal_pmix_external_4x_happy=no])
|
||||||
|
|
||||||
|
AS_IF([test "$opal_pmix_external_4x_happy" = "yes"],
|
||||||
|
[$1
|
||||||
|
# need to set the wrapper flags for static builds
|
||||||
|
pmix_ext4x_WRAPPER_EXTRA_LDFLAGS=$opal_external_pmix_LDFLAGS
|
||||||
|
pmix_ext4x_WRAPPER_EXTRA_LIBS=$opal_external_pmix_LIBS],
|
||||||
|
[$2])],
|
||||||
|
[$2])
|
||||||
|
|
||||||
|
opal_pmix_ext4x_CPPFLAGS=$opal_external_pmix_CPPFLAGS
|
||||||
|
opal_pmix_ext4x_LDFLAGS=$opal_external_pmix_LDFLAGS
|
||||||
|
opal_pmix_ext4x_LIBS=$opal_external_pmix_LIBS
|
||||||
|
|
||||||
|
AC_SUBST([opal_pmix_ext4x_CPPFLAGS])
|
||||||
|
AC_SUBST([opal_pmix_ext4x_LDFLAGS])
|
||||||
|
AC_SUBST([opal_pmix_ext4x_LIBS])
|
||||||
|
|
||||||
|
])dnl
|
27
opal/mca/pmix/ext4x/ext4x_local.c
Обычный файл
27
opal/mca/pmix/ext4x/ext4x_local.c
Обычный файл
@ -0,0 +1,27 @@
|
|||||||
|
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2014-2018 Intel, Inc. All rights reserved.
|
||||||
|
* Copyright (c) 2014-2017 Research Organization for Information Science
|
||||||
|
* and Technology (RIST). All rights reserved.
|
||||||
|
* Copyright (c) 2014-2015 Mellanox Technologies, Inc.
|
||||||
|
* All rights reserved.
|
||||||
|
* Copyright (c) 2016 Cisco Systems, Inc. All rights reserved.
|
||||||
|
* Copyright (c) 2017 Los Alamos National Security, LLC. All rights
|
||||||
|
* reserved.
|
||||||
|
* $COPYRIGHT$
|
||||||
|
*
|
||||||
|
* Additional copyrights may follow
|
||||||
|
*
|
||||||
|
* $HEADER$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "opal_config.h"
|
||||||
|
#include "opal/constants.h"
|
||||||
|
|
||||||
|
#include "ext4x.h"
|
||||||
|
|
||||||
|
int opal_pmix_ext4x_check_evars(void)
|
||||||
|
{
|
||||||
|
/* a dummy function */
|
||||||
|
return OPAL_SUCCESS;
|
||||||
|
}
|
@ -10,7 +10,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) 2017 Intel, Inc. All rights reserved.
|
# Copyright (c) 2017-2018 Intel, Inc. All rights reserved.
|
||||||
# $COPYRIGHT$
|
# $COPYRIGHT$
|
||||||
#
|
#
|
||||||
# Additional copyrights may follow
|
# Additional copyrights may follow
|
@ -1,58 +0,0 @@
|
|||||||
#
|
|
||||||
# Copyright (c) 2014-2017 Intel, Inc. All rights reserved.
|
|
||||||
# Copyright (c) 2015 Cisco Systems, Inc. All rights reserved.
|
|
||||||
# Copyright (c) 2015 Research Organization for Information Science
|
|
||||||
# and Technology (RIST). All rights reserved.
|
|
||||||
# Copyright (c) 2017 IBM Corporation. All rights reserved.
|
|
||||||
# $COPYRIGHT$
|
|
||||||
#
|
|
||||||
# Additional copyrights may follow
|
|
||||||
#
|
|
||||||
# $HEADER$
|
|
||||||
#
|
|
||||||
|
|
||||||
EXTRA_DIST = autogen.subdirs
|
|
||||||
|
|
||||||
dist_opaldata_DATA = help-pmix-pmix3x.txt
|
|
||||||
|
|
||||||
SUBDIRS = pmix
|
|
||||||
|
|
||||||
sources = \
|
|
||||||
pmix3x.h \
|
|
||||||
pmix3x_component.c \
|
|
||||||
pmix3x.c \
|
|
||||||
pmix3x_client.c \
|
|
||||||
pmix3x_local.c \
|
|
||||||
pmix3x_server_south.c \
|
|
||||||
pmix3x_server_north.c
|
|
||||||
|
|
||||||
# Make the output library in this directory, and name it either
|
|
||||||
# mca_<type>_<name>.la (for DSO builds) or libmca_<type>_<name>.la
|
|
||||||
# (for static builds).
|
|
||||||
|
|
||||||
if MCA_BUILD_opal_pmix_pmix3x_DSO
|
|
||||||
component_noinst =
|
|
||||||
component_install = mca_pmix_pmix3x.la
|
|
||||||
else
|
|
||||||
component_noinst = libmca_pmix_pmix3x.la
|
|
||||||
component_install =
|
|
||||||
endif
|
|
||||||
|
|
||||||
mcacomponentdir = $(opallibdir)
|
|
||||||
mcacomponent_LTLIBRARIES = $(component_install)
|
|
||||||
mca_pmix_pmix3x_la_SOURCES = $(sources)
|
|
||||||
mca_pmix_pmix3x_la_CFLAGS = $(opal_pmix_pmix3x_CFLAGS)
|
|
||||||
mca_pmix_pmix3x_la_CPPFLAGS = \
|
|
||||||
-I$(srcdir)/pmix/include $(opal_pmix_pmix3x_CPPFLAGS)
|
|
||||||
mca_pmix_pmix3x_la_LDFLAGS = -module -avoid-version $(opal_pmix_pmix3x_LDFLAGS)
|
|
||||||
mca_pmix_pmix3x_la_LIBADD = $(top_builddir)/opal/lib@OPAL_LIB_PREFIX@open-pal.la \
|
|
||||||
$(opal_pmix_pmix3x_LIBS)
|
|
||||||
mca_pmix_pmix3x_la_DEPENDENCIES = $(opal_pmix_pmix3x_DEPENDENCIES)
|
|
||||||
|
|
||||||
noinst_LTLIBRARIES = $(component_noinst)
|
|
||||||
libmca_pmix_pmix3x_la_SOURCES =$(sources)
|
|
||||||
libmca_pmix_pmix3x_la_CFLAGS = $(opal_pmix_pmix3x_CFLAGS)
|
|
||||||
libmca_pmix_pmix3x_la_CPPFLAGS = $(opal_pmix_pmix3x_CPPFLAGS)
|
|
||||||
libmca_pmix_pmix3x_la_LDFLAGS = -module -avoid-version $(opal_pmix_pmix3x_LDFLAGS)
|
|
||||||
libmca_pmix_pmix3x_la_LIBADD = $(opal_pmix_pmix3x_LIBS)
|
|
||||||
libmca_pmix_pmix3x_la_DEPENDENCIES = $(opal_pmix_pmix3x_DEPENDENCIES)
|
|
@ -1,129 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2015-2017 Intel, Inc. All rights reserved.
|
|
||||||
* Copyright (c) 2017 Mellanox Technologies, Inc.
|
|
||||||
* All rights reserved.
|
|
||||||
* $COPYRIGHT$
|
|
||||||
*
|
|
||||||
* Additional copyrights may follow
|
|
||||||
*
|
|
||||||
* $HEADER$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef PMIX_DS12_H
|
|
||||||
#define PMIX_DS12_H
|
|
||||||
|
|
||||||
#include <src/include/pmix_config.h>
|
|
||||||
|
|
||||||
|
|
||||||
#include "src/mca/gds/gds.h"
|
|
||||||
#include "src/mca/pshmem/pshmem.h"
|
|
||||||
|
|
||||||
BEGIN_C_DECLS
|
|
||||||
|
|
||||||
#include <src/include/pmix_config.h>
|
|
||||||
#include "src/class/pmix_value_array.h"
|
|
||||||
|
|
||||||
#define INITIAL_SEG_SIZE 4096
|
|
||||||
#define NS_META_SEG_SIZE (1<<22)
|
|
||||||
#define NS_DATA_SEG_SIZE (1<<22)
|
|
||||||
|
|
||||||
#define PMIX_DSTORE_ESH_BASE_PATH "PMIX_DSTORE_ESH_BASE_PATH"
|
|
||||||
|
|
||||||
#ifdef HAVE_PTHREAD_SHARED
|
|
||||||
#define ESH_PTHREAD_LOCK
|
|
||||||
#elif defined HAVE_FCNTL_FLOCK
|
|
||||||
#define ESH_FCNTL_LOCK
|
|
||||||
#else
|
|
||||||
#error No locking mechanism was found
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* this structs are used to store information about
|
|
||||||
* shared segments addresses locally at each process,
|
|
||||||
* so they are common for different types of segments
|
|
||||||
* and don't have a specific content (namespace's info,
|
|
||||||
* rank's meta info, ranks's data). */
|
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
INITIAL_SEGMENT,
|
|
||||||
NS_META_SEGMENT,
|
|
||||||
NS_DATA_SEGMENT
|
|
||||||
} segment_type;
|
|
||||||
|
|
||||||
typedef struct seg_desc_t seg_desc_t;
|
|
||||||
struct seg_desc_t {
|
|
||||||
segment_type type;
|
|
||||||
pmix_pshmem_seg_t seg_info;
|
|
||||||
uint32_t id;
|
|
||||||
seg_desc_t *next;
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct ns_map_data_s ns_map_data_t;
|
|
||||||
typedef struct session_s session_t;
|
|
||||||
typedef struct ns_map_s ns_map_t;
|
|
||||||
|
|
||||||
struct session_s {
|
|
||||||
int in_use;
|
|
||||||
uid_t jobuid;
|
|
||||||
char setjobuid;
|
|
||||||
char *nspace_path;
|
|
||||||
char *lockfile;
|
|
||||||
#ifdef ESH_PTHREAD_LOCK
|
|
||||||
pmix_pshmem_seg_t *rwlock_seg;
|
|
||||||
pthread_rwlock_t *rwlock;
|
|
||||||
#endif
|
|
||||||
int lockfd;
|
|
||||||
seg_desc_t *sm_seg_first;
|
|
||||||
seg_desc_t *sm_seg_last;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct ns_map_data_s {
|
|
||||||
char name[PMIX_MAX_NSLEN+1];
|
|
||||||
size_t tbl_idx;
|
|
||||||
int track_idx;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct ns_map_s {
|
|
||||||
int in_use;
|
|
||||||
ns_map_data_t data;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* initial segment format:
|
|
||||||
* size_t num_elems;
|
|
||||||
* size_t full; //indicate to client that it needs to attach to the next segment
|
|
||||||
* ns_seg_info_t ns_seg_info[max_ns_num];
|
|
||||||
*/
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
ns_map_data_t ns_map;
|
|
||||||
size_t num_meta_seg;/* read by clients to attach to this number of segments. */
|
|
||||||
size_t num_data_seg;
|
|
||||||
} ns_seg_info_t;
|
|
||||||
|
|
||||||
/* meta segment format:
|
|
||||||
* size_t num_elems;
|
|
||||||
* rank_meta_info meta_info[max_meta_elems];
|
|
||||||
*/
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
size_t rank;
|
|
||||||
size_t offset;
|
|
||||||
size_t count;
|
|
||||||
} rank_meta_info;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
pmix_value_array_t super;
|
|
||||||
ns_map_data_t ns_map;
|
|
||||||
size_t num_meta_seg;
|
|
||||||
size_t num_data_seg;
|
|
||||||
seg_desc_t *meta_seg;
|
|
||||||
seg_desc_t *data_seg;
|
|
||||||
bool in_use;
|
|
||||||
} ns_track_elem_t;
|
|
||||||
|
|
||||||
/* the component must be visible data for the linker to find it */
|
|
||||||
PMIX_EXPORT extern pmix_gds_base_component_t mca_gds_ds12_component;
|
|
||||||
extern pmix_gds_base_module_t pmix_ds12_module;
|
|
||||||
|
|
||||||
END_C_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@ -1,53 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2018 Intel, Inc. All rights reserved.
|
|
||||||
* $COPYRIGHT$
|
|
||||||
*
|
|
||||||
* Additional copyrights may follow
|
|
||||||
*
|
|
||||||
* $HEADER$
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <time.h>
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
pthread_mutex_t mutex;
|
|
||||||
pthread_cond_t cond;
|
|
||||||
volatile bool active;
|
|
||||||
pmix_status_t status;
|
|
||||||
} mylock_t;
|
|
||||||
|
|
||||||
#define DEBUG_CONSTRUCT_LOCK(l) \
|
|
||||||
do { \
|
|
||||||
pthread_mutex_init(&(l)->mutex, NULL); \
|
|
||||||
pthread_cond_init(&(l)->cond, NULL); \
|
|
||||||
(l)->active = true; \
|
|
||||||
(l)->status = PMIX_SUCCESS; \
|
|
||||||
} while(0)
|
|
||||||
|
|
||||||
#define DEBUG_DESTRUCT_LOCK(l) \
|
|
||||||
do { \
|
|
||||||
pthread_mutex_destroy(&(l)->mutex); \
|
|
||||||
pthread_cond_destroy(&(l)->cond); \
|
|
||||||
} while(0)
|
|
||||||
|
|
||||||
#define DEBUG_WAIT_THREAD(lck) \
|
|
||||||
do { \
|
|
||||||
pthread_mutex_lock(&(lck)->mutex); \
|
|
||||||
while ((lck)->active) { \
|
|
||||||
pthread_cond_wait(&(lck)->cond, &(lck)->mutex); \
|
|
||||||
} \
|
|
||||||
pthread_mutex_unlock(&(lck)->mutex); \
|
|
||||||
} while(0)
|
|
||||||
|
|
||||||
#define DEBUG_WAKEUP_THREAD(lck) \
|
|
||||||
do { \
|
|
||||||
pthread_mutex_lock(&(lck)->mutex); \
|
|
||||||
(lck)->active = false; \
|
|
||||||
pthread_cond_broadcast(&(lck)->cond); \
|
|
||||||
pthread_mutex_unlock(&(lck)->mutex); \
|
|
||||||
} while(0)
|
|
58
opal/mca/pmix/pmix4x/Makefile.am
Обычный файл
58
opal/mca/pmix/pmix4x/Makefile.am
Обычный файл
@ -0,0 +1,58 @@
|
|||||||
|
#
|
||||||
|
# Copyright (c) 2014-2018 Intel, Inc. All rights reserved.
|
||||||
|
# Copyright (c) 2015 Cisco Systems, Inc. All rights reserved.
|
||||||
|
# Copyright (c) 2015 Research Organization for Information Science
|
||||||
|
# and Technology (RIST). All rights reserved.
|
||||||
|
# Copyright (c) 2017 IBM Corporation. All rights reserved.
|
||||||
|
# $COPYRIGHT$
|
||||||
|
#
|
||||||
|
# Additional copyrights may follow
|
||||||
|
#
|
||||||
|
# $HEADER$
|
||||||
|
#
|
||||||
|
|
||||||
|
EXTRA_DIST = autogen.subdirs
|
||||||
|
|
||||||
|
dist_opaldata_DATA = help-pmix-pmix4x.txt
|
||||||
|
|
||||||
|
SUBDIRS = pmix
|
||||||
|
|
||||||
|
sources = \
|
||||||
|
pmix4x.h \
|
||||||
|
pmix4x_component.c \
|
||||||
|
pmix4x.c \
|
||||||
|
pmix4x_client.c \
|
||||||
|
pmix4x_local.c \
|
||||||
|
pmix4x_server_south.c \
|
||||||
|
pmix4x_server_north.c
|
||||||
|
|
||||||
|
# Make the output library in this directory, and name it either
|
||||||
|
# mca_<type>_<name>.la (for DSO builds) or libmca_<type>_<name>.la
|
||||||
|
# (for static builds).
|
||||||
|
|
||||||
|
if MCA_BUILD_opal_pmix_pmix4x_DSO
|
||||||
|
component_noinst =
|
||||||
|
component_install = mca_pmix_pmix4x.la
|
||||||
|
else
|
||||||
|
component_noinst = libmca_pmix_pmix4x.la
|
||||||
|
component_install =
|
||||||
|
endif
|
||||||
|
|
||||||
|
mcacomponentdir = $(opallibdir)
|
||||||
|
mcacomponent_LTLIBRARIES = $(component_install)
|
||||||
|
mca_pmix_pmix4x_la_SOURCES = $(sources)
|
||||||
|
mca_pmix_pmix4x_la_CFLAGS = $(opal_pmix_pmix4x_CFLAGS)
|
||||||
|
mca_pmix_pmix4x_la_CPPFLAGS = \
|
||||||
|
-I$(srcdir)/pmix/include $(opal_pmix_pmix4x_CPPFLAGS)
|
||||||
|
mca_pmix_pmix4x_la_LDFLAGS = -module -avoid-version $(opal_pmix_pmix4x_LDFLAGS)
|
||||||
|
mca_pmix_pmix4x_la_LIBADD = $(top_builddir)/opal/lib@OPAL_LIB_PREFIX@open-pal.la \
|
||||||
|
$(opal_pmix_pmix4x_LIBS)
|
||||||
|
mca_pmix_pmix4x_la_DEPENDENCIES = $(opal_pmix_pmix4x_DEPENDENCIES)
|
||||||
|
|
||||||
|
noinst_LTLIBRARIES = $(component_noinst)
|
||||||
|
libmca_pmix_pmix4x_la_SOURCES =$(sources)
|
||||||
|
libmca_pmix_pmix4x_la_CFLAGS = $(opal_pmix_pmix4x_CFLAGS)
|
||||||
|
libmca_pmix_pmix4x_la_CPPFLAGS = $(opal_pmix_pmix4x_CPPFLAGS)
|
||||||
|
libmca_pmix_pmix4x_la_LDFLAGS = -module -avoid-version $(opal_pmix_pmix4x_LDFLAGS)
|
||||||
|
libmca_pmix_pmix4x_la_LIBADD = $(opal_pmix_pmix4x_LIBS)
|
||||||
|
libmca_pmix_pmix4x_la_DEPENDENCIES = $(opal_pmix_pmix4x_DEPENDENCIES)
|
6
opal/mca/pmix/pmix4x/common_sym_whitelist.txt
Обычный файл
6
opal/mca/pmix/pmix4x/common_sym_whitelist.txt
Обычный файл
@ -0,0 +1,6 @@
|
|||||||
|
# Ignore symbols in this component that are auto-generated and we
|
||||||
|
# can't do anything about them (e.g., flex/bison symbols).
|
||||||
|
pmix_util_keyval_yyleng
|
||||||
|
pmix_util_keyval_yytext
|
||||||
|
pmix_show_help_yyleng
|
||||||
|
pmix_show_help_yytext
|
@ -23,19 +23,19 @@
|
|||||||
# $HEADER$
|
# $HEADER$
|
||||||
#
|
#
|
||||||
|
|
||||||
# MCA_pmix_pmix3x_CONFIG([action-if-found], [action-if-not-found])
|
# MCA_pmix_pmix4x_CONFIG([action-if-found], [action-if-not-found])
|
||||||
# -----------------------------------------------------------
|
# -----------------------------------------------------------
|
||||||
AC_DEFUN([MCA_opal_pmix_pmix3x_CONFIG],[
|
AC_DEFUN([MCA_opal_pmix_pmix4x_CONFIG],[
|
||||||
AC_CONFIG_FILES([opal/mca/pmix/pmix3x/Makefile])
|
AC_CONFIG_FILES([opal/mca/pmix/pmix4x/Makefile])
|
||||||
|
|
||||||
OPAL_VAR_SCOPE_PUSH([PMIX_VERSION opal_pmix_pmix3x_save_CPPFLAGS opal_pmix_pmix2_save_CFLAGS opal_pmix_pmix3x_save_LDFLAGS opal_pmix_pmix3x_save_LIBS opal_pmix_pmix3x_basedir opal_pmix_pmix3x_args opal_pmix_pmix3x_happy pmix_pmix3x_status_filename])
|
OPAL_VAR_SCOPE_PUSH([PMIX_VERSION opal_pmix_pmix4x_save_CPPFLAGS opal_pmix_pmix2_save_CFLAGS opal_pmix_pmix4x_save_LDFLAGS opal_pmix_pmix4x_save_LIBS opal_pmix_pmix4x_basedir opal_pmix_pmix4x_args opal_pmix_pmix4x_happy pmix_pmix4x_status_filename])
|
||||||
|
|
||||||
opal_pmix_pmix3x_basedir=opal/mca/pmix/pmix3x
|
opal_pmix_pmix4x_basedir=opal/mca/pmix/pmix4x
|
||||||
|
|
||||||
opal_pmix_pmix3x_save_CFLAGS=$CFLAGS
|
opal_pmix_pmix4x_save_CFLAGS=$CFLAGS
|
||||||
opal_pmix_pmix3x_save_CPPFLAGS=$CPPFLAGS
|
opal_pmix_pmix4x_save_CPPFLAGS=$CPPFLAGS
|
||||||
opal_pmix_pmix3x_save_LDFLAGS=$LDFLAGS
|
opal_pmix_pmix4x_save_LDFLAGS=$LDFLAGS
|
||||||
opal_pmix_pmix3x_save_LIBS=$LIBS
|
opal_pmix_pmix4x_save_LIBS=$LIBS
|
||||||
|
|
||||||
AC_ARG_ENABLE([install-libpmix],
|
AC_ARG_ENABLE([install-libpmix],
|
||||||
[AC_HELP_STRING([--enable-install-libpmix],
|
[AC_HELP_STRING([--enable-install-libpmix],
|
||||||
@ -47,72 +47,72 @@ AC_DEFUN([MCA_opal_pmix_pmix3x_CONFIG],[
|
|||||||
AC_MSG_CHECKING([if PMIx timing is enabled])
|
AC_MSG_CHECKING([if PMIx timing is enabled])
|
||||||
if test "$enable_pmix_timing" = "yes"; then
|
if test "$enable_pmix_timing" = "yes"; then
|
||||||
AC_MSG_RESULT([yes])
|
AC_MSG_RESULT([yes])
|
||||||
opal_pmix_pmix3x_timing_flag=--enable-pmix-timing
|
opal_pmix_pmix4x_timing_flag=--enable-pmix-timing
|
||||||
else
|
else
|
||||||
AC_MSG_RESULT([no (disabled)])
|
AC_MSG_RESULT([no (disabled)])
|
||||||
opal_pmix_pmix3x_timing_flag=--disable-pmix-timing
|
opal_pmix_pmix4x_timing_flag=--disable-pmix-timing
|
||||||
fi
|
fi
|
||||||
|
|
||||||
opal_pmix_pmix3x_args="$opal_pmix_pmix3x_timing_flag --without-tests-examples --disable-pmix-binaries --disable-pmix-backward-compatibility --disable-visibility --enable-embedded-libevent --with-libevent-header=\\\"opal/mca/event/$opal_event_base_include\\\""
|
opal_pmix_pmix4x_args="$opal_pmix_pmix4x_timing_flag --without-tests-examples --disable-pmix-binaries --disable-pmix-backward-compatibility --disable-visibility --enable-embedded-libevent --with-libevent-header=\\\"opal/mca/event/$opal_event_base_include\\\""
|
||||||
AS_IF([test "$enable_debug" = "yes"],
|
AS_IF([test "$enable_debug" = "yes"],
|
||||||
[opal_pmix_pmix3x_args="--enable-debug $opal_pmix_pmix3x_args"
|
[opal_pmix_pmix4x_args="--enable-debug $opal_pmix_pmix4x_args"
|
||||||
CFLAGS="$OPAL_CFLAGS_BEFORE_PICKY $OPAL_VISIBILITY_CFLAGS -g"],
|
CFLAGS="$OPAL_CFLAGS_BEFORE_PICKY $OPAL_VISIBILITY_CFLAGS -g"],
|
||||||
[opal_pmix_pmix3x_args="--disable-debug $opal_pmix_pmix3x_args"
|
[opal_pmix_pmix4x_args="--disable-debug $opal_pmix_pmix4x_args"
|
||||||
CFLAGS="$OPAL_CFLAGS_BEFORE_PICKY $OPAL_VISIBILITY_CFLAGS"])
|
CFLAGS="$OPAL_CFLAGS_BEFORE_PICKY $OPAL_VISIBILITY_CFLAGS"])
|
||||||
AC_MSG_CHECKING([if want to install standalone libpmix])
|
AC_MSG_CHECKING([if want to install standalone libpmix])
|
||||||
AS_IF([test "$enable_install_libpmix" == "yes"],
|
AS_IF([test "$enable_install_libpmix" == "yes"],
|
||||||
[AC_MSG_RESULT([yes])],
|
[AC_MSG_RESULT([yes])],
|
||||||
[AC_MSG_RESULT([no])
|
[AC_MSG_RESULT([no])
|
||||||
opal_pmix_pmix3x_args="--with-pmix-symbol-rename=OPAL_MCA_PMIX3X_ --enable-embedded-mode $opal_pmix_pmix3x_args"])
|
opal_pmix_pmix4x_args="--with-pmix-symbol-rename=OPAL_MCA_PMIX4X_ --enable-embedded-mode $opal_pmix_pmix4x_args"])
|
||||||
AS_IF([test "$with_devel_headers" = "yes"],
|
AS_IF([test "$with_devel_headers" = "yes"],
|
||||||
[opal_pmix_pmix3x_args="--with-devel-headers $opal_pmix_pmix3x_args"])
|
[opal_pmix_pmix4x_args="--with-devel-headers $opal_pmix_pmix4x_args"])
|
||||||
CPPFLAGS="-I$OPAL_TOP_SRCDIR -I$OPAL_TOP_BUILDDIR -I$OPAL_TOP_SRCDIR/opal/include -I$OPAL_TOP_BUILDDIR/opal/include $CPPFLAGS"
|
CPPFLAGS="-I$OPAL_TOP_SRCDIR -I$OPAL_TOP_BUILDDIR -I$OPAL_TOP_SRCDIR/opal/include -I$OPAL_TOP_BUILDDIR/opal/include $CPPFLAGS"
|
||||||
|
|
||||||
OPAL_CONFIG_SUBDIR([$opal_pmix_pmix3x_basedir/pmix],
|
OPAL_CONFIG_SUBDIR([$opal_pmix_pmix4x_basedir/pmix],
|
||||||
[$opal_pmix_pmix3x_args $opal_subdir_args 'CFLAGS=$CFLAGS' 'CPPFLAGS=$CPPFLAGS'],
|
[$opal_pmix_pmix4x_args $opal_subdir_args 'CFLAGS=$CFLAGS' 'CPPFLAGS=$CPPFLAGS'],
|
||||||
[opal_pmix_pmix3x_happy=1], [opal_pmix_pmix3x_happy=0])
|
[opal_pmix_pmix4x_happy=1], [opal_pmix_pmix4x_happy=0])
|
||||||
|
|
||||||
CFLAGS=$opal_pmix_pmix3x_save_CFLAGS
|
CFLAGS=$opal_pmix_pmix4x_save_CFLAGS
|
||||||
CPPFLAGS=$opal_pmix_pmix3x_save_CPPFLAGS
|
CPPFLAGS=$opal_pmix_pmix4x_save_CPPFLAGS
|
||||||
LDFLAGS=$opal_pmix_pmix3x_save_LDFLAGS
|
LDFLAGS=$opal_pmix_pmix4x_save_LDFLAGS
|
||||||
LIBS=$opal_pmix_pmix3x_save_LIBS
|
LIBS=$opal_pmix_pmix4x_save_LIBS
|
||||||
|
|
||||||
# See if we are using the internal version. NOTE: we still did all the
|
# See if we are using the internal version. NOTE: we still did all the
|
||||||
# above configury so that all the proper GNU Autotools
|
# above configury so that all the proper GNU Autotools
|
||||||
# infrastructure is setup properly (e.g., w.r.t. SUBDIRS=pmix in
|
# infrastructure is setup properly (e.g., w.r.t. SUBDIRS=pmix in
|
||||||
# this directory's Makefile.am, we still need the Autotools "make
|
# this directory's Makefile.am, we still need the Autotools "make
|
||||||
# distclean" infrastructure to work properly).
|
# distclean" infrastructure to work properly).
|
||||||
AC_MSG_CHECKING([if v3.x component is to be used])
|
AC_MSG_CHECKING([if v4.x component is to be used])
|
||||||
AS_IF([test "$opal_external_pmix_happy" = "yes"],
|
AS_IF([test "$opal_external_pmix_happy" = "yes"],
|
||||||
[AC_MSG_RESULT([no - disqualifying this component])
|
[AC_MSG_RESULT([no - disqualifying this component])
|
||||||
opal_pmix_pmix3x_happy=0],
|
opal_pmix_pmix4x_happy=0],
|
||||||
[AC_MSG_RESULT([yes - using the internal v3.x library])
|
[AC_MSG_RESULT([yes - using the internal v4.x library])
|
||||||
# Build flags for our Makefile.am
|
# Build flags for our Makefile.am
|
||||||
opal_pmix_pmix3x_LDFLAGS=
|
opal_pmix_pmix4x_LDFLAGS=
|
||||||
opal_pmix_pmix3x_LIBS="$OPAL_TOP_BUILDDIR/$opal_pmix_pmix3x_basedir/pmix/src/libpmix.la"
|
opal_pmix_pmix4x_LIBS="$OPAL_TOP_BUILDDIR/$opal_pmix_pmix4x_basedir/pmix/src/libpmix.la"
|
||||||
opal_pmix_pmix3x_CPPFLAGS="-I$OPAL_TOP_BUILDDIR/$opal_pmix_pmix3x_basedir/pmix/include -I$OPAL_TOP_BUILDDIR/$opal_pmix_pmix3x_basedir/pmix -I$OPAL_TOP_SRCDIR/$opal_pmix_pmix3x_basedir/pmix/include -I$OPAL_TOP_SRCDIR/$opal_pmix_pmix3x_basedir/pmix"
|
opal_pmix_pmix4x_CPPFLAGS="-I$OPAL_TOP_BUILDDIR/$opal_pmix_pmix4x_basedir/pmix/include -I$OPAL_TOP_BUILDDIR/$opal_pmix_pmix4x_basedir/pmix -I$OPAL_TOP_SRCDIR/$opal_pmix_pmix4x_basedir/pmix/include -I$OPAL_TOP_SRCDIR/$opal_pmix_pmix4x_basedir/pmix"
|
||||||
opal_pmix_pmix3x_DEPENDENCIES="$OPAL_TOP_BUILDDIR/$opal_pmix_pmix3x_basedir/pmix/src/libpmix.la"])
|
opal_pmix_pmix4x_DEPENDENCIES="$OPAL_TOP_BUILDDIR/$opal_pmix_pmix4x_basedir/pmix/src/libpmix.la"])
|
||||||
|
|
||||||
AC_SUBST([opal_pmix_pmix3x_LIBS])
|
AC_SUBST([opal_pmix_pmix4x_LIBS])
|
||||||
AC_SUBST([opal_pmix_pmix3x_CPPFLAGS])
|
AC_SUBST([opal_pmix_pmix4x_CPPFLAGS])
|
||||||
AC_SUBST([opal_pmix_pmix3x_LDFLAGS])
|
AC_SUBST([opal_pmix_pmix4x_LDFLAGS])
|
||||||
AC_SUBST([opal_pmix_pmix3x_DEPENDENCIES])
|
AC_SUBST([opal_pmix_pmix4x_DEPENDENCIES])
|
||||||
|
|
||||||
# Finally, add some flags to the wrapper compiler so that our
|
# Finally, add some flags to the wrapper compiler so that our
|
||||||
# headers can be found.
|
# headers can be found.
|
||||||
pmix_pmix3x_status_filename="$OPAL_TOP_BUILDDIR/$opal_pmix_pmix3x_basedir/pmix/config.status"
|
pmix_pmix4x_status_filename="$OPAL_TOP_BUILDDIR/$opal_pmix_pmix4x_basedir/pmix/config.status"
|
||||||
pmix_pmix3x_WRAPPER_EXTRA_CPPFLAGS=`egrep PMIX_EMBEDDED_CPPFLAGS $pmix_pmix3x_status_filename | cut -d\" -f4`
|
pmix_pmix4x_WRAPPER_EXTRA_CPPFLAGS=`egrep PMIX_EMBEDDED_CPPFLAGS $pmix_pmix4x_status_filename | cut -d\" -f4`
|
||||||
pmix_pmix3x_WRAPPER_EXTRA_LDFLAGS=`egrep PMIX_EMBEDDED_LDFLAGS $pmix_pmix3x_status_filename | cut -d\" -f4`
|
pmix_pmix4x_WRAPPER_EXTRA_LDFLAGS=`egrep PMIX_EMBEDDED_LDFLAGS $pmix_pmix4x_status_filename | cut -d\" -f4`
|
||||||
pmix_pmix3x_WRAPPER_EXTRA_LIBS=`egrep PMIX_EMBEDDED_LIBS $pmix_pmix3x_status_filename | cut -d\" -f4`
|
pmix_pmix4x_WRAPPER_EXTRA_LIBS=`egrep PMIX_EMBEDDED_LIBS $pmix_pmix4x_status_filename | cut -d\" -f4`
|
||||||
|
|
||||||
AC_MSG_CHECKING([PMIx extra wrapper CPPFLAGS])
|
AC_MSG_CHECKING([PMIx extra wrapper CPPFLAGS])
|
||||||
AC_MSG_RESULT([$pmix_pmix3x_WRAPPER_EXTRA_CPPFLAGS])
|
AC_MSG_RESULT([$pmix_pmix4x_WRAPPER_EXTRA_CPPFLAGS])
|
||||||
AC_MSG_CHECKING([PMIx extra wrapper LDFLAGS])
|
AC_MSG_CHECKING([PMIx extra wrapper LDFLAGS])
|
||||||
AC_MSG_RESULT([$pmix_pmix3x_WRAPPER_EXTRA_LDFLAGS])
|
AC_MSG_RESULT([$pmix_pmix4x_WRAPPER_EXTRA_LDFLAGS])
|
||||||
AC_MSG_CHECKING([PMIx extra wrapper LIBS])
|
AC_MSG_CHECKING([PMIx extra wrapper LIBS])
|
||||||
AC_MSG_RESULT([$pmix_pmix3x_WRAPPER_EXTRA_LIBS])
|
AC_MSG_RESULT([$pmix_pmix4x_WRAPPER_EXTRA_LIBS])
|
||||||
|
|
||||||
AS_IF([test $opal_pmix_pmix3x_happy -eq 1],
|
AS_IF([test $opal_pmix_pmix4x_happy -eq 1],
|
||||||
[$1],
|
[$1],
|
||||||
[$2])
|
[$2])
|
||||||
|
|
32
opal/mca/pmix/pmix4x/help-pmix-pmix4x.txt
Обычный файл
32
opal/mca/pmix/pmix4x/help-pmix-pmix4x.txt
Обычный файл
@ -0,0 +1,32 @@
|
|||||||
|
# -*- text -*-
|
||||||
|
#
|
||||||
|
# Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana
|
||||||
|
# University Research and Technology
|
||||||
|
# Corporation. All rights reserved.
|
||||||
|
# Copyright (c) 2004-2005 The University of Tennessee and The University
|
||||||
|
# of Tennessee Research Foundation. 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 (c) 2017-2018 Intel, Inc. All rights reserved.
|
||||||
|
# $COPYRIGHT$
|
||||||
|
#
|
||||||
|
# Additional copyrights may follow
|
||||||
|
#
|
||||||
|
# $HEADER$
|
||||||
|
#
|
||||||
|
# This is the US/English help file for Open MPI MCA error messages.
|
||||||
|
#
|
||||||
|
[evars]
|
||||||
|
We found conflicting directives regarding the location of OPAL vs PMIx
|
||||||
|
installation directories:
|
||||||
|
|
||||||
|
%s
|
||||||
|
|
||||||
|
This usually indicates that OMPI was configured to use its internal copy
|
||||||
|
of PMIx, but another installation of PMIx is also in use on this system
|
||||||
|
and could potentially cause confusion between the two sets of plugins.
|
||||||
|
Please either unset the indicated environment variables, or configure
|
||||||
|
OMPI to use the external PMIx installation.
|
242
opal/mca/pmix/pmix4x/pmix/HACKING
Обычный файл
242
opal/mca/pmix/pmix4x/pmix/HACKING
Обычный файл
@ -0,0 +1,242 @@
|
|||||||
|
Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
|
||||||
|
University Research and Technology
|
||||||
|
Corporation. All rights reserved.
|
||||||
|
Copyright (c) 2004-2005 The University of Tennessee and The University
|
||||||
|
of Tennessee Research Foundation. 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 (c) 2008-2015 Cisco Systems, Inc. All rights reserved.
|
||||||
|
Copyright (c) 2013-2018 Intel, Inc. All rights reserved.
|
||||||
|
$COPYRIGHT$
|
||||||
|
|
||||||
|
Additional copyrights may follow
|
||||||
|
|
||||||
|
$HEADER$
|
||||||
|
|
||||||
|
Overview
|
||||||
|
========
|
||||||
|
|
||||||
|
This file is here for those who are building/exploring PMIx in its
|
||||||
|
source code form, most likely through a developer's tree (i.e., a Git
|
||||||
|
checkout).
|
||||||
|
|
||||||
|
|
||||||
|
Debugging vs. Optimized Builds
|
||||||
|
==============================
|
||||||
|
|
||||||
|
If you are building PMIx from a Git checkout, the default build
|
||||||
|
includes a lot of debugging features. This happens automatically when
|
||||||
|
when configure detects the hidden ".git" Git meta directory (that is
|
||||||
|
present in all Git checkouts) in your source tree, and therefore
|
||||||
|
activates a number of developer-only debugging features in the PMIx
|
||||||
|
code base.
|
||||||
|
|
||||||
|
By definition, debugging builds will perform [much] slower than
|
||||||
|
optimized builds of PMIx. You should *NOT* conduct timing tests
|
||||||
|
or try to run production performance numbers with debugging builds.
|
||||||
|
|
||||||
|
If you wish to build an optimized version of PMIx from a
|
||||||
|
developer's checkout, you have three main options:
|
||||||
|
|
||||||
|
1. Use the "--with-platform=optimized" switch to configure. This is
|
||||||
|
the preferred (and probably easiest) method. For example:
|
||||||
|
|
||||||
|
shell$ git clone git@github.com:pmix/master.git pmix
|
||||||
|
shell$ cd pmix
|
||||||
|
shell$ ./autogen.pl
|
||||||
|
shell$ mkdir build
|
||||||
|
shell$ cd build
|
||||||
|
shell$ ./configure --with-platform=optimized ...
|
||||||
|
[...lots of output...]
|
||||||
|
shell$ make all install
|
||||||
|
|
||||||
|
2. Use a VPATH build. Simply build PMIx from a different
|
||||||
|
directory than the source tree -- one where the .git subdirectory
|
||||||
|
is not present. For example:
|
||||||
|
|
||||||
|
shell$ git clone git@github.com:pmix/master.git pmix
|
||||||
|
shell$ cd pmix
|
||||||
|
shell$ ./autogen.pl
|
||||||
|
shell$ mkdir build
|
||||||
|
shell$ cd build
|
||||||
|
shell$ ../configure ...
|
||||||
|
[...lots of output...]
|
||||||
|
shell$ make all install
|
||||||
|
|
||||||
|
3. Manually specify configure options to disable all the debugging
|
||||||
|
options (note that this is exactly what "--with-platform=optimized"
|
||||||
|
does behind the scenes). You'll need to carefully examine the
|
||||||
|
output of "./configure --help" to see which options to disable.
|
||||||
|
They are all listed, but some are less obvious than others (they
|
||||||
|
are not listed here because it is a changing set of flags; by
|
||||||
|
Murphy's Law, listing them here will pretty much guarantee that
|
||||||
|
this file will get out of date):
|
||||||
|
|
||||||
|
shell$ ./configure --disable-debug ...
|
||||||
|
[...lots of output...]
|
||||||
|
shell$ make all install
|
||||||
|
|
||||||
|
|
||||||
|
Use of GNU Autoconf, Automake, and Libtool (and m4)
|
||||||
|
===================================================
|
||||||
|
|
||||||
|
This procedure is *ONLY* necessary if you are building from a
|
||||||
|
developer's tree. If you have a PMIx distribution tarball, this
|
||||||
|
procedure is unnecessary -- you can (and should) skip reading this
|
||||||
|
section.
|
||||||
|
|
||||||
|
If you are building PMIx from a developer's tree, you must first
|
||||||
|
install fairly recent versions of the GNU tools Autoconf, Automake,
|
||||||
|
and Libtool (and possibly GNU m4, because recent versions of Autoconf
|
||||||
|
have specific GNU m4 version requirements). The specific versions
|
||||||
|
required depend on if you are using the master or a release branch (and
|
||||||
|
which release branch you are using). The specific versions can be
|
||||||
|
found at:
|
||||||
|
|
||||||
|
https://pmix.github.io/pmix/faq/building
|
||||||
|
|
||||||
|
You can check what versions of the autotools you have installed with
|
||||||
|
the following:
|
||||||
|
|
||||||
|
shell$ m4 --version
|
||||||
|
shell$ autoconf --version
|
||||||
|
shell$ automake --version
|
||||||
|
shell$ libtoolize --version
|
||||||
|
|
||||||
|
To strengthen the above point: the core PMIx developers typically
|
||||||
|
use very, very recent versions of the GNU tools. There are known bugs
|
||||||
|
in older versions of the GNU tools that PMIx no longer compensates
|
||||||
|
for (it seemed senseless to indefinitely support patches for ancient
|
||||||
|
versions of Autoconf, for example). You *WILL* have problems if you
|
||||||
|
do not use recent versions of the GNU tools.
|
||||||
|
|
||||||
|
If you need newer versions, you are *strongly* encouraged to heed the
|
||||||
|
following advice:
|
||||||
|
|
||||||
|
NOTE: On MacOS/X, the default "libtool" program is different than the
|
||||||
|
GNU libtool. You must download and install the GNU version
|
||||||
|
(e.g., via MacPorts, Homebrew, or some other mechanism).
|
||||||
|
|
||||||
|
1. Unless your OS distribution has easy-to-use binary installations,
|
||||||
|
the sources can be can be downloaded from:
|
||||||
|
|
||||||
|
ftp://ftp.gnu.org/gnu/autoconf/
|
||||||
|
ftp://ftp.gnu.org/gnu/automake/
|
||||||
|
ftp://ftp.gnu.org/gnu/libtool/
|
||||||
|
and if you need it:
|
||||||
|
ftp://ftp.gnu.org/gnu/m4/
|
||||||
|
|
||||||
|
NOTE: It is certainly easiest to download/build/install all four of
|
||||||
|
these tools together. But note that PMIx has no specific m4
|
||||||
|
requirements; it is only listed here because Autoconf requires
|
||||||
|
minimum versions of GNU m4. Hence, you may or may not *need* to
|
||||||
|
actually install a new version of GNU m4. That being said, if you
|
||||||
|
are confused or don't know, just install the latest GNU m4 with the
|
||||||
|
rest of the GNU Autotools and everything will work out fine.
|
||||||
|
|
||||||
|
2. Build and install the tools in the following order:
|
||||||
|
|
||||||
|
2a. m4
|
||||||
|
2b. Autoconf
|
||||||
|
2c. Automake
|
||||||
|
2d. Libtool
|
||||||
|
|
||||||
|
3. You MUST install the last three tools (Autoconf, Automake, Libtool)
|
||||||
|
into the same prefix directory. These three tools are somewhat
|
||||||
|
inter-related, and if they're going to be used together, they MUST
|
||||||
|
share a common installation prefix.
|
||||||
|
|
||||||
|
You can install m4 anywhere as long as it can be found in the path;
|
||||||
|
it may be convenient to install it in the same prefix as the other
|
||||||
|
three. Or you can use any recent-enough m4 that is in your path.
|
||||||
|
|
||||||
|
3a. It is *strongly* encouraged that you do not install your new
|
||||||
|
versions over the OS-installed versions. This could cause
|
||||||
|
other things on your system to break. Instead, install into
|
||||||
|
$HOME/local, or /usr/local, or wherever else you tend to
|
||||||
|
install "local" kinds of software.
|
||||||
|
3b. In doing so, be sure to prefix your $path with the directory
|
||||||
|
where they are installed. For example, if you install into
|
||||||
|
$HOME/local, you may want to edit your shell startup file
|
||||||
|
(.bashrc, .cshrc, .tcshrc, etc.) to have something like:
|
||||||
|
|
||||||
|
# For bash/sh:
|
||||||
|
export PATH=$HOME/local/bin:$PATH
|
||||||
|
# For csh/tcsh:
|
||||||
|
set path = ($HOME/local/bin $path)
|
||||||
|
|
||||||
|
3c. Ensure to set your $path *BEFORE* you configure/build/install
|
||||||
|
the four packages.
|
||||||
|
|
||||||
|
4. All four packages require two simple commands to build and
|
||||||
|
install (where PREFIX is the prefix discussed in 3, above).
|
||||||
|
|
||||||
|
shell$ cd m4-1.4.13
|
||||||
|
shell$ ./configure --prefix=PREFIX
|
||||||
|
shell$ make; make install
|
||||||
|
|
||||||
|
--> If you are using the csh or tcsh shells, be sure to run the
|
||||||
|
"rehash" command after you install each package.
|
||||||
|
|
||||||
|
shell$ cd ../autoconf-2.68
|
||||||
|
shell$ ./configure --prefix=PREFIX
|
||||||
|
shell$ make; make install
|
||||||
|
|
||||||
|
--> If you are using the csh or tcsh shells, be sure to run the
|
||||||
|
"rehash" command after you install each package.
|
||||||
|
|
||||||
|
shell$ cd ../automake-1.11.1
|
||||||
|
shell$ ./configure --prefix=PREFIX
|
||||||
|
shell$ make; make install
|
||||||
|
|
||||||
|
--> If you are using the csh or tcsh shells, be sure to run the
|
||||||
|
"rehash" command after you install each package.
|
||||||
|
|
||||||
|
shell$ cd ../libtool-2.2.8
|
||||||
|
shell$ ./configure --prefix=PREFIX
|
||||||
|
shell$ make; make install
|
||||||
|
|
||||||
|
--> If you are using the csh or tcsh shells, be sure to run the
|
||||||
|
"rehash" command after you install each package.
|
||||||
|
|
||||||
|
m4, Autoconf and Automake build and install very quickly; Libtool will
|
||||||
|
take a minute or two.
|
||||||
|
|
||||||
|
5. You can now run PMIx’s top-level "autogen.sh" script. This script
|
||||||
|
will invoke the GNU Autoconf, Automake, and Libtool commands in the
|
||||||
|
proper order and setup to run PMIx's top-level "configure" script.
|
||||||
|
|
||||||
|
5a. You generally need to run autogen.sh only when the top-level
|
||||||
|
file "configure.ac" changes, or any files in the config/ or
|
||||||
|
<project>/config/ directories change (these directories are
|
||||||
|
where a lot of "include" files for PMI’xs configure script
|
||||||
|
live).
|
||||||
|
|
||||||
|
5b. You do *NOT* need to re-run autogen.sh if you modify a
|
||||||
|
Makefile.am.
|
||||||
|
|
||||||
|
Use of Flex
|
||||||
|
===========
|
||||||
|
|
||||||
|
Flex may be used during the compilation of a developer's checkout (it is
|
||||||
|
not used to build official distribution tarballs). Other flavors of
|
||||||
|
lex are *not* supported: given the choice of making parsing code
|
||||||
|
portable between all flavors of lex and doing more interesting work on
|
||||||
|
PMIx, we greatly prefer the latter.
|
||||||
|
|
||||||
|
Note that no testing has been performed to see what the minimum
|
||||||
|
version of Flex is required by PMIx. We suggest that you use
|
||||||
|
v2.5.35 at the earliest.
|
||||||
|
|
||||||
|
Note that the flex-generated code generates some compiler warnings on
|
||||||
|
some platforms, but the warnings do not seem to be consistent or
|
||||||
|
uniform on all platforms, compilers, and flex versions. As such, we
|
||||||
|
have done little to try to remove those warnings.
|
||||||
|
|
||||||
|
If you do not have Flex installed, it can be downloaded from the
|
||||||
|
following URL:
|
||||||
|
|
||||||
|
http://flex.sourceforge.net/
|
@ -9,7 +9,7 @@ Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
|||||||
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) 2008-2015 Cisco Systems, Inc. All rights reserved.
|
Copyright (c) 2008-2015 Cisco Systems, Inc. All rights reserved.
|
||||||
Copyright (c) 2013-2017 Intel, Inc. All rights reserved.
|
Copyright (c) 2013-2018 Intel, Inc. All rights reserved.
|
||||||
$COPYRIGHT$
|
$COPYRIGHT$
|
||||||
|
|
||||||
Additional copyrights may follow
|
Additional copyrights may follow
|
@ -26,7 +26,7 @@ Copyright (c) 2006-2010 Sun Microsystems, Inc. All rights reserved.
|
|||||||
Copyright (c) 2006-2010 The University of Houston. All rights reserved.
|
Copyright (c) 2006-2010 The University of Houston. All rights reserved.
|
||||||
Copyright (c) 2006-2009 Myricom, Inc. All rights reserved.
|
Copyright (c) 2006-2009 Myricom, Inc. All rights reserved.
|
||||||
Copyright (c) 2007-2008 UT-Battelle, LLC. All rights reserved.
|
Copyright (c) 2007-2008 UT-Battelle, LLC. All rights reserved.
|
||||||
Copyright (c) 2007-2018 IBM Corporation. All rights reserved.
|
Copyright (c) 2007-2010 IBM Corporation. All rights reserved.
|
||||||
Copyright (c) 1998-2005 Forschungszentrum Juelich, Juelich Supercomputing
|
Copyright (c) 1998-2005 Forschungszentrum Juelich, Juelich Supercomputing
|
||||||
Centre, Federal Republic of Germany
|
Centre, Federal Republic of Germany
|
||||||
Copyright (c) 2005-2008 ZIH, TU Dresden, Federal Republic of Germany
|
Copyright (c) 2005-2008 ZIH, TU Dresden, Federal Republic of Germany
|
||||||
@ -36,7 +36,7 @@ Copyright (c) 2008-2009 Institut National de Recherche en
|
|||||||
Informatique. All rights reserved.
|
Informatique. All rights reserved.
|
||||||
Copyright (c) 2007 Lawrence Livermore National Security, LLC.
|
Copyright (c) 2007 Lawrence Livermore National Security, LLC.
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
Copyright (c) 2007-2018 Mellanox Technologies. All rights reserved.
|
Copyright (c) 2007-2009 Mellanox Technologies. All rights reserved.
|
||||||
Copyright (c) 2006-2010 QLogic Corporation. All rights reserved.
|
Copyright (c) 2006-2010 QLogic Corporation. All rights reserved.
|
||||||
Copyright (c) 2008-2010 Oak Ridge National Labs. All rights reserved.
|
Copyright (c) 2008-2010 Oak Ridge National Labs. All rights reserved.
|
||||||
Copyright (c) 2006-2010 Oracle and/or its affiliates. All rights reserved.
|
Copyright (c) 2006-2010 Oracle and/or its affiliates. All rights reserved.
|
||||||
@ -45,7 +45,7 @@ Copyright (c) 2010 ARM ltd. All rights reserved.
|
|||||||
Copyright (c) 2010-2011 Alex Brick <bricka@ccs.neu.edu>. All rights reserved.
|
Copyright (c) 2010-2011 Alex Brick <bricka@ccs.neu.edu>. All rights reserved.
|
||||||
Copyright (c) 2012 The University of Wisconsin-La Crosse. All rights
|
Copyright (c) 2012 The University of Wisconsin-La Crosse. All rights
|
||||||
reserved.
|
reserved.
|
||||||
Copyright (c) 2013-2018 Intel, Inc. All rights reserved.
|
Copyright (c) 2013-2018 Intel, Inc. All rights reserved.
|
||||||
Copyright (c) 2011-2014 NVIDIA Corporation. All rights reserved.
|
Copyright (c) 2011-2014 NVIDIA Corporation. All rights reserved.
|
||||||
|
|
||||||
$COPYRIGHT$
|
$COPYRIGHT$
|
@ -23,13 +23,13 @@
|
|||||||
# via AC_CONFIG_MACRO_DIR in configure.ac.
|
# via AC_CONFIG_MACRO_DIR in configure.ac.
|
||||||
ACLOCAL_AMFLAGS = -I ./config
|
ACLOCAL_AMFLAGS = -I ./config
|
||||||
|
|
||||||
SUBDIRS = config contrib include src etc
|
SUBDIRS = config contrib include src etc bindings
|
||||||
|
|
||||||
|
|
||||||
headers =
|
headers =
|
||||||
sources =
|
sources =
|
||||||
nodist_headers =
|
nodist_headers =
|
||||||
EXTRA_DIST = AUTHORS README INSTALL VERSION LICENSE autogen.pl
|
EXTRA_DIST = AUTHORS README HACKING INSTALL VERSION LICENSE autogen.pl
|
||||||
|
|
||||||
# Only install the valgrind suppressions file and man pages
|
# Only install the valgrind suppressions file and man pages
|
||||||
# if we're building in standalone mode
|
# if we're building in standalone mode
|
@ -21,94 +21,8 @@ example, a bug might be fixed in the master, and then moved to the
|
|||||||
current release as well as the "stable" bug fix release branch.
|
current release as well as the "stable" bug fix release branch.
|
||||||
|
|
||||||
|
|
||||||
3.0.1 -- 23 Aug 2018
|
Master (not on release branches yet)
|
||||||
----------------------
|
|
||||||
**** DEPRECATION WARNING: The pmix_info_array_t struct was
|
|
||||||
**** initially marked for deprecation in the v2.x series.
|
|
||||||
**** We failed to provide clear warning at that time. This
|
|
||||||
**** therefore serves as warning of intended removal of
|
|
||||||
**** pmix_info_array_t in the future v4 release series.
|
|
||||||
- Fixed memory corruption bug in event notification
|
|
||||||
system due to uninitialized variable
|
|
||||||
- Add numeric version field to pmix_version.h
|
|
||||||
- Transfer all cached data to client dstore upon first connect
|
|
||||||
- Implement missing job control and sensor APIs
|
|
||||||
|
|
||||||
|
|
||||||
3.0.0 -- 6 July 2018
|
|
||||||
------------------------------------
|
------------------------------------
|
||||||
**** NOTE: This release implements the complete PMIX v3.0 Standard
|
|
||||||
**** and therefore includes a number of new APIs and features. These
|
|
||||||
**** can be tracked by their RFC's on the community website:
|
|
||||||
**** https://pmix.org/pmix-standard.
|
|
||||||
- Added blocking forms of several existing APIs:
|
|
||||||
- PMIx_Log
|
|
||||||
- PMIx_Allocation_request
|
|
||||||
- PMIx_Job_control
|
|
||||||
- PMIx_Process_monitor
|
|
||||||
- Added support for getting/validating security credentials
|
|
||||||
- PMIx_Get_credential, PMIx_Validate_credential
|
|
||||||
- Extended support for debuggers/tools
|
|
||||||
- Added IO forwarding support allowing tools to request
|
|
||||||
forwarding of output from specific application procs,
|
|
||||||
and to forward their input to specified target procs
|
|
||||||
- Extended tool attributes to support synchronization
|
|
||||||
during startup of applications. This includes the
|
|
||||||
ability to modify an application's environment
|
|
||||||
(including support for LD_PRELOAD) and define an
|
|
||||||
alternate fork/exec agent
|
|
||||||
- Added ability for a tool to switch server connections
|
|
||||||
so it can first connect to a system-level server to
|
|
||||||
launch a starter program, and then reconnect to that
|
|
||||||
starter for debugging purposes
|
|
||||||
- Extended network support to collect network inventory by
|
|
||||||
either rolling it up from individual nodes or by direct
|
|
||||||
query of fabric managers. Added an API by which the
|
|
||||||
host can inject any rolled up inventory into the local
|
|
||||||
PMIx server. Applications and/or the host RM can access
|
|
||||||
the inventory via the PMIx_Query function.
|
|
||||||
- Added the ability for applications and/or tools to register
|
|
||||||
files and directories for cleanup upon their termination
|
|
||||||
- Added support for inter-library coordination within a process
|
|
||||||
- Extended PMIx_Log support by adding plugin support for new
|
|
||||||
channels, including local/remote syslog and email. Added
|
|
||||||
attributes to query available channels and to tag and
|
|
||||||
format output.
|
|
||||||
- Fix several memory and file descriptor leaks
|
|
||||||
|
|
||||||
|
|
||||||
2.1.3 -- 23 Aug 2018
|
|
||||||
----------------------
|
|
||||||
- Fixed memory corruption bug in event notification
|
|
||||||
system due to uninitialized variable
|
|
||||||
- Add numeric version definition
|
|
||||||
- Transfer all cached data to client dstore upon first connect
|
|
||||||
|
|
||||||
|
|
||||||
2.1.2 -- 6 July 2018
|
|
||||||
----------------------
|
|
||||||
- Added PMIX_VERSION_RELEASE string to pmix_version.h
|
|
||||||
- Added PMIX_SPAWNED and PMIX_PARENT_ID keys to all procs
|
|
||||||
started via PMIx_Spawn
|
|
||||||
- Fixed faulty compares in PMI/PMI2 tests
|
|
||||||
- Fixed bug in direct modex for data on remote node
|
|
||||||
- Correctly transfer all cached job info to the client's
|
|
||||||
shared memory region upon first connection
|
|
||||||
- Fix potential deadlock in PMIx_server_init in an error case
|
|
||||||
- Fix uninitialized variable
|
|
||||||
- Fix several memory and file descriptor leaks
|
|
||||||
|
|
||||||
|
|
||||||
2.1.1 -- 23 Feb 2018
|
|
||||||
----------------------
|
|
||||||
- Fix direct modex when receiving new nspace
|
|
||||||
- Resolve direct modex of job-level info
|
|
||||||
- Fix a bug in attribute configuration checks
|
|
||||||
- Fix a couple of bugs in unpacking of direct modex job-level data
|
|
||||||
- Correcly handle application setup data during "instant on" launch
|
|
||||||
- add a PMIX_BYTE_OBJECT_LOAD convenience macro
|
|
||||||
- Fix two early "free" bugs
|
|
||||||
- Add an example PMI-1 client program
|
|
||||||
|
|
||||||
|
|
||||||
2.1.0 -- 1 Feb 2018
|
2.1.0 -- 1 Feb 2018
|
||||||
@ -126,7 +40,7 @@ current release as well as the "stable" bug fix release branch.
|
|||||||
sets of numbers
|
sets of numbers
|
||||||
|
|
||||||
|
|
||||||
2.0.3 -- 1 Feb 2018
|
2.0.3 -- TBD
|
||||||
----------------------
|
----------------------
|
||||||
- Fix event notification so all sides of multi-library get notified
|
- Fix event notification so all sides of multi-library get notified
|
||||||
of other library's existence
|
of other library's existence
|
@ -15,7 +15,7 @@ Copyright (c) 2007 Myricom, Inc. All rights reserved.
|
|||||||
Copyright (c) 2008 IBM Corporation. All rights reserved.
|
Copyright (c) 2008 IBM Corporation. All rights reserved.
|
||||||
Copyright (c) 2010 Oak Ridge National Labs. All rights reserved.
|
Copyright (c) 2010 Oak Ridge National Labs. All rights reserved.
|
||||||
Copyright (c) 2011 University of Houston. All rights reserved.
|
Copyright (c) 2011 University of Houston. All rights reserved.
|
||||||
Copyright (c) 2013-2018 Intel, Inc. All rights reserved.
|
Copyright (c) 2013-2018 Intel, Inc. All rights reserved.
|
||||||
$COPYRIGHT$
|
$COPYRIGHT$
|
||||||
|
|
||||||
Additional copyrights may follow
|
Additional copyrights may follow
|
||||||
@ -25,14 +25,13 @@ $HEADER$
|
|||||||
===========================================================================
|
===========================================================================
|
||||||
|
|
||||||
When submitting questions and problems, be sure to include as much
|
When submitting questions and problems, be sure to include as much
|
||||||
extra information as possible. The issues template on the
|
extra information as possible. This web page details all the
|
||||||
GitHub repo provides directions:
|
information that we request in order to provide assistance:
|
||||||
|
|
||||||
http://github.com/pmix/pmix/issues
|
http://pmix.github.io/pmix/community/help/
|
||||||
|
|
||||||
The best way to report bugs, send comments, or ask questions is to
|
The best way to report bugs, send comments, or ask questions is to
|
||||||
open an issue on the repo. Alternatively, you are welcome to sign
|
sign up on the PMIx mailing list, which is hosted by GoogleGroups:
|
||||||
up for the developer/user mailing list:
|
|
||||||
|
|
||||||
pmix@googlegroups.com
|
pmix@googlegroups.com
|
||||||
|
|
||||||
@ -49,7 +48,7 @@ Thanks for your time.
|
|||||||
|
|
||||||
More information is available in the PMIx FAQ:
|
More information is available in the PMIx FAQ:
|
||||||
|
|
||||||
https://pmix.org/support
|
http://pmix.github.io/pmix/faq/
|
||||||
|
|
||||||
We are in early days, so please be patient - info will grow as questions
|
We are in early days, so please be patient - info will grow as questions
|
||||||
are addressed.
|
are addressed.
|
||||||
@ -64,7 +63,7 @@ General notes
|
|||||||
|
|
||||||
- The majority of PMIx's documentation is here in this file, the
|
- The majority of PMIx's documentation is here in this file, the
|
||||||
included man pages, and on the web site FAQ
|
included man pages, and on the web site FAQ
|
||||||
(https://pmix.org/support). This will eventually be
|
(http://pmix.github.io/pmix/faq). This will eventually be
|
||||||
supplemented with cohesive installation and user documentation files.
|
supplemented with cohesive installation and user documentation files.
|
||||||
|
|
||||||
- Systems that have been tested are:
|
- Systems that have been tested are:
|
||||||
@ -313,7 +312,7 @@ Common Questions
|
|||||||
Many common questions about building and using PMIx are answered
|
Many common questions about building and using PMIx are answered
|
||||||
on the FAQ:
|
on the FAQ:
|
||||||
|
|
||||||
https://pmix.org/support
|
http://pmix.github.io/pmix/faq/
|
||||||
|
|
||||||
===========================================================================
|
===========================================================================
|
||||||
|
|
||||||
@ -324,10 +323,10 @@ Found a bug? Got a question? Want to make a suggestion? Want to
|
|||||||
contribute to PMIx? Please let us know!
|
contribute to PMIx? Please let us know!
|
||||||
|
|
||||||
When submitting questions and problems, be sure to include as much
|
When submitting questions and problems, be sure to include as much
|
||||||
extra information as possible. Again, the issues template is your
|
extra information as possible. This web page details all the
|
||||||
friend in this regard!
|
information that we request in order to provide assistance:
|
||||||
|
|
||||||
https://github.com/pmix/pmix/issues
|
http://pmix.github.io/pmix/community/help/
|
||||||
|
|
||||||
Questions and comments should generally be sent to the PMIx mailing
|
Questions and comments should generally be sent to the PMIx mailing
|
||||||
list (pmix@googlegroups.com). Because of spam, only
|
list (pmix@googlegroups.com). Because of spam, only
|
||||||
@ -339,4 +338,4 @@ user's list:
|
|||||||
|
|
||||||
https://groups.google.com/d/forum/pmix
|
https://groups.google.com/d/forum/pmix
|
||||||
|
|
||||||
Make today a PMIx day!
|
Make today an PMIx day!
|
@ -13,9 +13,9 @@
|
|||||||
# major, minor, and release are generally combined in the form
|
# major, minor, and release are generally combined in the form
|
||||||
# <major>.<minor>.<release>.
|
# <major>.<minor>.<release>.
|
||||||
|
|
||||||
major=3
|
major=4
|
||||||
minor=0
|
minor=0
|
||||||
release=1
|
release=0
|
||||||
|
|
||||||
# greek is used for alpha or beta release tags. If it is non-empty,
|
# greek is used for alpha or beta release tags. If it is non-empty,
|
||||||
# it will be appended to the version number. It does not have to be
|
# it will be appended to the version number. It does not have to be
|
||||||
@ -30,7 +30,7 @@ greek=
|
|||||||
# command, or with the date (if "git describe" fails) in the form of
|
# command, or with the date (if "git describe" fails) in the form of
|
||||||
# "date<date>".
|
# "date<date>".
|
||||||
|
|
||||||
repo_rev=gitbf30a5f
|
repo_rev=git931d7970
|
||||||
|
|
||||||
# If tarball_version is not empty, it is used as the version string in
|
# If tarball_version is not empty, it is used as the version string in
|
||||||
# the tarball filename, regardless of all other versions listed in
|
# the tarball filename, regardless of all other versions listed in
|
||||||
@ -44,7 +44,7 @@ tarball_version=
|
|||||||
|
|
||||||
# The date when this release was created
|
# The date when this release was created
|
||||||
|
|
||||||
date="Aug 20, 2018"
|
date="Sep 13, 2018"
|
||||||
|
|
||||||
# The shared library version of each of PMIx's public libraries.
|
# The shared library version of each of PMIx's public libraries.
|
||||||
# These versions are maintained in accordance with the "Library
|
# These versions are maintained in accordance with the "Library
|
||||||
@ -75,6 +75,13 @@ date="Aug 20, 2018"
|
|||||||
# Version numbers are described in the Libtool current:revision:age
|
# Version numbers are described in the Libtool current:revision:age
|
||||||
# format.
|
# format.
|
||||||
|
|
||||||
libpmix_so_version=4:1:2
|
libpmix_so_version=0:0:0
|
||||||
libpmi_so_version=1:0:0
|
libpmi_so_version=0:0:0
|
||||||
libpmi2_so_version=1:0:0
|
libpmi2_so_version=0:0:0
|
||||||
|
|
||||||
|
# "Common" components install standalone libraries that are run-time
|
||||||
|
# # linked by one or more components. So they need to be versioned as
|
||||||
|
# # well. Yuck; this somewhat breaks the
|
||||||
|
# # components-don't-affect-the-build-system abstraction.
|
||||||
|
#
|
||||||
|
libmca_common_dstore_so_version=0:0:0
|
2
opal/mca/pmix/pmix3x/pmix/autogen.pl → opal/mca/pmix/pmix4x/pmix/autogen.pl
Исполняемый файл → Обычный файл
2
opal/mca/pmix/pmix3x/pmix/autogen.pl → opal/mca/pmix/pmix4x/pmix/autogen.pl
Исполняемый файл → Обычный файл
@ -4,7 +4,7 @@
|
|||||||
# Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved.
|
||||||
# Copyright (c) 2013 Mellanox Technologies, Inc.
|
# Copyright (c) 2013 Mellanox Technologies, Inc.
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
# Copyright (c) 2013-2017 Intel, Inc. All rights reserved.
|
# Copyright (c) 2013-2018 Intel, Inc. All rights reserved.
|
||||||
# Copyright (c) 2015 Research Organization for Information Science
|
# Copyright (c) 2015 Research Organization for Information Science
|
||||||
# and Technology (RIST). All rights reserved.
|
# and Technology (RIST). All rights reserved.
|
||||||
# Copyright (c) 2015 IBM Corporation. All rights reserved.
|
# Copyright (c) 2015 IBM Corporation. All rights reserved.
|
22
opal/mca/pmix/pmix4x/pmix/bindings/Makefile.am
Обычный файл
22
opal/mca/pmix/pmix4x/pmix/bindings/Makefile.am
Обычный файл
@ -0,0 +1,22 @@
|
|||||||
|
#
|
||||||
|
# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
|
||||||
|
# University Research and Technology
|
||||||
|
# Corporation. All rights reserved.
|
||||||
|
# Copyright (c) 2004-2005 The University of Tennessee and The University
|
||||||
|
# of Tennessee Research Foundation. All rights
|
||||||
|
# reserved.
|
||||||
|
# Copyright (c) 2004-2009 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 (c) 2006-2010 Cisco Systems, Inc. All rights reserved.
|
||||||
|
# Copyright (c) 2012-2013 Los Alamos National Security, Inc. All rights reserved.
|
||||||
|
# Copyright (c) 2013-2018 Intel, Inc. All rights reserved.
|
||||||
|
# $COPYRIGHT$
|
||||||
|
#
|
||||||
|
# Additional copyrights may follow
|
||||||
|
#
|
||||||
|
# $HEADER$
|
||||||
|
#
|
||||||
|
|
||||||
|
SUBDIRS = python
|
21
opal/mca/pmix/pmix4x/pmix/bindings/README
Обычный файл
21
opal/mca/pmix/pmix4x/pmix/bindings/README
Обычный файл
@ -0,0 +1,21 @@
|
|||||||
|
Copyright (c) 2016-2018 Intel, Inc. All rights reserved.
|
||||||
|
|
||||||
|
$COPYRIGHT$
|
||||||
|
|
||||||
|
Additional copyrights may follow
|
||||||
|
|
||||||
|
$HEADER$
|
||||||
|
|
||||||
|
===========================================================================
|
||||||
|
|
||||||
|
This is where bindings of PMIx functions to alternative programming languages
|
||||||
|
such as Python reside. All functions defined in the public headers have been
|
||||||
|
provided with a wrapper. Note that there is no restriction on the number of
|
||||||
|
wrappers that can exist, nor on what type of function is wrapped.
|
||||||
|
|
||||||
|
There is only one rule to observe: you can wrap a framework, but you cannot wrap a
|
||||||
|
specific plugin within that framework. This constraint flows from the fact that
|
||||||
|
plugins are only accessed via the framework interface - thus, there is no way to
|
||||||
|
guarantee that a particular plugin will be the active selection.
|
||||||
|
|
||||||
|
|
42
opal/mca/pmix/pmix4x/pmix/bindings/python/Makefile.am
Обычный файл
42
opal/mca/pmix/pmix4x/pmix/bindings/python/Makefile.am
Обычный файл
@ -0,0 +1,42 @@
|
|||||||
|
#
|
||||||
|
# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
|
||||||
|
# University Research and Technology
|
||||||
|
# Corporation. All rights reserved.
|
||||||
|
# Copyright (c) 2004-2005 The University of Tennessee and The University
|
||||||
|
# of Tennessee Research Foundation. All rights
|
||||||
|
# reserved.
|
||||||
|
# Copyright (c) 2004-2009 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 (c) 2006-2010 Cisco Systems, Inc. All rights reserved.
|
||||||
|
# Copyright (c) 2012-2013 Los Alamos National Security, Inc. All rights reserved.
|
||||||
|
# Copyright (c) 2013-2018 Intel, Inc. All rights reserved.
|
||||||
|
# Copyright (c) 2018 Research Organization for Information Science
|
||||||
|
# and Technology (RIST). All rights reserved.
|
||||||
|
# $COPYRIGHT$
|
||||||
|
#
|
||||||
|
# Additional copyrights may follow
|
||||||
|
#
|
||||||
|
# $HEADER$
|
||||||
|
#
|
||||||
|
|
||||||
|
helpers = setup.py client.py server.py cpmix.pxd pmix.pyx
|
||||||
|
|
||||||
|
if WANT_PYTHON_BINDINGS
|
||||||
|
|
||||||
|
install-exec-local: $(helpers)
|
||||||
|
$(PYTHON) $(top_srcdir)/bindings/python/construct.py --src="$(top_builddir)/include"
|
||||||
|
$(PYTHON) $(top_srcdir)/bindings/python/setup.py build_ext --include-dirs="$(top_builddir)/include" --library-dirs="$(DESTDIR)$(libdir)" --user
|
||||||
|
$(PYTHON) $(top_srcdir)/bindings/python/setup.py install --prefix="$(DESTDIR)$(prefix)"
|
||||||
|
|
||||||
|
uninstall-hook:
|
||||||
|
rm -f $(pythondir)/pmix*.so
|
||||||
|
rm -f $(pythondir)/pypmix-*.egg-info
|
||||||
|
|
||||||
|
CLEANFILES += pmix.c
|
||||||
|
|
||||||
|
clean-local:
|
||||||
|
rm -rf build
|
||||||
|
|
||||||
|
endif
|
49
opal/mca/pmix/pmix4x/pmix/bindings/python/README
Обычный файл
49
opal/mca/pmix/pmix4x/pmix/bindings/python/README
Обычный файл
@ -0,0 +1,49 @@
|
|||||||
|
===========================================================================
|
||||||
|
Cython-based Python wrapper for PMIx
|
||||||
|
===========================================================================
|
||||||
|
|
||||||
|
|
||||||
|
Example
|
||||||
|
-------
|
||||||
|
|
||||||
|
This example starts up a persistent DVM and then spawns some tasks using
|
||||||
|
Python.
|
||||||
|
|
||||||
|
$ virtualenv ve
|
||||||
|
$ source ve/bin/activate
|
||||||
|
$ pip install orte-cffi
|
||||||
|
$ orte-dvm --report-uri dvm_uri
|
||||||
|
$ python examples/submit.py
|
||||||
|
|
||||||
|
|
||||||
|
Create a distfile
|
||||||
|
----------------------------------------
|
||||||
|
|
||||||
|
If you want to create a sdist file:
|
||||||
|
|
||||||
|
$ virtualenv ve
|
||||||
|
$ source ve/bin/activate
|
||||||
|
$ python setup.py sdist
|
||||||
|
|
||||||
|
|
||||||
|
Uploading sdist to pypi
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
Assuming you have admin privileges to the pypi package repository for this
|
||||||
|
package, a new version can be uploaded using twine:
|
||||||
|
|
||||||
|
$ virtualenv ve
|
||||||
|
$ source ve/bin/activate
|
||||||
|
$ pip install twine
|
||||||
|
$ twine upload dist/orte-cffi-`python setup.py --version`.tar.gz
|
||||||
|
|
||||||
|
|
||||||
|
Building (for development purposes only)
|
||||||
|
----------------------------------------
|
||||||
|
|
||||||
|
If you want to create a non-pip build:
|
||||||
|
|
||||||
|
$ virtualenv ve
|
||||||
|
$ source ve/bin/activate
|
||||||
|
$ pip install cffi
|
||||||
|
$ python src/orte-cffi/build.py
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright (c) 2013-2016 Intel, Inc. All rights reserved
|
# Copyright (c) 2013-2018 Intel, Inc. All rights reserved.
|
||||||
# Copyright (c) 2016 Research Organization for Information Science
|
# Copyright (c) 2016 Research Organization for Information Science
|
||||||
# and Technology (RIST). All rights reserved.
|
# and Technology (RIST). All rights reserved.
|
||||||
# Copyright (c) 2006-2016 Cisco Systems, Inc. All rights reserved.
|
# Copyright (c) 2006-2016 Cisco Systems, Inc. All rights reserved.
|
98
opal/mca/pmix/pmix4x/pmix/config/autogen_found_items.m4
Обычный файл
98
opal/mca/pmix/pmix4x/pmix/config/autogen_found_items.m4
Обычный файл
@ -0,0 +1,98 @@
|
|||||||
|
dnl
|
||||||
|
dnl $HEADER$
|
||||||
|
dnl
|
||||||
|
dnl ---------------------------------------------------------------------------
|
||||||
|
dnl This file is automatically created by autogen.pl; it should not
|
||||||
|
dnl be edited by hand!!
|
||||||
|
dnl
|
||||||
|
dnl Generated by rhc at Thu Sep 13 01:17:54 2018
|
||||||
|
dnl on Ralphs-iMac-2.local.
|
||||||
|
dnl ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
m4_define([autogen_platform_file], [])
|
||||||
|
|
||||||
|
|
||||||
|
dnl Project names
|
||||||
|
m4_define([project_name_long], [PMIx])
|
||||||
|
m4_define([project_name_short], [PMIx])
|
||||||
|
|
||||||
|
dnl ---------------------------------------------------------------------------
|
||||||
|
dnl ---------------------------------------------------------------------------
|
||||||
|
dnl ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
dnl MCA information
|
||||||
|
dnl ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
dnl Frameworks in the pmix project and their corresponding directories
|
||||||
|
m4_define([mca_pmix_framework_list], [common, bfrops, gds, pdl, pif, pinstalldirs, plog, pnet, preg, psec, psensor, pshmem, ptl])
|
||||||
|
|
||||||
|
dnl Components in the pmix / common framework
|
||||||
|
m4_define([mca_pmix_common_m4_config_component_list], [dstore])
|
||||||
|
m4_define([mca_pmix_common_no_config_component_list], [])
|
||||||
|
|
||||||
|
dnl Components in the pmix / bfrops framework
|
||||||
|
m4_define([mca_pmix_bfrops_m4_config_component_list], [])
|
||||||
|
m4_define([mca_pmix_bfrops_no_config_component_list], [v12, v20, v21, v3])
|
||||||
|
|
||||||
|
dnl Components in the pmix / gds framework
|
||||||
|
m4_define([mca_pmix_gds_m4_config_component_list], [])
|
||||||
|
m4_define([mca_pmix_gds_no_config_component_list], [ds12, ds21, hash])
|
||||||
|
|
||||||
|
dnl Components in the pmix / pdl framework
|
||||||
|
m4_define([mca_pmix_pdl_m4_config_component_list], [pdlopen, plibltdl])
|
||||||
|
m4_define([mca_pmix_pdl_no_config_component_list], [])
|
||||||
|
|
||||||
|
dnl Components in the pmix / pif framework
|
||||||
|
m4_define([mca_pmix_pif_m4_config_component_list], [bsdx_ipv4, bsdx_ipv6, linux_ipv6, posix_ipv4, solaris_ipv6])
|
||||||
|
m4_define([mca_pmix_pif_no_config_component_list], [])
|
||||||
|
|
||||||
|
dnl Components in the pmix / pinstalldirs framework
|
||||||
|
m4_define([mca_pmix_pinstalldirs_m4_config_component_list], [config, env])
|
||||||
|
m4_define([mca_pmix_pinstalldirs_no_config_component_list], [])
|
||||||
|
|
||||||
|
dnl Components in the pmix / plog framework
|
||||||
|
m4_define([mca_pmix_plog_m4_config_component_list], [syslog])
|
||||||
|
m4_define([mca_pmix_plog_no_config_component_list], [default, stdfd])
|
||||||
|
|
||||||
|
dnl Components in the pmix / pnet framework
|
||||||
|
m4_define([mca_pmix_pnet_m4_config_component_list], [opa])
|
||||||
|
m4_define([mca_pmix_pnet_no_config_component_list], [tcp, test])
|
||||||
|
|
||||||
|
dnl Components in the pmix / preg framework
|
||||||
|
m4_define([mca_pmix_preg_m4_config_component_list], [])
|
||||||
|
m4_define([mca_pmix_preg_no_config_component_list], [native])
|
||||||
|
|
||||||
|
dnl Components in the pmix / psec framework
|
||||||
|
m4_define([mca_pmix_psec_m4_config_component_list], [munge])
|
||||||
|
m4_define([mca_pmix_psec_no_config_component_list], [native, none])
|
||||||
|
|
||||||
|
dnl Components in the pmix / psensor framework
|
||||||
|
m4_define([mca_pmix_psensor_m4_config_component_list], [])
|
||||||
|
m4_define([mca_pmix_psensor_no_config_component_list], [file, heartbeat])
|
||||||
|
|
||||||
|
dnl Components in the pmix / pshmem framework
|
||||||
|
m4_define([mca_pmix_pshmem_m4_config_component_list], [])
|
||||||
|
m4_define([mca_pmix_pshmem_no_config_component_list], [mmap])
|
||||||
|
|
||||||
|
dnl Components in the pmix / ptl framework
|
||||||
|
m4_define([mca_pmix_ptl_m4_config_component_list], [])
|
||||||
|
m4_define([mca_pmix_ptl_no_config_component_list], [tcp, usock])
|
||||||
|
|
||||||
|
dnl ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
dnl List of configure.m4 files to include
|
||||||
|
m4_include([src/mca/pdl/configure.m4])
|
||||||
|
m4_include([src/mca/pinstalldirs/configure.m4])
|
||||||
|
m4_include([src/mca/common/dstore/configure.m4])
|
||||||
|
m4_include([src/mca/pdl/pdlopen/configure.m4])
|
||||||
|
m4_include([src/mca/pdl/plibltdl/configure.m4])
|
||||||
|
m4_include([src/mca/pif/bsdx_ipv4/configure.m4])
|
||||||
|
m4_include([src/mca/pif/bsdx_ipv6/configure.m4])
|
||||||
|
m4_include([src/mca/pif/linux_ipv6/configure.m4])
|
||||||
|
m4_include([src/mca/pif/posix_ipv4/configure.m4])
|
||||||
|
m4_include([src/mca/pif/solaris_ipv6/configure.m4])
|
||||||
|
m4_include([src/mca/pinstalldirs/config/configure.m4])
|
||||||
|
m4_include([src/mca/pinstalldirs/env/configure.m4])
|
||||||
|
m4_include([src/mca/plog/syslog/configure.m4])
|
||||||
|
m4_include([src/mca/pnet/opa/configure.m4])
|
||||||
|
m4_include([src/mca/psec/munge/configure.m4])
|
@ -11,7 +11,7 @@ dnl University of Stuttgart. All rights reserved.
|
|||||||
dnl Copyright (c) 2004-2005 The Regents of the University of California.
|
dnl Copyright (c) 2004-2005 The Regents of the University of California.
|
||||||
dnl All rights reserved.
|
dnl All rights reserved.
|
||||||
dnl Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved.
|
dnl Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved.
|
||||||
dnl Copyright (c) 2014-2015 Intel, Inc. All rights reserved.
|
dnl Copyright (c) 2014-2018 Intel, Inc. All rights reserved.
|
||||||
dnl Copyright (c) 2015 Research Organization for Information Science
|
dnl Copyright (c) 2015 Research Organization for Information Science
|
||||||
dnl and Technology (RIST). All rights reserved.
|
dnl and Technology (RIST). All rights reserved.
|
||||||
dnl $COPYRIGHT$
|
dnl $COPYRIGHT$
|
@ -15,7 +15,7 @@
|
|||||||
# and Technology (RIST). All rights reserved.
|
# and Technology (RIST). All rights reserved.
|
||||||
# Copyright (c) 2015 Los Alamos National Security, LLC. All rights
|
# Copyright (c) 2015 Los Alamos National Security, LLC. All rights
|
||||||
# reserved.
|
# reserved.
|
||||||
# Copyright (c) 2017 Intel, Inc. All rights reserved.
|
# Copyright (c) 2017-2018 Intel, Inc. All rights reserved.
|
||||||
# $COPYRIGHT$
|
# $COPYRIGHT$
|
||||||
#
|
#
|
||||||
# Additional copyrights may follow
|
# Additional copyrights may follow
|
@ -391,7 +391,7 @@ AC_DEFUN([PMIX_SETUP_CORE],[
|
|||||||
crt_externs.h signal.h \
|
crt_externs.h signal.h \
|
||||||
ioLib.h sockLib.h hostLib.h limits.h \
|
ioLib.h sockLib.h hostLib.h limits.h \
|
||||||
sys/statfs.h sys/statvfs.h \
|
sys/statfs.h sys/statvfs.h \
|
||||||
netdb.h ucred.h zlib.h])
|
netdb.h ucred.h zlib.h sys/auxv.h])
|
||||||
|
|
||||||
AC_CHECK_HEADERS([sys/mount.h], [], [],
|
AC_CHECK_HEADERS([sys/mount.h], [], [],
|
||||||
[AC_INCLUDES_DEFAULT
|
[AC_INCLUDES_DEFAULT
|
||||||
@ -833,6 +833,8 @@ AC_DEFUN([PMIX_SETUP_CORE],[
|
|||||||
|
|
||||||
AC_CONFIG_FILES(
|
AC_CONFIG_FILES(
|
||||||
pmix_config_prefix[Makefile]
|
pmix_config_prefix[Makefile]
|
||||||
|
pmix_config_prefix[bindings/Makefile]
|
||||||
|
pmix_config_prefix[bindings/python/Makefile]
|
||||||
pmix_config_prefix[config/Makefile]
|
pmix_config_prefix[config/Makefile]
|
||||||
pmix_config_prefix[etc/Makefile]
|
pmix_config_prefix[etc/Makefile]
|
||||||
pmix_config_prefix[include/Makefile]
|
pmix_config_prefix[include/Makefile]
|
||||||
@ -1126,6 +1128,51 @@ fi
|
|||||||
|
|
||||||
AM_CONDITIONAL([PMIX_INSTALL_BINARIES], [test $WANT_PMIX_BINARIES -eq 1])
|
AM_CONDITIONAL([PMIX_INSTALL_BINARIES], [test $WANT_PMIX_BINARIES -eq 1])
|
||||||
|
|
||||||
|
#
|
||||||
|
# Install Python bindings?
|
||||||
|
#
|
||||||
|
AC_MSG_CHECKING([if want install Python bindings])
|
||||||
|
AC_ARG_ENABLE(python-bindings,
|
||||||
|
AC_HELP_STRING([--enable-python-bindings],
|
||||||
|
[enable Python bindings (default: disabled)]))
|
||||||
|
if test "$enable_python_bindings" != "yes"; then
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
|
WANT_PYTHON_BINDINGS=0
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([yes])
|
||||||
|
WANT_PYTHON_BINDINGS=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
AM_CONDITIONAL([WANT_PYTHON_BINDINGS], [test $WANT_PYTHON_BINDINGS -eq 1])
|
||||||
|
|
||||||
|
if test "$WANT_PYTHON_BINDINGS" = "1"; then
|
||||||
|
AM_PATH_PYTHON([3.4], [python_happy=1], [python_happy=0])
|
||||||
|
if test "$python_happy" = "0"; then
|
||||||
|
AC_MSG_WARN([Python bindings were enabled, but no suitable])
|
||||||
|
AC_MSG_WARN([interpreter was found. PMIx requires at least])
|
||||||
|
AC_MSG_WARN([Python v3.4 to provide Python bindings])
|
||||||
|
AC_MSG_ERROR([Cannot continue])
|
||||||
|
fi
|
||||||
|
python_version=`python --version 2>&1`
|
||||||
|
PMIX_SUMMARY_ADD([[Bindings]],[[Python]], [pmix_python], [yes ($python_version)])
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([if Cython package installed])
|
||||||
|
have_cython=`$srcdir/config/pmix_check_cython.py 2> /dev/null`
|
||||||
|
if test "$have_cython" = "0"; then
|
||||||
|
AC_MSG_RESULT([yes])
|
||||||
|
AC_MSG_CHECKING([Cython version])
|
||||||
|
cython_version=`cython --version 2>&1`
|
||||||
|
AC_MSG_RESULT([$cython_version])
|
||||||
|
PMIX_SUMMARY_ADD([[Bindings]],[[Cython]], [pmix_cython], [yes ($cython_version)])
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
|
AC_MSG_WARN([Python bindings were enabled, but the Cython])
|
||||||
|
AC_MSG_WARN([package was not found. PMIx Python bindings])
|
||||||
|
AC_MSG_WARN([require that the Cython package be installed])
|
||||||
|
AC_MSG_ERROR([Cannot continue])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
])dnl
|
])dnl
|
||||||
|
|
||||||
# This must be a standalone routine so that it can be called both by
|
# This must be a standalone routine so that it can be called both by
|
@ -11,7 +11,7 @@ dnl University of Stuttgart. All rights reserved.
|
|||||||
dnl Copyright (c) 2004-2005 The Regents of the University of California.
|
dnl Copyright (c) 2004-2005 The Regents of the University of California.
|
||||||
dnl All rights reserved.
|
dnl All rights reserved.
|
||||||
dnl Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved.
|
dnl Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved.
|
||||||
dnl Copyright (c) 2014-2015 Intel, Inc. All rights reserved.
|
dnl Copyright (c) 2014-2018 Intel, Inc. All rights reserved.
|
||||||
dnl Copyright (c) 2015 Cisco Systems, Inc. All rights reserved.
|
dnl Copyright (c) 2015 Cisco Systems, Inc. All rights reserved.
|
||||||
dnl $COPYRIGHT$
|
dnl $COPYRIGHT$
|
||||||
dnl
|
dnl
|
@ -1,7 +1,7 @@
|
|||||||
dnl -*- shell-script -*-
|
dnl -*- shell-script -*-
|
||||||
dnl
|
dnl
|
||||||
dnl Copyright (c) 2009 Oak Ridge National Labs. All rights reserved.
|
dnl Copyright (c) 2009 Oak Ridge National Labs. All rights reserved.
|
||||||
dnl Copyright (c) 2013-2017 Intel, Inc. All rights reserved.
|
dnl Copyright (c) 2013-2018 Intel, Inc. All rights reserved.
|
||||||
dnl
|
dnl
|
||||||
dnl $COPYRIGHT$
|
dnl $COPYRIGHT$
|
||||||
dnl
|
dnl
|
@ -10,7 +10,7 @@ dnl Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
|||||||
dnl University of Stuttgart. All rights reserved.
|
dnl University of Stuttgart. All rights reserved.
|
||||||
dnl Copyright (c) 2004-2005 The Regents of the University of California.
|
dnl Copyright (c) 2004-2005 The Regents of the University of California.
|
||||||
dnl All rights reserved.
|
dnl All rights reserved.
|
||||||
dnl Copyright (c) 2014 Intel, Inc. All rights reserved.
|
dnl Copyright (c) 2014-2018 Intel, Inc. All rights reserved.
|
||||||
dnl Copyright (c) 2016 Research Organization for Information Science
|
dnl Copyright (c) 2016 Research Organization for Information Science
|
||||||
dnl and Technology (RIST). All rights reserved.
|
dnl and Technology (RIST). All rights reserved.
|
||||||
dnl $COPYRIGHT$
|
dnl $COPYRIGHT$
|
@ -1,7 +1,7 @@
|
|||||||
dnl -*- shell-script -*-
|
dnl -*- shell-script -*-
|
||||||
dnl
|
dnl
|
||||||
dnl Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved.
|
dnl Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved.
|
||||||
dnl Copyright (c) 2015 Intel, Inc. All rights reserved
|
dnl Copyright (c) 2015-2018 Intel, Inc. All rights reserved.
|
||||||
dnl $COPYRIGHT$
|
dnl $COPYRIGHT$
|
||||||
dnl
|
dnl
|
||||||
dnl Additional copyrights may follow
|
dnl Additional copyrights may follow
|
@ -5,7 +5,7 @@ dnl All rights reserved.
|
|||||||
dnl Copyright (c) 2017 IBM Corporation. All rights reserved.
|
dnl Copyright (c) 2017 IBM Corporation. All rights reserved.
|
||||||
dnl Copyright (c) 2017 Research Organization for Information Science
|
dnl Copyright (c) 2017 Research Organization for Information Science
|
||||||
dnl and Technology (RIST). All rights reserved.
|
dnl and Technology (RIST). All rights reserved.
|
||||||
dnl Copyright (c) 2017 Intel, Inc. All rights reserved.
|
dnl Copyright (c) 2017-2018 Intel, Inc. All rights reserved.
|
||||||
dnl $COPYRIGHT$
|
dnl $COPYRIGHT$
|
||||||
dnl
|
dnl
|
||||||
dnl Additional copyrights may follow
|
dnl Additional copyrights may follow
|
||||||
@ -57,4 +57,6 @@ AC_DEFUN([PMIX_CHECK_DSTOR_LOCK],[
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
LIBS="$orig_libs"
|
LIBS="$orig_libs"
|
||||||
|
AM_CONDITIONAL([HAVE_DSTORE_PTHREAD_LOCK], [test "$_x_ac_pthread_lock_found" = "1"])
|
||||||
|
AM_CONDITIONAL([HAVE_DSTORE_FCNTL_LOCK], [test "$_x_ac_fcntl_lock_found" = "1"])
|
||||||
])
|
])
|
@ -1,7 +1,7 @@
|
|||||||
dnl -*- shell-script -*-
|
dnl -*- shell-script -*-
|
||||||
dnl
|
dnl
|
||||||
dnl Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
|
dnl Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
|
||||||
dnl Copyright (c) 2014-2016 Intel, Inc. All rights reserved.
|
dnl Copyright (c) 2014-2018 Intel, Inc. All rights reserved.
|
||||||
dnl Copyright (c) 2014 Research Organization for Information Science
|
dnl Copyright (c) 2014 Research Organization for Information Science
|
||||||
dnl and Technology (RIST). All rights reserved.
|
dnl and Technology (RIST). All rights reserved.
|
||||||
dnl
|
dnl
|
@ -12,7 +12,7 @@
|
|||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
# Copyright (c) 2006 QLogic Corp. All rights reserved.
|
# Copyright (c) 2006 QLogic Corp. All rights reserved.
|
||||||
# Copyright (c) 2009-2016 Cisco Systems, Inc. All rights reserved.
|
# Copyright (c) 2009-2016 Cisco Systems, Inc. All rights reserved.
|
||||||
# Copyright (c) 2016-2017 Intel, Inc. All rights reserved.
|
# Copyright (c) 2016-2018 Intel, Inc. All rights reserved.
|
||||||
# Copyright (c) 2015 Research Organization for Information Science
|
# Copyright (c) 2015 Research Organization for Information Science
|
||||||
# and Technology (RIST). All rights reserved.
|
# and Technology (RIST). All rights reserved.
|
||||||
# Copyright (c) 2016 Los Alamos National Security, LLC. All rights
|
# Copyright (c) 2016 Los Alamos National Security, LLC. All rights
|
@ -10,7 +10,7 @@ dnl University of Stuttgart. All rights reserved.
|
|||||||
dnl Copyright (c) 2004-2005 The Regents of the University of California.
|
dnl Copyright (c) 2004-2005 The Regents of the University of California.
|
||||||
dnl All rights reserved.
|
dnl All rights reserved.
|
||||||
dnl Copyright (c) 2008-2013 Cisco Systems, Inc. All rights reserved.
|
dnl Copyright (c) 2008-2013 Cisco Systems, Inc. All rights reserved.
|
||||||
dnl Copyright (c) 2017 Intel, Inc. All rights reserved.
|
dnl Copyright (c) 2017-2018 Intel, Inc. All rights reserved.
|
||||||
dnl $COPYRIGHT$
|
dnl $COPYRIGHT$
|
||||||
dnl
|
dnl
|
||||||
dnl Additional copyrights may follow
|
dnl Additional copyrights may follow
|
@ -11,7 +11,7 @@ dnl University of Stuttgart. All rights reserved.
|
|||||||
dnl Copyright (c) 2004-2005 The Regents of the University of California.
|
dnl Copyright (c) 2004-2005 The Regents of the University of California.
|
||||||
dnl All rights reserved.
|
dnl All rights reserved.
|
||||||
dnl Copyright (c) 2012 Oracle and/or its affiliates. All rights reserved.
|
dnl Copyright (c) 2012 Oracle and/or its affiliates. All rights reserved.
|
||||||
dnl Copyright (c) 2013 Intel, Inc. All rights reserved
|
dnl Copyright (c) 2013-2018 Intel, Inc. All rights reserved.
|
||||||
dnl Copyright (c) 2015 Cisco Systems, Inc. All rights reserved.
|
dnl Copyright (c) 2015 Cisco Systems, Inc. All rights reserved.
|
||||||
dnl Copyright (c) 2015 Research Organization for Information Science
|
dnl Copyright (c) 2015 Research Organization for Information Science
|
||||||
dnl and Technology (RIST). All rights reserved.
|
dnl and Technology (RIST). All rights reserved.
|
@ -12,7 +12,7 @@
|
|||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
# Copyright (c) 2006-2015 Cisco Systems, Inc. All rights reserved.
|
# Copyright (c) 2006-2015 Cisco Systems, Inc. All rights reserved.
|
||||||
# Copyright (c) 2009-2011 Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2009-2011 Oracle and/or its affiliates. All rights reserved.
|
||||||
# Copyright (c) 2017 Intel, Inc. All rights reserved.
|
# Copyright (c) 2017-2018 Intel, Inc. All rights reserved.
|
||||||
# $COPYRIGHT$
|
# $COPYRIGHT$
|
||||||
#
|
#
|
||||||
# Additional copyrights may follow
|
# Additional copyrights may follow
|
@ -8,7 +8,7 @@ dnl reserved.
|
|||||||
dnl Copyright (c) 2008-2009 Cisco Systems, Inc. All rights reserved.
|
dnl Copyright (c) 2008-2009 Cisco Systems, Inc. All rights reserved.
|
||||||
dnl Copyright (c) 2015 Research Organization for Information Science
|
dnl Copyright (c) 2015 Research Organization for Information Science
|
||||||
dnl and Technology (RIST). All rights reserved.
|
dnl and Technology (RIST). All rights reserved.
|
||||||
dnl Copyright (c) 2016 Intel, Inc. All rights reserved.
|
dnl Copyright (c) 2016-2018 Intel, Inc. All rights reserved.
|
||||||
dnl $COPYRIGHT$
|
dnl $COPYRIGHT$
|
||||||
dnl
|
dnl
|
||||||
dnl Additional copyrights may follow
|
dnl Additional copyrights may follow
|
@ -17,7 +17,7 @@ dnl Copyright (c) 2014-2017 Los Alamos National Security, LLC. All rights
|
|||||||
dnl reserved.
|
dnl reserved.
|
||||||
dnl Copyright (c) 2017 Amazon.com, Inc. or its affiliates. All Rights
|
dnl Copyright (c) 2017 Amazon.com, Inc. or its affiliates. All Rights
|
||||||
dnl reserved.
|
dnl reserved.
|
||||||
dnl Copyright (c) 2017 Intel, Inc. All rights reserved.
|
dnl Copyright (c) 2017-2018 Intel, Inc. All rights reserved.
|
||||||
dnl $COPYRIGHT$
|
dnl $COPYRIGHT$
|
||||||
dnl
|
dnl
|
||||||
dnl Additional copyrights may follow
|
dnl Additional copyrights may follow
|
@ -10,7 +10,7 @@ dnl University of Stuttgart. All rights reserved.
|
|||||||
dnl Copyright (c) 2004-2005 The Regents of the University of California.
|
dnl Copyright (c) 2004-2005 The Regents of the University of California.
|
||||||
dnl All rights reserved.
|
dnl All rights reserved.
|
||||||
dnl Copyright (c) 2012 Cisco Systems, Inc. All rights reserved.
|
dnl Copyright (c) 2012 Cisco Systems, Inc. All rights reserved.
|
||||||
dnl Copyright (c) 2014-2017 Intel, Inc. All rights reserved.
|
dnl Copyright (c) 2014-2018 Intel, Inc. All rights reserved.
|
||||||
dnl Copyright (c) 2014-2016 Research Organization for Information Science
|
dnl Copyright (c) 2014-2016 Research Organization for Information Science
|
||||||
dnl and Technology (RIST). All rights reserved.
|
dnl and Technology (RIST). All rights reserved.
|
||||||
dnl $COPYRIGHT$
|
dnl $COPYRIGHT$
|
@ -11,7 +11,7 @@ dnl University of Stuttgart. All rights reserved.
|
|||||||
dnl Copyright (c) 2004-2005 The Regents of the University of California.
|
dnl Copyright (c) 2004-2005 The Regents of the University of California.
|
||||||
dnl All rights reserved.
|
dnl All rights reserved.
|
||||||
dnl Copyright (c) 2012-2016 Cisco Systems, Inc. All rights reserved.
|
dnl Copyright (c) 2012-2016 Cisco Systems, Inc. All rights reserved.
|
||||||
dnl Copyright (c) 2014 Intel, Inc. All rights reserved.
|
dnl Copyright (c) 2014-2018 Intel, Inc. All rights reserved.
|
||||||
dnl Copyright (c) 2015 Research Organization for Information Science
|
dnl Copyright (c) 2015 Research Organization for Information Science
|
||||||
dnl and Technology (RIST). All rights reserved.
|
dnl and Technology (RIST). All rights reserved.
|
||||||
dnl $COPYRIGHT$
|
dnl $COPYRIGHT$
|
@ -10,7 +10,7 @@ dnl Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
|||||||
dnl University of Stuttgart. All rights reserved.
|
dnl University of Stuttgart. All rights reserved.
|
||||||
dnl Copyright (c) 2004-2005 The Regents of the University of California.
|
dnl Copyright (c) 2004-2005 The Regents of the University of California.
|
||||||
dnl All rights reserved.
|
dnl All rights reserved.
|
||||||
dnl Copyright (c) 2014-2016 Intel, Inc. All rights reserved.
|
dnl Copyright (c) 2014-2018 Intel, Inc. All rights reserved.
|
||||||
dnl Copyright (c) 2015 Cisco Systems, Inc. All rights reserved.
|
dnl Copyright (c) 2015 Cisco Systems, Inc. All rights reserved.
|
||||||
dnl $COPYRIGHT$
|
dnl $COPYRIGHT$
|
||||||
dnl
|
dnl
|
@ -11,7 +11,7 @@ dnl Copyright (c) 2004-2005 The Regents of the University of California.
|
|||||||
dnl All rights reserved.
|
dnl All rights reserved.
|
||||||
dnl Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
|
dnl Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
|
||||||
dnl Copyright (c) 2009-2011 Oak Ridge National Labs. All rights reserved.
|
dnl Copyright (c) 2009-2011 Oak Ridge National Labs. All rights reserved.
|
||||||
dnl Copyright (c) 2014-2017 Intel, Inc. All rights reserved.
|
dnl Copyright (c) 2014-2018 Intel, Inc. All rights reserved.
|
||||||
dnl Copyright (c) 2015 Research Organization for Information Science
|
dnl Copyright (c) 2015 Research Organization for Information Science
|
||||||
dnl and Technology (RIST). All rights reserved.
|
dnl and Technology (RIST). All rights reserved.
|
||||||
dnl $COPYRIGHT$
|
dnl $COPYRIGHT$
|
@ -12,7 +12,7 @@ dnl Copyright (c) 2004-2005 The Regents of the University of California.
|
|||||||
dnl All rights reserved.
|
dnl All rights reserved.
|
||||||
dnl Copyright (c) 2007-2009 Sun Microsystems, Inc. All rights reserved.
|
dnl Copyright (c) 2007-2009 Sun Microsystems, Inc. All rights reserved.
|
||||||
dnl Copyright (c) 2008-2015 Cisco Systems, Inc. All rights reserved.
|
dnl Copyright (c) 2008-2015 Cisco Systems, Inc. All rights reserved.
|
||||||
dnl Copyright (c) 2013 Intel, Inc. All rights reserved
|
dnl Copyright (c) 2013-2018 Intel, Inc. All rights reserved.
|
||||||
dnl $COPYRIGHT$
|
dnl $COPYRIGHT$
|
||||||
dnl
|
dnl
|
||||||
dnl Additional copyrights may follow
|
dnl Additional copyrights may follow
|
@ -13,7 +13,7 @@ dnl All rights reserved.
|
|||||||
dnl Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved.
|
dnl Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved.
|
||||||
dnl Copyright (c) 2009 Oak Ridge National Labs. All rights reserved.
|
dnl Copyright (c) 2009 Oak Ridge National Labs. All rights reserved.
|
||||||
dnl Copyright (c) 2009-2016 Cisco Systems, Inc. All rights reserved.
|
dnl Copyright (c) 2009-2016 Cisco Systems, Inc. All rights reserved.
|
||||||
dnl Copyright (c) 2013-2017 Intel, Inc. All rights reserved.
|
dnl Copyright (c) 2013-2018 Intel, Inc. All rights reserved.
|
||||||
dnl Copyright (c) 2017 Research Organization for Information Science
|
dnl Copyright (c) 2017 Research Organization for Information Science
|
||||||
dnl and Technology (RIST). All rights reserved.
|
dnl and Technology (RIST). All rights reserved.
|
||||||
dnl
|
dnl
|
@ -11,7 +11,7 @@
|
|||||||
# 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) 2008-2015 Cisco Systems, Inc. All rights reserved.
|
# Copyright (c) 2008-2015 Cisco Systems, Inc. All rights reserved.
|
||||||
# Copyright (c) 2015 Intel, Inc. All rights reserved
|
# Copyright (c) 2015-2018 Intel, Inc. All rights reserved.
|
||||||
# $COPYRIGHT$
|
# $COPYRIGHT$
|
||||||
#
|
#
|
||||||
# Additional copyrights may follow
|
# Additional copyrights may follow
|
@ -10,7 +10,7 @@ dnl Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
|||||||
dnl University of Stuttgart. All rights reserved.
|
dnl University of Stuttgart. All rights reserved.
|
||||||
dnl Copyright (c) 2004-2005 The Regents of the University of California.
|
dnl Copyright (c) 2004-2005 The Regents of the University of California.
|
||||||
dnl All rights reserved.
|
dnl All rights reserved.
|
||||||
dnl Copyright (c) 2014-2015 Intel, Inc. All rights reserved.
|
dnl Copyright (c) 2014-2018 Intel, Inc. All rights reserved.
|
||||||
dnl Copyright (c) 2015 Research Organization for Information Science
|
dnl Copyright (c) 2015 Research Organization for Information Science
|
||||||
dnl and Technology (RIST). All rights reserved.
|
dnl and Technology (RIST). All rights reserved.
|
||||||
dnl $COPYRIGHT$
|
dnl $COPYRIGHT$
|
@ -11,7 +11,7 @@ dnl University of Stuttgart. All rights reserved.
|
|||||||
dnl Copyright (c) 2004-2005 The Regents of the University of California.
|
dnl Copyright (c) 2004-2005 The Regents of the University of California.
|
||||||
dnl All rights reserved.
|
dnl All rights reserved.
|
||||||
dnl Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved.
|
dnl Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved.
|
||||||
dnl Copyright (c) 2013-2016 Intel, Inc. All rights reserved.
|
dnl Copyright (c) 2013-2018 Intel, Inc. All rights reserved.
|
||||||
dnl $COPYRIGHT$
|
dnl $COPYRIGHT$
|
||||||
dnl
|
dnl
|
||||||
dnl Additional copyrights may follow
|
dnl Additional copyrights may follow
|
||||||
@ -428,7 +428,7 @@ AC_DEFUN([MCA_CONFIGURE_FRAMEWORK],[
|
|||||||
# Create the final .h file that will be included in the type's
|
# Create the final .h file that will be included in the type's
|
||||||
# top-level glue. This lists all the static components. We don't
|
# top-level glue. This lists all the static components. We don't
|
||||||
# need to do this for "common".
|
# need to do this for "common".
|
||||||
if test "$2" != "common"; then
|
if test "$1" != "common"; then
|
||||||
cat > $outfile <<EOF
|
cat > $outfile <<EOF
|
||||||
/*
|
/*
|
||||||
* \$HEADER\$
|
* \$HEADER\$
|
@ -2,6 +2,7 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2010 Sandia National Laboratories. All rights reserved.
|
# Copyright (c) 2010 Sandia National Laboratories. All rights reserved.
|
||||||
#
|
#
|
||||||
|
# Copyright (c) 2018 Intel, Inc. All rights reserved.
|
||||||
# $COPYRIGHT$
|
# $COPYRIGHT$
|
||||||
#
|
#
|
||||||
# Additional copyrights may follow
|
# Additional copyrights may follow
|
@ -1,7 +1,7 @@
|
|||||||
dnl -*- shell-script -*-
|
dnl -*- shell-script -*-
|
||||||
dnl
|
dnl
|
||||||
dnl Copyright (c) 2013-2014 Cisco Systems, Inc. All rights reserved.
|
dnl Copyright (c) 2013-2014 Cisco Systems, Inc. All rights reserved.
|
||||||
dnl Copyright (c) 2014 Intel, Inc. All rights reserved.
|
dnl Copyright (c) 2014-2018 Intel, Inc. All rights reserved.
|
||||||
dnl $COPYRIGHT$
|
dnl $COPYRIGHT$
|
||||||
dnl
|
dnl
|
||||||
dnl Additional copyrights may follow
|
dnl Additional copyrights may follow
|
@ -1,7 +1,7 @@
|
|||||||
# -*- shell-script -*-
|
# -*- shell-script -*-
|
||||||
#
|
#
|
||||||
# Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
|
# Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
|
||||||
# Copyright (c) 2014-2017 Intel, Inc. All rights reserved.
|
# Copyright (c) 2014-2018 Intel, Inc. All rights reserved.
|
||||||
# $COPYRIGHT$
|
# $COPYRIGHT$
|
||||||
#
|
#
|
||||||
# Additional copyrights may follow
|
# Additional copyrights may follow
|
@ -2,7 +2,7 @@ dnl -*- shell-script -*-
|
|||||||
dnl
|
dnl
|
||||||
dnl Copyright (c) 2016 Research Organization for Information Science
|
dnl Copyright (c) 2016 Research Organization for Information Science
|
||||||
dnl and Technology (RIST). All rights reserved.
|
dnl and Technology (RIST). All rights reserved.
|
||||||
dnl Copyright (c) 2017 Intel, Inc. All rights reserved.
|
dnl Copyright (c) 2017-2018 Intel, Inc. All rights reserved.
|
||||||
dnl $COPYRIGHT$
|
dnl $COPYRIGHT$
|
||||||
dnl
|
dnl
|
||||||
dnl Additional copyrights may follow
|
dnl Additional copyrights may follow
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2009-2015 Cisco Systems, Inc. All rights reserved.
|
# Copyright (c) 2009-2015 Cisco Systems, Inc. All rights reserved.
|
||||||
# Copyright (c) 2013 Los Alamos National Security, LLC. All rights reserved.
|
# Copyright (c) 2013 Los Alamos National Security, LLC. All rights reserved.
|
||||||
# Copyright (c) 2013-2017 Intel, Inc. All rights reserved.
|
# Copyright (c) 2013-2018 Intel, Inc. All rights reserved.
|
||||||
# $COPYRIGHT$
|
# $COPYRIGHT$
|
||||||
#
|
#
|
||||||
# Additional copyrights may follow
|
# Additional copyrights may follow
|
79
opal/mca/pmix/pmix4x/pmix/config/pmix_summary.m4
Обычный файл
79
opal/mca/pmix/pmix4x/pmix/config/pmix_summary.m4
Обычный файл
@ -0,0 +1,79 @@
|
|||||||
|
dnl -*- shell-script -*-
|
||||||
|
dnl
|
||||||
|
dnl Copyright (c) 2016 Los Alamos National Security, LLC. All rights
|
||||||
|
dnl reserved.
|
||||||
|
dnl Copyright (c) 2016-2018 Cisco Systems, Inc. All rights reserved
|
||||||
|
dnl Copyright (c) 2016 Research Organization for Information Science
|
||||||
|
dnl and Technology (RIST). All rights reserved.
|
||||||
|
dnl Copyright (c) 2018 Intel, Inc. All rights reserved.
|
||||||
|
dnl $COPYRIGHT$
|
||||||
|
dnl
|
||||||
|
dnl Additional copyrights may follow
|
||||||
|
dnl
|
||||||
|
dnl $HEADER$
|
||||||
|
dnl
|
||||||
|
AC_DEFUN([PMIX_SUMMARY_ADD],[
|
||||||
|
PMIX_VAR_SCOPE_PUSH([pmix_summary_section pmix_summary_line pmix_summary_section_current])
|
||||||
|
|
||||||
|
dnl need to replace spaces in the section name with somethis else. _ seems like a reasonable
|
||||||
|
dnl choice. if this changes remember to change PMIX_PRINT_SUMMARY as well.
|
||||||
|
pmix_summary_section=$(echo $1 | tr ' ' '_')
|
||||||
|
pmix_summary_line="$2: $4"
|
||||||
|
pmix_summary_section_current=$(eval echo \$pmix_summary_values_$pmix_summary_section)
|
||||||
|
|
||||||
|
if test -z "$pmix_summary_section_current" ; then
|
||||||
|
if test -z "$pmix_summary_sections" ; then
|
||||||
|
pmix_summary_sections=$pmix_summary_section
|
||||||
|
else
|
||||||
|
pmix_summary_sections="$pmix_summary_sections $pmix_summary_section"
|
||||||
|
fi
|
||||||
|
eval pmix_summary_values_$pmix_summary_section=\"$pmix_summary_line\"
|
||||||
|
else
|
||||||
|
eval pmix_summary_values_$pmix_summary_section=\"$pmix_summary_section_current,$pmix_summary_line\"
|
||||||
|
fi
|
||||||
|
|
||||||
|
PMIX_VAR_SCOPE_POP
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([PMIX_SUMMARY_PRINT],[
|
||||||
|
PMIX_VAR_SCOPE_PUSH([pmix_summary_section pmix_summary_section_name])
|
||||||
|
cat <<EOF
|
||||||
|
|
||||||
|
PMIx configuration:
|
||||||
|
-----------------------
|
||||||
|
Version: $PMIX_MAJOR_VERSION.$PMIX_MINOR_VERSION.$PMIX_RELEASE_VERSION$PMIX_GREEK_VERSION
|
||||||
|
EOF
|
||||||
|
|
||||||
|
if test $WANT_DEBUG = 0 ; then
|
||||||
|
echo "Debug build: no"
|
||||||
|
else
|
||||||
|
echo "Debug build: yes"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test ! -z $with_platform ; then
|
||||||
|
echo "Platform file: $with_platform"
|
||||||
|
else
|
||||||
|
echo "Platform file: (none)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo
|
||||||
|
|
||||||
|
for pmix_summary_section in $(echo $pmix_summary_sections) ; do
|
||||||
|
pmix_summary_section_name=$(echo $pmix_summary_section | tr '_' ' ')
|
||||||
|
echo "$pmix_summary_section_name"
|
||||||
|
echo "-----------------------"
|
||||||
|
echo "$(eval echo \$pmix_summary_values_$pmix_summary_section)" | tr ',' $'\n' | sort -f
|
||||||
|
echo " "
|
||||||
|
done
|
||||||
|
|
||||||
|
if test $WANT_DEBUG = 1 ; then
|
||||||
|
cat <<EOF
|
||||||
|
*****************************************************************************
|
||||||
|
THIS IS A DEBUG BUILD! DO NOT USE THIS BUILD FOR PERFORMANCE MEASUREMENTS!
|
||||||
|
*****************************************************************************
|
||||||
|
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
|
||||||
|
PMIX_VAR_SCOPE_POP
|
||||||
|
])
|
@ -9,7 +9,7 @@ dnl Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
|||||||
dnl University of Stuttgart. All rights reserved.
|
dnl University of Stuttgart. All rights reserved.
|
||||||
dnl Copyright (c) 2004-2005 The Regents of the University of California.
|
dnl Copyright (c) 2004-2005 The Regents of the University of California.
|
||||||
dnl All rights reserved.
|
dnl All rights reserved.
|
||||||
dnl Copyright (c) 2014-2017 Intel, Inc. All rights reserved.
|
dnl Copyright (c) 2014-2018 Intel, Inc. All rights reserved.
|
||||||
dnl $COPYRIGHT$
|
dnl $COPYRIGHT$
|
||||||
dnl
|
dnl
|
||||||
dnl Additional copyrights may follow
|
dnl Additional copyrights may follow
|
@ -19,7 +19,7 @@
|
|||||||
# Copyright (c) 2012 Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2012 Oracle and/or its affiliates. All rights reserved.
|
||||||
# Copyright (c) 2013 Mellanox Technologies, Inc.
|
# Copyright (c) 2013 Mellanox Technologies, Inc.
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
# Copyright (c) 2014-2017 Intel, Inc. All rights reserved.
|
# Copyright (c) 2014-2018 Intel, Inc. All rights reserved.
|
||||||
# Copyright (c) 2016 IBM Corporation. All rights reserved.
|
# Copyright (c) 2016 IBM Corporation. All rights reserved.
|
||||||
# Copyright (c) 2016-2018 Research Organization for Information Science
|
# Copyright (c) 2016-2018 Research Organization for Information Science
|
||||||
# and Technology (RIST). All rights reserved.
|
# and Technology (RIST). All rights reserved.
|
||||||
@ -44,7 +44,7 @@ m4_include([config/autogen_found_items.m4])
|
|||||||
|
|
||||||
AC_INIT([pmix],
|
AC_INIT([pmix],
|
||||||
[m4_normalize(esyscmd([config/pmix_get_version.sh VERSION --tarball]))],
|
[m4_normalize(esyscmd([config/pmix_get_version.sh VERSION --tarball]))],
|
||||||
[http://pmix.github.io/master], [pmix])
|
[https://github.com/pmix/pmix/issues], [pmix])
|
||||||
AC_PREREQ(2.69)
|
AC_PREREQ(2.69)
|
||||||
AC_CONFIG_AUX_DIR(./config)
|
AC_CONFIG_AUX_DIR(./config)
|
||||||
# Note that this directory must *exactly* match what was specified via
|
# Note that this directory must *exactly* match what was specified via
|
||||||
@ -245,6 +245,7 @@ AC_SUBST([CONFIGURE_DEPENDENCIES], ['$(top_srcdir)/VERSION'])
|
|||||||
AC_SUBST([libpmix_so_version])
|
AC_SUBST([libpmix_so_version])
|
||||||
AC_SUBST([libpmi_so_version])
|
AC_SUBST([libpmi_so_version])
|
||||||
AC_SUBST([libpmi2_so_version])
|
AC_SUBST([libpmi2_so_version])
|
||||||
|
AC_SUBST([libmca_common_dstore_so_version])
|
||||||
|
|
||||||
AC_CONFIG_FILES(pmix_config_prefix[contrib/Makefile]
|
AC_CONFIG_FILES(pmix_config_prefix[contrib/Makefile]
|
||||||
pmix_config_prefix[examples/Makefile]
|
pmix_config_prefix[examples/Makefile]
|
||||||
@ -255,3 +256,5 @@ AC_CONFIG_FILES(pmix_config_prefix[contrib/Makefile]
|
|||||||
pmix_show_title "Configuration complete"
|
pmix_show_title "Configuration complete"
|
||||||
|
|
||||||
AC_OUTPUT
|
AC_OUTPUT
|
||||||
|
|
||||||
|
PMIX_SUMMARY_PRINT
|
@ -14,7 +14,7 @@
|
|||||||
# Copyright (c) 2010-2011 Oak Ridge National Labs. All rights reserved.
|
# Copyright (c) 2010-2011 Oak Ridge National Labs. All rights reserved.
|
||||||
# Copyright (c) 2013-2016 Los Alamos National Security, Inc. All rights
|
# Copyright (c) 2013-2016 Los Alamos National Security, Inc. All rights
|
||||||
# reserved.
|
# reserved.
|
||||||
# Copyright (c) 2013-2016 Intel, Inc. All rights reserved.
|
# Copyright (c) 2013-2018 Intel, Inc. All rights reserved.
|
||||||
# $COPYRIGHT$
|
# $COPYRIGHT$
|
||||||
#
|
#
|
||||||
# Additional copyrights may follow
|
# Additional copyrights may follow
|
2
opal/mca/pmix/pmix3x/pmix/contrib/make_dist_tarball → opal/mca/pmix/pmix4x/pmix/contrib/make_dist_tarball
Исполняемый файл → Обычный файл
2
opal/mca/pmix/pmix3x/pmix/contrib/make_dist_tarball → opal/mca/pmix/pmix4x/pmix/contrib/make_dist_tarball
Исполняемый файл → Обычный файл
@ -11,7 +11,7 @@
|
|||||||
# 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) 2008-2013 Cisco Systems, Inc. All rights reserved.
|
# Copyright (c) 2008-2013 Cisco Systems, Inc. All rights reserved.
|
||||||
# Copyright (c) 2015 Intel, Inc. All rights reserved.
|
# Copyright (c) 2015-2018 Intel, Inc. All rights reserved.
|
||||||
# $COPYRIGHT$
|
# $COPYRIGHT$
|
||||||
#
|
#
|
||||||
# Additional copyrights may follow
|
# Additional copyrights may follow
|
@ -10,7 +10,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) 2013-2016 Intel, Inc. All rights reserved
|
# Copyright (c) 2013-2018 Intel, Inc. All rights reserved.
|
||||||
# Copyright (c) 2016 Cisco Systems, Inc. All rights reserved.
|
# Copyright (c) 2016 Cisco Systems, Inc. All rights reserved.
|
||||||
# $COPYRIGHT$
|
# $COPYRIGHT$
|
||||||
#
|
#
|
@ -1,6 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016 Mellanox Technologies, Inc.
|
* Copyright (c) 2016 Mellanox Technologies, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
* Copyright (c) 2018 Intel, Inc. All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
*
|
*
|
||||||
* Additional copyrights may follow
|
* Additional copyrights may follow
|
@ -1,6 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016 Mellanox Technologies, Inc.
|
* Copyright (c) 2016 Mellanox Technologies, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
* Copyright (c) 2018 Intel, Inc. All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
*
|
*
|
||||||
* Additional copyrights may follow
|
* Additional copyrights may follow
|
@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2013 Mellanox Technologies, Inc.
|
* Copyright (c) 2013 Mellanox Technologies, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
* Copyright (c) 2014-2016 Intel, Inc. All rights reserved.
|
* Copyright (c) 2014-2018 Intel, Inc. All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
* Additional copyrights may follow
|
* Additional copyrights may follow
|
||||||
*
|
*
|
@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2013 Mellanox Technologies, Inc.
|
* Copyright (c) 2013 Mellanox Technologies, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
* Copyright (c) 2014-2016 Intel, Inc. All rights reserved.
|
* Copyright (c) 2014-2018 Intel, Inc. All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
* Additional copyrights may follow
|
* Additional copyrights may follow
|
||||||
*
|
*
|
@ -2,7 +2,7 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2012-2015 Los Alamos National Security, LLC. All rights
|
* Copyright (c) 2012-2015 Los Alamos National Security, LLC. All rights
|
||||||
* reserved.
|
* reserved.
|
||||||
* Copyright (c) 2014-2016 Intel, Inc. All rights reserved.
|
* Copyright (c) 2014-2018 Intel, Inc. All rights reserved.
|
||||||
* Copyright (c) 2014-2016 Research Organization for Information Science
|
* Copyright (c) 2014-2016 Research Organization for Information Science
|
||||||
* and Technology (RIST). All rights reserved.
|
* and Technology (RIST). All rights reserved.
|
||||||
* Copyright (c) 2016 Mellanox Technologies, Inc.
|
* Copyright (c) 2016 Mellanox Technologies, Inc.
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2015 Mellanox Technologies, Inc. All rights reserved.
|
* Copyright (c) 2015 Mellanox Technologies, Inc. All rights reserved.
|
||||||
* Copyright (c) 2016 Intel, Inc. All rights reserved.
|
* Copyright (c) 2016-2018 Intel, Inc. All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
*
|
*
|
||||||
* Additional copyrights may follow
|
* Additional copyrights may follow
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2015 Mellanox Technologies, Inc. All rights reserved.
|
* Copyright (c) 2015 Mellanox Technologies, Inc. All rights reserved.
|
||||||
* Copyright (c) 2016 Intel, Inc. All rights reserved.
|
* Copyright (c) 2016-2018 Intel, Inc. All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
*
|
*
|
||||||
* Additional copyrights may follow
|
* Additional copyrights may follow
|
@ -192,7 +192,7 @@
|
|||||||
|
|
||||||
Summary: An extended/exascale implementation of PMI
|
Summary: An extended/exascale implementation of PMI
|
||||||
Name: %{?_name:%{_name}}%{!?_name:pmix}
|
Name: %{?_name:%{_name}}%{!?_name:pmix}
|
||||||
Version: 3.0.1
|
Version: 4.0.0
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
License: BSD
|
License: BSD
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
2
opal/mca/pmix/pmix3x/pmix/contrib/update-my-copyright.pl → opal/mca/pmix/pmix4x/pmix/contrib/update-my-copyright.pl
Исполняемый файл → Обычный файл
2
opal/mca/pmix/pmix3x/pmix/contrib/update-my-copyright.pl → opal/mca/pmix/pmix4x/pmix/contrib/update-my-copyright.pl
Исполняемый файл → Обычный файл
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env perl
|
#!/usr/bin/env perl
|
||||||
#
|
#
|
||||||
# Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved.
|
# Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved.
|
||||||
# Copyright (c) 2016 Intel, Inc. All rights reserved.
|
# Copyright (c) 2016-2018 Intel, Inc. All rights reserved.
|
||||||
# $COPYRIGHT$
|
# $COPYRIGHT$
|
||||||
#
|
#
|
||||||
|
|
2
opal/mca/pmix/pmix3x/pmix/contrib/whitespace-purge.sh → opal/mca/pmix/pmix4x/pmix/contrib/whitespace-purge.sh
Исполняемый файл → Обычный файл
2
opal/mca/pmix/pmix3x/pmix/contrib/whitespace-purge.sh → opal/mca/pmix/pmix4x/pmix/contrib/whitespace-purge.sh
Исполняемый файл → Обычный файл
@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#
|
#
|
||||||
# Copyright (c) 2015 Intel, Inc. All rights reserved.
|
# Copyright (c) 2015-2018 Intel, Inc. All rights reserved.
|
||||||
# Copyright (c) 2015 Los Alamos National Security, LLC. All rights
|
# Copyright (c) 2015 Los Alamos National Security, LLC. All rights
|
||||||
# reserved
|
# reserved
|
||||||
# Copyright (c) 2015 Cisco Systems, Inc.
|
# Copyright (c) 2015 Cisco Systems, Inc.
|
@ -10,7 +10,7 @@
|
|||||||
# 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) 2008 Cisco Systems, Inc. All rights reserved.
|
# Copyright (c) 2008 Cisco Systems, Inc. All rights reserved.
|
||||||
# Copyright (c) 2017 Intel, Inc. All rights reserved.
|
# Copyright (c) 2017-2018 Intel, Inc. All rights reserved.
|
||||||
# $COPYRIGHT$
|
# $COPYRIGHT$
|
||||||
#
|
#
|
||||||
# Additional copyrights may follow
|
# Additional copyrights may follow
|
Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше
Загрузка…
Ссылка в новой задаче
Block a user