Install PMIx v3.0.0 release
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
Этот коммит содержится в:
родитель
018ca4e2c4
Коммит
17c4cf0db8
@ -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-2009 Myricom, Inc. All rights reserved.
|
||||
Copyright (c) 2007-2008 UT-Battelle, LLC. All rights reserved.
|
||||
Copyright (c) 2007-2010 IBM Corporation. All rights reserved.
|
||||
Copyright (c) 2007-2018 IBM Corporation. All rights reserved.
|
||||
Copyright (c) 1998-2005 Forschungszentrum Juelich, Juelich Supercomputing
|
||||
Centre, 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.
|
||||
Copyright (c) 2007 Lawrence Livermore National Security, LLC.
|
||||
All rights reserved.
|
||||
Copyright (c) 2007-2009 Mellanox Technologies. All rights reserved.
|
||||
Copyright (c) 2007-2018 Mellanox Technologies. 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) 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) 2012 The University of Wisconsin-La Crosse. All rights
|
||||
reserved.
|
||||
Copyright (c) 2013-2014 Intel, Inc. All rights reserved.
|
||||
Copyright (c) 2013-2018 Intel, Inc. All rights reserved.
|
||||
Copyright (c) 2011-2014 NVIDIA Corporation. All rights reserved.
|
||||
|
||||
$COPYRIGHT$
|
||||
|
@ -60,8 +60,21 @@ current release as well as the "stable" bug fix release branch.
|
||||
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.2 -- TBD
|
||||
----------------------
|
||||
- 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
|
||||
|
@ -15,7 +15,7 @@ Copyright (c) 2007 Myricom, Inc. All rights reserved.
|
||||
Copyright (c) 2008 IBM Corporation. All rights reserved.
|
||||
Copyright (c) 2010 Oak Ridge National Labs. All rights reserved.
|
||||
Copyright (c) 2011 University of Houston. All rights reserved.
|
||||
Copyright (c) 2013-2017 Intel, Inc. All rights reserved.
|
||||
Copyright (c) 2013-2018 Intel, Inc. All rights reserved.
|
||||
$COPYRIGHT$
|
||||
|
||||
Additional copyrights may follow
|
||||
@ -25,13 +25,14 @@ $HEADER$
|
||||
===========================================================================
|
||||
|
||||
When submitting questions and problems, be sure to include as much
|
||||
extra information as possible. This web page details all the
|
||||
information that we request in order to provide assistance:
|
||||
extra information as possible. The issues template on the
|
||||
GitHub repo provides directions:
|
||||
|
||||
http://pmix.github.io/pmix/community/help/
|
||||
http://github.com/pmix/pmix/issues
|
||||
|
||||
The best way to report bugs, send comments, or ask questions is to
|
||||
sign up on the PMIx mailing list, which is hosted by GoogleGroups:
|
||||
open an issue on the repo. Alternatively, you are welcome to sign
|
||||
up for the developer/user mailing list:
|
||||
|
||||
pmix@googlegroups.com
|
||||
|
||||
@ -48,7 +49,7 @@ Thanks for your time.
|
||||
|
||||
More information is available in the PMIx FAQ:
|
||||
|
||||
http://pmix.github.io/pmix/faq/
|
||||
https://pmix.org/support
|
||||
|
||||
We are in early days, so please be patient - info will grow as questions
|
||||
are addressed.
|
||||
@ -63,7 +64,7 @@ General notes
|
||||
|
||||
- The majority of PMIx's documentation is here in this file, the
|
||||
included man pages, and on the web site FAQ
|
||||
(http://pmix.github.io/pmix/faq). This will eventually be
|
||||
(https://pmix.org/support). This will eventually be
|
||||
supplemented with cohesive installation and user documentation files.
|
||||
|
||||
- Systems that have been tested are:
|
||||
@ -312,7 +313,7 @@ Common Questions
|
||||
Many common questions about building and using PMIx are answered
|
||||
on the FAQ:
|
||||
|
||||
http://pmix.github.io/pmix/faq/
|
||||
https://pmix.org/support
|
||||
|
||||
===========================================================================
|
||||
|
||||
@ -323,10 +324,10 @@ Found a bug? Got a question? Want to make a suggestion? Want to
|
||||
contribute to PMIx? Please let us know!
|
||||
|
||||
When submitting questions and problems, be sure to include as much
|
||||
extra information as possible. This web page details all the
|
||||
information that we request in order to provide assistance:
|
||||
extra information as possible. Again, the issues template is your
|
||||
friend in this regard!
|
||||
|
||||
http://pmix.github.io/pmix/community/help/
|
||||
https://github.com/pmix/pmix/issues
|
||||
|
||||
Questions and comments should generally be sent to the PMIx mailing
|
||||
list (pmix@googlegroups.com). Because of spam, only
|
||||
@ -338,4 +339,4 @@ user's list:
|
||||
|
||||
https://groups.google.com/d/forum/pmix
|
||||
|
||||
Make today an PMIx day!
|
||||
Make today a PMIx day!
|
||||
|
@ -30,7 +30,7 @@ greek=
|
||||
# command, or with the date (if "git describe" fails) in the form of
|
||||
# "date<date>".
|
||||
|
||||
repo_rev=git7b5106a
|
||||
repo_rev=gitffba520
|
||||
|
||||
# If tarball_version is not empty, it is used as the version string in
|
||||
# the tarball filename, regardless of all other versions listed in
|
||||
@ -44,7 +44,7 @@ tarball_version=
|
||||
|
||||
# The date when this release was created
|
||||
|
||||
date="Jun 19, 2018"
|
||||
date="Jul 01, 2018"
|
||||
|
||||
# The shared library version of each of PMIx's public libraries.
|
||||
# These versions are maintained in accordance with the "Library
|
||||
|
@ -2885,6 +2885,8 @@ static pmix_status_t dstore_del_nspace(const char* nspace)
|
||||
ns_map_t *ns_map;
|
||||
session_t *session_tbl = NULL;
|
||||
ns_track_elem_t *trk = NULL;
|
||||
int dstor_track_idx;
|
||||
size_t session_tbl_idx;
|
||||
|
||||
PMIX_OUTPUT_VERBOSE((10, pmix_gds_base_framework.framework_output,
|
||||
"%s:%d:%s delete nspace `%s`", __FILE__, __LINE__, __func__, nspace));
|
||||
@ -2893,7 +2895,8 @@ static pmix_status_t dstore_del_nspace(const char* nspace)
|
||||
rc = PMIX_ERR_NOT_AVAILABLE;
|
||||
return rc;
|
||||
}
|
||||
|
||||
dstor_track_idx = ns_map_data->track_idx;
|
||||
session_tbl_idx = ns_map_data->tbl_idx;
|
||||
size = pmix_value_array_get_size(_ns_map_array);
|
||||
ns_map = PMIX_VALUE_ARRAY_GET_BASE(_ns_map_array, ns_map_t);
|
||||
|
||||
@ -2905,19 +2908,6 @@ static pmix_status_t dstore_del_nspace(const char* nspace)
|
||||
continue;
|
||||
}
|
||||
in_use++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(ns_map_data->track_idx >= 0) {
|
||||
trk = pmix_value_array_get_item(_ns_track_array, ns_map_data->track_idx);
|
||||
if((ns_map_data->track_idx + 1) > (int)pmix_value_array_get_size(_ns_track_array)) {
|
||||
rc = PMIX_ERR_VALUE_OUT_OF_BOUNDS;
|
||||
PMIX_ERROR_LOG(rc);
|
||||
goto exit;
|
||||
}
|
||||
if (true == trk->in_use) {
|
||||
PMIX_DESTRUCT(trk);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2925,10 +2915,22 @@ static pmix_status_t dstore_del_nspace(const char* nspace)
|
||||
* session record can only be deleted once all references are gone */
|
||||
if (!in_use) {
|
||||
session_tbl = PMIX_VALUE_ARRAY_GET_BASE(_session_array, session_t);
|
||||
|
||||
PMIX_OUTPUT_VERBOSE((10, pmix_gds_base_framework.framework_output,
|
||||
"%s:%d:%s delete session for jobuid: %d", __FILE__, __LINE__, __func__, session_tbl[ns_map_data->tbl_idx].jobuid));
|
||||
_esh_session_release(&session_tbl[ns_map_data->tbl_idx]);
|
||||
"%s:%d:%s delete session for jobuid: %d",
|
||||
__FILE__, __LINE__, __func__, session_tbl[session_tbl_idx].jobuid));
|
||||
size = pmix_value_array_get_size(_ns_track_array);
|
||||
if (size && (dstor_track_idx >= 0)) {
|
||||
if((dstor_track_idx + 1) > size) {
|
||||
rc = PMIX_ERR_VALUE_OUT_OF_BOUNDS;
|
||||
PMIX_ERROR_LOG(rc);
|
||||
goto exit;
|
||||
}
|
||||
trk = pmix_value_array_get_item(_ns_track_array, dstor_track_idx);
|
||||
if (true == trk->in_use) {
|
||||
PMIX_DESTRUCT(trk);
|
||||
}
|
||||
}
|
||||
_esh_session_release(&session_tbl[session_tbl_idx]);
|
||||
}
|
||||
exit:
|
||||
return rc;
|
||||
|
@ -1821,10 +1821,10 @@ static void clct_complete(pmix_status_t status,
|
||||
static void clct(int sd, short args, void *cbdata)
|
||||
{
|
||||
pmix_inventory_rollup_t *cd = (pmix_inventory_rollup_t*)cbdata;
|
||||
pmix_status_t rc;
|
||||
|
||||
#if PMIX_HAVE_HWLOC
|
||||
/* if we don't know our topology, we better get it now */
|
||||
pmix_status_t rc;
|
||||
if (NULL == pmix_hwloc_topology) {
|
||||
if (PMIX_SUCCESS != (rc = pmix_hwloc_get_topology(NULL, 0))) {
|
||||
PMIX_ERROR_LOG(rc);
|
||||
|
@ -27,91 +27,91 @@ noinst_PROGRAMS = simptest simpclient simppub simpdyn simpft simpdmodex \
|
||||
test_pmix simptool simpdie simplegacy simptimeout \
|
||||
gwtest gwclient stability quietclient
|
||||
|
||||
simptest_SOURCES = \
|
||||
simptest_SOURCES = $(headers) \
|
||||
simptest.c
|
||||
simptest_LDFLAGS = $(PMIX_PKG_CONFIG_LDFLAGS)
|
||||
simptest_LDADD = \
|
||||
$(top_builddir)/src/libpmix.la
|
||||
|
||||
simpclient_SOURCES = \
|
||||
simpclient_SOURCES = $(headers) \
|
||||
simpclient.c
|
||||
simpclient_LDFLAGS = $(PMIX_PKG_CONFIG_LDFLAGS)
|
||||
simpclient_LDADD = \
|
||||
$(top_builddir)/src/libpmix.la
|
||||
|
||||
simppub_SOURCES = \
|
||||
simppub_SOURCES = $(headers) \
|
||||
simppub.c
|
||||
simppub_LDFLAGS = $(PMIX_PKG_CONFIG_LDFLAGS)
|
||||
simppub_LDADD = \
|
||||
$(top_builddir)/src/libpmix.la
|
||||
|
||||
simpdmodex_SOURCES = \
|
||||
simpdmodex_SOURCES = $(headers) \
|
||||
simpdmodex.c
|
||||
simpdmodex_LDFLAGS = $(PMIX_PKG_CONFIG_LDFLAGS)
|
||||
simpdmodex_LDADD = \
|
||||
$(top_builddir)/src/libpmix.la
|
||||
|
||||
simpft_SOURCES = \
|
||||
simpft_SOURCES = $(headers) \
|
||||
simpft.c
|
||||
simpft_LDFLAGS = $(PMIX_PKG_CONFIG_LDFLAGS)
|
||||
simpft_LDADD = \
|
||||
$(top_builddir)/src/libpmix.la
|
||||
|
||||
simpdyn_SOURCES = \
|
||||
simpdyn_SOURCES = $(headers) \
|
||||
simpdyn.c
|
||||
simpdyn_LDFLAGS = $(PMIX_PKG_CONFIG_LDFLAGS)
|
||||
simpdyn_LDADD = \
|
||||
$(top_builddir)/src/libpmix.la
|
||||
|
||||
test_pmix_SOURCES = \
|
||||
test_pmix_SOURCES = $(headers) \
|
||||
test_pmix.c
|
||||
test_pmix_LDFLAGS = $(PMIX_PKG_CONFIG_LDFLAGS)
|
||||
test_pmix_LDADD = \
|
||||
$(top_builddir)/src/libpmix.la
|
||||
|
||||
simptool_SOURCES = \
|
||||
simptool_SOURCES = $(headers) \
|
||||
simptool.c
|
||||
simptool_LDFLAGS = $(PMIX_PKG_CONFIG_LDFLAGS)
|
||||
simptool_LDADD = \
|
||||
$(top_builddir)/src/libpmix.la
|
||||
|
||||
simpdie_SOURCES = \
|
||||
simpdie_SOURCES = $(headers) \
|
||||
simpdie.c
|
||||
simpdie_LDFLAGS = $(PMIX_PKG_CONFIG_LDFLAGS)
|
||||
simpdie_LDADD = \
|
||||
$(top_builddir)/src/libpmix.la
|
||||
|
||||
simplegacy_SOURCES = \
|
||||
simplegacy_SOURCES = $(headers) \
|
||||
simplegacy.c
|
||||
simplegacy_LDFLAGS = $(PMIX_PKG_CONFIG_LDFLAGS)
|
||||
simplegacy_LDADD = \
|
||||
$(top_builddir)/src/libpmix.la
|
||||
|
||||
simptimeout_SOURCES = \
|
||||
simptimeout_SOURCES = $(headers) \
|
||||
simptimeout.c
|
||||
simptimeout_LDFLAGS = $(PMIX_PKG_CONFIG_LDFLAGS)
|
||||
simptimeout_LDADD = \
|
||||
$(top_builddir)/src/libpmix.la
|
||||
|
||||
gwtest_SOURCES = \
|
||||
gwtest_SOURCES = $(headers) \
|
||||
gwtest.c
|
||||
gwtest_LDFLAGS = $(PMIX_PKG_CONFIG_LDFLAGS)
|
||||
gwtest_LDADD = \
|
||||
$(top_builddir)/src/libpmix.la
|
||||
|
||||
gwclient_SOURCES = \
|
||||
gwclient_SOURCES = $(headers) \
|
||||
gwclient.c
|
||||
gwclient_LDFLAGS = $(PMIX_PKG_CONFIG_LDFLAGS)
|
||||
gwclient_LDADD = \
|
||||
$(top_builddir)/src/libpmix.la
|
||||
|
||||
stability_SOURCES = \
|
||||
stability_SOURCES = $(headers) \
|
||||
stability.c
|
||||
stability_LDFLAGS = $(PMIX_PKG_CONFIG_LDFLAGS)
|
||||
stability_LDADD = \
|
||||
$(top_builddir)/src/libpmix.la
|
||||
|
||||
quietclient_SOURCES = \
|
||||
quietclient_SOURCES = $(headers) \
|
||||
quietclient.c
|
||||
quietclient_LDFLAGS = $(PMIX_PKG_CONFIG_LDFLAGS)
|
||||
quietclient_LDADD = \
|
||||
|
53
opal/mca/pmix/pmix3x/pmix/test/simple/simptest.h
Обычный файл
53
opal/mca/pmix/pmix3x/pmix/test/simple/simptest.h
Обычный файл
@ -0,0 +1,53 @@
|
||||
/*
|
||||
* 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)
|
Загрузка…
x
Ссылка в новой задаче
Block a user