1
1

Merge pull request #3258 from markalle/pr/symbol_name_pollution

symbol name pollution
Этот коммит содержится в:
Jeff Squyres 2017-07-12 16:19:25 -05:00 коммит произвёл GitHub
родитель 3c0e94afab 552216f9ba
Коммит ccf17808b6
119 изменённых файлов: 794 добавлений и 463 удалений

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

@ -22,7 +22,7 @@
# Copyright (c) 2013-2017 Intel, Inc. All rights reserved. # Copyright (c) 2013-2017 Intel, Inc. All rights reserved.
# Copyright (c) 2014-2017 Research Organization for Information Science # Copyright (c) 2014-2017 Research Organization for Information Science
# and Technology (RIST). All rights reserved. # and Technology (RIST). All rights reserved.
# Copyright (c) 2016 IBM Corporation. All rights reserved. # Copyright (c) 2016-2017 IBM Corporation. All rights reserved.
# $COPYRIGHT$ # $COPYRIGHT$
# #
# Additional copyrights may follow # Additional copyrights may follow
@ -1407,6 +1407,7 @@ AC_CONFIG_FILES([
test/support/Makefile test/support/Makefile
test/threads/Makefile test/threads/Makefile
test/util/Makefile test/util/Makefile
test/symbol_name/Makefile
]) ])
m4_ifdef([project_ompi], [AC_CONFIG_FILES([test/monitoring/Makefile])]) m4_ifdef([project_ompi], [AC_CONFIG_FILES([test/monitoring/Makefile])])
m4_ifdef([project_ompi], [ m4_ifdef([project_ompi], [

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

@ -2,6 +2,7 @@
# #
# Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. # Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2016-2017 Intel, Inc. All rights reserved. # Copyright (c) 2016-2017 Intel, Inc. All rights reserved.
# Copyright (c) 2017 IBM Corporation. All rights reserved.
# $COPYRIGHT$ # $COPYRIGHT$
# #
@ -66,6 +67,7 @@ my $HELP = 0;
# Defaults # Defaults
my $my_search_name = "Cisco"; my $my_search_name = "Cisco";
my $my_formal_name = "Cisco Systems, Inc. All rights reserved."; my $my_formal_name = "Cisco Systems, Inc. All rights reserved.";
my $my_manual_list = "";
# Protected directories # Protected directories
my @protected = qw( my @protected = qw(
@ -80,6 +82,8 @@ $my_search_name = $ENV{OMPI_COPYRIGHT_SEARCH_NAME}
if (defined($ENV{OMPI_COPYRIGHT_SEARCH_NAME})); if (defined($ENV{OMPI_COPYRIGHT_SEARCH_NAME}));
$my_formal_name = $ENV{OMPI_COPYRIGHT_FORMAL_NAME} $my_formal_name = $ENV{OMPI_COPYRIGHT_FORMAL_NAME}
if (defined($ENV{OMPI_COPYRIGHT_FORMAL_NAME})); if (defined($ENV{OMPI_COPYRIGHT_FORMAL_NAME}));
$my_manual_list = $ENV{OMPI_COPYRIGHT_MANUAL_LIST}
if (defined($ENV{OMPI_COPYRIGHT_MANUAL_LIST}));
GetOptions( GetOptions(
"help" => \$HELP, "help" => \$HELP,
@ -87,6 +91,7 @@ GetOptions(
"check-only" => \$CHECK_ONLY, "check-only" => \$CHECK_ONLY,
"search-name=s" => \$my_search_name, "search-name=s" => \$my_search_name,
"formal-name=s" => \$my_formal_name, "formal-name=s" => \$my_formal_name,
"manual-list=s" => \$my_manual_list,
) or die "unable to parse options, stopped"; ) or die "unable to parse options, stopped";
if ($HELP) { if ($HELP) {
@ -98,6 +103,7 @@ $0 [options]
--check-only exit(111) if there are files with copyrights to edit --check-only exit(111) if there are files with copyrights to edit
--search-name=NAME Set search name to NAME --search-name=NAME Set search name to NAME
--formal-same=NAME Set formal name to NAME --formal-same=NAME Set formal name to NAME
--manual-list=FNAME Use specified file as list of files to mod copyright
EOT EOT
exit(0); exit(0);
} }
@ -143,6 +149,8 @@ $vcs = "hg"
if (-d "$top/.hg"); if (-d "$top/.hg");
$vcs = "svn" $vcs = "svn"
if (-d "$top/.svn"); if (-d "$top/.svn");
$vcs = "manual"
if ("$my_manual_list" ne "");
my @files = find_modified_files($vcs); my @files = find_modified_files($vcs);
@ -363,6 +371,9 @@ sub find_modified_files {
} }
close(CMD); close(CMD);
} }
elsif ($vcs eq "manual") {
@files = split(/\n/, `cat $my_manual_list`);
}
else { else {
die "unknown VCS '$vcs', stopped"; die "unknown VCS '$vcs', stopped";
} }

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

@ -14,6 +14,7 @@
* reserved. * reserved.
* Copyright (c) 2014-2017 Research Organization for Information Science * Copyright (c) 2014-2017 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -390,7 +391,7 @@ int ompi_coll_base_alltoall_intra_linear_sync(const void *sbuf, int scount,
(max_outstanding_reqs <= 0)) ? (max_outstanding_reqs <= 0)) ?
(size - 1) : (max_outstanding_reqs)); (size - 1) : (max_outstanding_reqs));
if (0 < total_reqs) { if (0 < total_reqs) {
reqs = coll_base_comm_get_reqs(module->base_data, 2 * total_reqs); reqs = ompi_coll_base_comm_get_reqs(module->base_data, 2 * total_reqs);
if (NULL == reqs) { error = -1; line = __LINE__; goto error_hndl; } if (NULL == reqs) { error = -1; line = __LINE__; goto error_hndl; }
} }
@ -613,7 +614,7 @@ int ompi_coll_base_alltoall_intra_basic_linear(const void *sbuf, int scount,
/* Initiate all send/recv to/from others. */ /* Initiate all send/recv to/from others. */
req = rreq = coll_base_comm_get_reqs(data, (size - 1) * 2); req = rreq = ompi_coll_base_comm_get_reqs(data, (size - 1) * 2);
if (NULL == req) { err = OMPI_ERR_OUT_OF_RESOURCE; line = __LINE__; goto err_hndl; } if (NULL == req) { err = OMPI_ERR_OUT_OF_RESOURCE; line = __LINE__; goto err_hndl; }
prcv = (char *) rbuf; prcv = (char *) rbuf;

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

@ -16,6 +16,7 @@
* Copyright (c) 2013 FUJITSU LIMITED. All rights reserved. * Copyright (c) 2013 FUJITSU LIMITED. All rights reserved.
* Copyright (c) 2014-2017 Research Organization for Information Science * Copyright (c) 2014-2017 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -231,7 +232,7 @@ ompi_coll_base_alltoallv_intra_basic_linear(const void *sbuf, const int *scounts
/* Now, initiate all send/recv to/from others. */ /* Now, initiate all send/recv to/from others. */
nreqs = 0; nreqs = 0;
reqs = preq = coll_base_comm_get_reqs(data, 2 * size); reqs = preq = ompi_coll_base_comm_get_reqs(data, 2 * size);
if( NULL == reqs ) { err = OMPI_ERR_OUT_OF_RESOURCE; goto err_hndl; } if( NULL == reqs ) { err = OMPI_ERR_OUT_OF_RESOURCE; goto err_hndl; }
/* Post all receives first */ /* Post all receives first */

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

@ -15,6 +15,7 @@
* reserved. * reserved.
* Copyright (c) 2015-2016 Research Organization for Information Science * Copyright (c) 2015-2016 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -342,7 +343,7 @@ int ompi_coll_base_barrier_intra_basic_linear(struct ompi_communicator_t *comm,
/* The root collects and broadcasts the messages. */ /* The root collects and broadcasts the messages. */
else { else {
requests = coll_base_comm_get_reqs(module->base_data, size); requests = ompi_coll_base_comm_get_reqs(module->base_data, size);
if( NULL == requests ) { err = OMPI_ERR_OUT_OF_RESOURCE; line = __LINE__; goto err_hndl; } if( NULL == requests ) { err = OMPI_ERR_OUT_OF_RESOURCE; line = __LINE__; goto err_hndl; }
for (i = 1; i < size; ++i) { for (i = 1; i < size; ++i) {

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

@ -13,6 +13,7 @@
* Copyright (c) 2012 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2012 Cisco Systems, 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) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -68,7 +69,7 @@ ompi_coll_base_bcast_intra_generic( void* buffer,
tmpbuf = (char *) buffer; tmpbuf = (char *) buffer;
if( tree->tree_nextsize != 0 ) { if( tree->tree_nextsize != 0 ) {
send_reqs = coll_base_comm_get_reqs(module->base_data, tree->tree_nextsize); send_reqs = ompi_coll_base_comm_get_reqs(module->base_data, tree->tree_nextsize);
if( NULL == send_reqs ) { err = OMPI_ERR_OUT_OF_RESOURCE; line = __LINE__; goto error_hndl; } if( NULL == send_reqs ) { err = OMPI_ERR_OUT_OF_RESOURCE; line = __LINE__; goto error_hndl; }
} }
@ -628,7 +629,7 @@ ompi_coll_base_bcast_intra_basic_linear(void *buff, int count,
} }
/* Root sends data to all others. */ /* Root sends data to all others. */
preq = reqs = coll_base_comm_get_reqs(module->base_data, size-1); preq = reqs = ompi_coll_base_comm_get_reqs(module->base_data, size-1);
if( NULL == reqs ) { err = OMPI_ERR_OUT_OF_RESOURCE; goto err_hndl; } if( NULL == reqs ) { err = OMPI_ERR_OUT_OF_RESOURCE; goto err_hndl; }
for (i = 0; i < size; ++i) { for (i = 0; i < size; ++i) {

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

@ -14,6 +14,7 @@
* reserved. * reserved.
* Copyright (c) 2014 Research Organization for Information Science * Copyright (c) 2014 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -109,7 +110,7 @@ coll_base_comm_destruct(mca_coll_base_comm_t *data)
OBJ_CLASS_INSTANCE(mca_coll_base_comm_t, opal_object_t, OBJ_CLASS_INSTANCE(mca_coll_base_comm_t, opal_object_t,
coll_base_comm_construct, coll_base_comm_destruct); coll_base_comm_construct, coll_base_comm_destruct);
ompi_request_t** coll_base_comm_get_reqs(mca_coll_base_comm_t* data, int nreqs) ompi_request_t** ompi_coll_base_comm_get_reqs(mca_coll_base_comm_t* data, int nreqs)
{ {
if( 0 == nreqs ) return NULL; if( 0 == nreqs ) return NULL;

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

@ -455,6 +455,6 @@ static inline void ompi_coll_base_free_reqs(ompi_request_t **reqs, int count)
* Return the array of requests on the data. If the array was not initialized * Return the array of requests on the data. If the array was not initialized
* or if it's size was too small, allocate it to fit the requested size. * or if it's size was too small, allocate it to fit the requested size.
*/ */
ompi_request_t** coll_base_comm_get_reqs(mca_coll_base_comm_t* data, int nreqs); ompi_request_t** ompi_coll_base_comm_get_reqs(mca_coll_base_comm_t* data, int nreqs);
#endif /* MCA_COLL_BASE_EXPORT_H */ #endif /* MCA_COLL_BASE_EXPORT_H */

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

@ -14,6 +14,7 @@
* reserved. * reserved.
* Copyright (c) 2015-2016 Research Organization for Information Science * Copyright (c) 2015-2016 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -267,7 +268,7 @@ ompi_coll_base_gather_intra_linear_sync(const void *sbuf, int scount,
*/ */
char *ptmp; char *ptmp;
ompi_request_t *first_segment_req; ompi_request_t *first_segment_req;
reqs = coll_base_comm_get_reqs(module->base_data, size); reqs = ompi_coll_base_comm_get_reqs(module->base_data, size);
if (NULL == reqs) { ret = -1; line = __LINE__; goto error_hndl; } if (NULL == reqs) { ret = -1; line = __LINE__; goto error_hndl; }
ompi_datatype_type_size(rdtype, &typelng); ompi_datatype_type_size(rdtype, &typelng);

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

@ -287,7 +287,7 @@ int ompi_coll_base_reduce_generic( const void* sendbuf, void* recvbuf, int origi
int creq = 0; int creq = 0;
sreq = coll_base_comm_get_reqs(module->base_data, max_outstanding_reqs); sreq = ompi_coll_base_comm_get_reqs(module->base_data, max_outstanding_reqs);
if (NULL == sreq) { line = __LINE__; ret = -1; goto error_hndl; } if (NULL == sreq) { line = __LINE__; ret = -1; goto error_hndl; }
/* post first group of requests */ /* post first group of requests */

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

@ -11,6 +11,7 @@
* All rights reserved. * 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) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -78,7 +79,7 @@ mca_coll_basic_allgather_inter(const void *sbuf, int scount,
if (OMPI_SUCCESS != err) { line = __LINE__; goto exit; } if (OMPI_SUCCESS != err) { line = __LINE__; goto exit; }
/* Get a requests arrays of the right size */ /* Get a requests arrays of the right size */
reqs = coll_base_comm_get_reqs(module->base_data, rsize + 1); reqs = ompi_coll_base_comm_get_reqs(module->base_data, rsize + 1);
if( NULL == reqs ) { line = __LINE__; err = OMPI_ERR_OUT_OF_RESOURCE; goto exit; } if( NULL == reqs ) { line = __LINE__; err = OMPI_ERR_OUT_OF_RESOURCE; goto exit; }
/* Do a send-recv between the two root procs. to avoid deadlock */ /* Do a send-recv between the two root procs. to avoid deadlock */

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

@ -11,6 +11,7 @@
* All rights reserved. * All rights reserved.
* Copyright (c) 2015-2017 Research Organization for Information Science * Copyright (c) 2015-2017 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -109,7 +110,7 @@ mca_coll_basic_allreduce_inter(const void *sbuf, void *rbuf, int count,
pml_buffer = tmpbuf - gap; pml_buffer = tmpbuf - gap;
if (rsize > 1) { if (rsize > 1) {
reqs = coll_base_comm_get_reqs(module->base_data, rsize - 1); reqs = ompi_coll_base_comm_get_reqs(module->base_data, rsize - 1);
if( NULL == reqs ) { err = OMPI_ERR_OUT_OF_RESOURCE; line = __LINE__; goto exit; } if( NULL == reqs ) { err = OMPI_ERR_OUT_OF_RESOURCE; line = __LINE__; goto exit; }
} }

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

@ -14,6 +14,7 @@
* reserved. * reserved.
* Copyright (c) 2014-2015 Research Organization for Information Science * Copyright (c) 2014-2015 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -77,7 +78,7 @@ mca_coll_basic_alltoall_inter(const void *sbuf, int scount,
/* Initiate all send/recv to/from others. */ /* Initiate all send/recv to/from others. */
nreqs = size * 2; nreqs = size * 2;
req = rreq = coll_base_comm_get_reqs( module->base_data, nreqs); req = rreq = ompi_coll_base_comm_get_reqs( module->base_data, nreqs);
if( NULL == req ) { return OMPI_ERR_OUT_OF_RESOURCE; } if( NULL == req ) { return OMPI_ERR_OUT_OF_RESOURCE; }
sreq = rreq + size; sreq = rreq + size;

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

@ -15,6 +15,7 @@
* Copyright (c) 2013 FUJITSU LIMITED. All rights reserved. * Copyright (c) 2013 FUJITSU LIMITED. All rights reserved.
* Copyright (c) 2014-2015 Research Organization for Information Science * Copyright (c) 2014-2015 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -68,7 +69,7 @@ mca_coll_basic_alltoallv_inter(const void *sbuf, const int *scounts, const int *
/* Initiate all send/recv to/from others. */ /* Initiate all send/recv to/from others. */
nreqs = rsize * 2; nreqs = rsize * 2;
preq = coll_base_comm_get_reqs(module->base_data, nreqs); preq = ompi_coll_base_comm_get_reqs(module->base_data, nreqs);
if( NULL == preq ) { return OMPI_ERR_OUT_OF_RESOURCE; } if( NULL == preq ) { return OMPI_ERR_OUT_OF_RESOURCE; }
/* Post all receives first */ /* Post all receives first */

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

@ -17,6 +17,7 @@
* 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) 2014 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -179,7 +180,7 @@ mca_coll_basic_alltoallw_intra(const void *sbuf, const int *scounts, const int *
/* Initiate all send/recv to/from others. */ /* Initiate all send/recv to/from others. */
nreqs = 0; nreqs = 0;
reqs = preq = coll_base_comm_get_reqs(module->base_data, 2 * size); reqs = preq = ompi_coll_base_comm_get_reqs(module->base_data, 2 * size);
if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; } if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; }
/* Post all receives first -- a simple optimization */ /* Post all receives first -- a simple optimization */
@ -269,7 +270,7 @@ mca_coll_basic_alltoallw_inter(const void *sbuf, const int *scounts, const int *
/* Initiate all send/recv to/from others. */ /* Initiate all send/recv to/from others. */
nreqs = 0; nreqs = 0;
reqs = preq = coll_base_comm_get_reqs(module->base_data, 2 * size); reqs = preq = ompi_coll_base_comm_get_reqs(module->base_data, 2 * size);
if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; } if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; }
/* Post all receives first -- a simple optimization */ /* Post all receives first -- a simple optimization */

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

@ -12,6 +12,7 @@
* Copyright (c) 2015 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2015 Cisco Systems, 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) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -81,7 +82,7 @@ mca_coll_basic_bcast_log_intra(void *buff, int count,
/* Send data to the children. */ /* Send data to the children. */
reqs = coll_base_comm_get_reqs(module->base_data, size); reqs = ompi_coll_base_comm_get_reqs(module->base_data, size);
if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; } if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; }
err = MPI_SUCCESS; err = MPI_SUCCESS;
@ -156,7 +157,7 @@ mca_coll_basic_bcast_lin_inter(void *buff, int count,
MCA_COLL_BASE_TAG_BCAST, comm, MCA_COLL_BASE_TAG_BCAST, comm,
MPI_STATUS_IGNORE)); MPI_STATUS_IGNORE));
} else { } else {
reqs = coll_base_comm_get_reqs(module->base_data, rsize); reqs = ompi_coll_base_comm_get_reqs(module->base_data, rsize);
if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; } if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; }
/* root section */ /* root section */

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

@ -11,6 +11,7 @@
* All rights reserved. * 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) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -142,7 +143,7 @@ mca_coll_basic_gatherv_inter(const void *sbuf, int scount,
return OMPI_ERROR; return OMPI_ERROR;
} }
reqs = coll_base_comm_get_reqs(module->base_data, size); reqs = ompi_coll_base_comm_get_reqs(module->base_data, size);
if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; } if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; }
for (i = 0; i < size; ++i) { for (i = 0; i < size; ++i) {

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

@ -14,6 +14,7 @@
* reserved. * reserved.
* Copyright (c) 2014-2015 Research Organization for Information Science * Copyright (c) 2014-2015 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -52,7 +53,7 @@ mca_coll_basic_neighbor_allgather_cart(const void *sbuf, int scount,
ompi_datatype_get_extent(rdtype, &lb, &extent); ompi_datatype_get_extent(rdtype, &lb, &extent);
reqs = preqs = coll_base_comm_get_reqs( module->base_data, 4 * cart->ndims ); reqs = preqs = ompi_coll_base_comm_get_reqs( module->base_data, 4 * cart->ndims );
if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; } if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; }
/* The ordering is defined as -1 then +1 in each dimension in /* The ordering is defined as -1 then +1 in each dimension in
@ -139,7 +140,7 @@ mca_coll_basic_neighbor_allgather_graph(const void *sbuf, int scount,
} }
ompi_datatype_get_extent(rdtype, &lb, &extent); ompi_datatype_get_extent(rdtype, &lb, &extent);
reqs = preqs = coll_base_comm_get_reqs( module->base_data, 2 * degree); reqs = preqs = ompi_coll_base_comm_get_reqs( module->base_data, 2 * degree);
if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; } if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; }
for (neighbor = 0; neighbor < degree ; ++neighbor) { for (neighbor = 0; neighbor < degree ; ++neighbor) {
@ -190,7 +191,7 @@ mca_coll_basic_neighbor_allgather_dist_graph(const void *sbuf, int scount,
outedges = dist_graph->out; outedges = dist_graph->out;
ompi_datatype_get_extent(rdtype, &lb, &extent); ompi_datatype_get_extent(rdtype, &lb, &extent);
reqs = preqs = coll_base_comm_get_reqs( module->base_data, indegree + outdegree); reqs = preqs = ompi_coll_base_comm_get_reqs( module->base_data, indegree + outdegree);
if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; } if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; }
for (neighbor = 0; neighbor < indegree ; ++neighbor) { for (neighbor = 0; neighbor < indegree ; ++neighbor) {

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

@ -14,6 +14,7 @@
* reserved. * reserved.
* Copyright (c) 2014-2015 Research Organization for Information Science * Copyright (c) 2014-2015 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -51,7 +52,7 @@ mca_coll_basic_neighbor_allgatherv_cart(const void *sbuf, int scount, struct omp
ompi_datatype_get_extent(rdtype, &lb, &extent); ompi_datatype_get_extent(rdtype, &lb, &extent);
reqs = preqs = coll_base_comm_get_reqs( module->base_data, 4 * cart->ndims); reqs = preqs = ompi_coll_base_comm_get_reqs( module->base_data, 4 * cart->ndims);
if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; } if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; }
/* The ordering is defined as -1 then +1 in each dimension in /* The ordering is defined as -1 then +1 in each dimension in
@ -126,7 +127,7 @@ mca_coll_basic_neighbor_allgatherv_graph(const void *sbuf, int scount, struct om
} }
ompi_datatype_get_extent(rdtype, &lb, &extent); ompi_datatype_get_extent(rdtype, &lb, &extent);
reqs = preqs = coll_base_comm_get_reqs( module->base_data, 2 * degree); reqs = preqs = ompi_coll_base_comm_get_reqs( module->base_data, 2 * degree);
if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; } if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; }
for (neighbor = 0; neighbor < degree ; ++neighbor) { for (neighbor = 0; neighbor < degree ; ++neighbor) {
@ -175,7 +176,7 @@ mca_coll_basic_neighbor_allgatherv_dist_graph(const void *sbuf, int scount, stru
outedges = dist_graph->out; outedges = dist_graph->out;
ompi_datatype_get_extent(rdtype, &lb, &extent); ompi_datatype_get_extent(rdtype, &lb, &extent);
reqs = preqs = coll_base_comm_get_reqs( module->base_data, indegree + outdegree); reqs = preqs = ompi_coll_base_comm_get_reqs( module->base_data, indegree + outdegree);
if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; } if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; }
for (neighbor = 0; neighbor < indegree ; ++neighbor) { for (neighbor = 0; neighbor < indegree ; ++neighbor) {

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

@ -14,6 +14,7 @@
* reserved. * reserved.
* Copyright (c) 2014-2015 Research Organization for Information Science * Copyright (c) 2014-2015 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -50,7 +51,7 @@ mca_coll_basic_neighbor_alltoall_cart(const void *sbuf, int scount, struct ompi_
ompi_datatype_get_extent(rdtype, &lb, &rdextent); ompi_datatype_get_extent(rdtype, &lb, &rdextent);
ompi_datatype_get_extent(sdtype, &lb, &sdextent); ompi_datatype_get_extent(sdtype, &lb, &sdextent);
reqs = preqs = coll_base_comm_get_reqs( module->base_data, 4 * cart->ndims); reqs = preqs = ompi_coll_base_comm_get_reqs( module->base_data, 4 * cart->ndims);
if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; } if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; }
/* post receives first */ /* post receives first */
@ -157,7 +158,7 @@ mca_coll_basic_neighbor_alltoall_graph(const void *sbuf, int scount, struct ompi
ompi_datatype_get_extent(rdtype, &lb, &rdextent); ompi_datatype_get_extent(rdtype, &lb, &rdextent);
ompi_datatype_get_extent(sdtype, &lb, &sdextent); ompi_datatype_get_extent(sdtype, &lb, &sdextent);
reqs = preqs = coll_base_comm_get_reqs( module->base_data, 2 * degree); reqs = preqs = ompi_coll_base_comm_get_reqs( module->base_data, 2 * degree);
if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; } if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; }
/* post receives first */ /* post receives first */
@ -215,7 +216,7 @@ mca_coll_basic_neighbor_alltoall_dist_graph(const void *sbuf, int scount,struct
ompi_datatype_get_extent(rdtype, &lb, &rdextent); ompi_datatype_get_extent(rdtype, &lb, &rdextent);
ompi_datatype_get_extent(sdtype, &lb, &sdextent); ompi_datatype_get_extent(sdtype, &lb, &sdextent);
reqs = preqs = coll_base_comm_get_reqs( module->base_data, indegree + outdegree); reqs = preqs = ompi_coll_base_comm_get_reqs( module->base_data, indegree + outdegree);
if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; } if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; }
/* post receives first */ /* post receives first */

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

@ -14,6 +14,7 @@
* reserved. * reserved.
* Copyright (c) 2014-2015 Research Organization for Information Science * Copyright (c) 2014-2015 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -51,7 +52,7 @@ mca_coll_basic_neighbor_alltoallv_cart(const void *sbuf, const int scounts[], co
ompi_datatype_get_extent(rdtype, &lb, &rdextent); ompi_datatype_get_extent(rdtype, &lb, &rdextent);
ompi_datatype_get_extent(sdtype, &lb, &sdextent); ompi_datatype_get_extent(sdtype, &lb, &sdextent);
reqs = preqs = coll_base_comm_get_reqs( module->base_data, 4 * cart->ndims ); reqs = preqs = ompi_coll_base_comm_get_reqs( module->base_data, 4 * cart->ndims );
if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; } if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; }
/* post receives first */ /* post receives first */
@ -144,7 +145,7 @@ mca_coll_basic_neighbor_alltoallv_graph(const void *sbuf, const int scounts[], c
ompi_datatype_get_extent(rdtype, &lb, &rdextent); ompi_datatype_get_extent(rdtype, &lb, &rdextent);
ompi_datatype_get_extent(sdtype, &lb, &sdextent); ompi_datatype_get_extent(sdtype, &lb, &sdextent);
reqs = preqs = coll_base_comm_get_reqs( module->base_data, 2 * degree ); reqs = preqs = ompi_coll_base_comm_get_reqs( module->base_data, 2 * degree );
if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; } if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; }
/* post all receives first */ /* post all receives first */
@ -201,7 +202,7 @@ mca_coll_basic_neighbor_alltoallv_dist_graph(const void *sbuf, const int scounts
ompi_datatype_get_extent(rdtype, &lb, &rdextent); ompi_datatype_get_extent(rdtype, &lb, &rdextent);
ompi_datatype_get_extent(sdtype, &lb, &sdextent); ompi_datatype_get_extent(sdtype, &lb, &sdextent);
reqs = preqs = coll_base_comm_get_reqs( module->base_data, indegree + outdegree); reqs = preqs = ompi_coll_base_comm_get_reqs( module->base_data, indegree + outdegree);
if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; } if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; }
/* post all receives first */ /* post all receives first */

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

@ -49,7 +49,7 @@ mca_coll_basic_neighbor_alltoallw_cart(const void *sbuf, const int scounts[], co
if (0 == cart->ndims) return OMPI_SUCCESS; if (0 == cart->ndims) return OMPI_SUCCESS;
reqs = preqs = coll_base_comm_get_reqs( module->base_data, 4 * cart->ndims ); reqs = preqs = ompi_coll_base_comm_get_reqs( module->base_data, 4 * cart->ndims );
if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; } if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; }
/* post receives first */ /* post receives first */
@ -134,7 +134,7 @@ mca_coll_basic_neighbor_alltoallw_graph(const void *sbuf, const int scounts[], c
mca_topo_base_graph_neighbors_count (comm, rank, &degree); mca_topo_base_graph_neighbors_count (comm, rank, &degree);
if (0 == degree) return OMPI_SUCCESS; if (0 == degree) return OMPI_SUCCESS;
reqs = preqs = coll_base_comm_get_reqs( module->base_data, 2 * degree ); reqs = preqs = ompi_coll_base_comm_get_reqs( module->base_data, 2 * degree );
if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; } if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; }
edges = graph->edges; edges = graph->edges;
@ -195,7 +195,7 @@ mca_coll_basic_neighbor_alltoallw_dist_graph(const void *sbuf, const int scounts
if (0 == indegree+outdegree) return OMPI_SUCCESS; if (0 == indegree+outdegree) return OMPI_SUCCESS;
reqs = preqs = coll_base_comm_get_reqs( module->base_data, indegree + outdegree ); reqs = preqs = ompi_coll_base_comm_get_reqs( module->base_data, indegree + outdegree );
if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; } if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; }
/* post all receives first */ /* post all receives first */

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

@ -11,6 +11,7 @@
* All rights reserved. * 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) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -68,7 +69,7 @@ mca_coll_basic_scatter_inter(const void *sbuf, int scount,
return OMPI_ERROR; return OMPI_ERROR;
} }
reqs = coll_base_comm_get_reqs(module->base_data, size); reqs = ompi_coll_base_comm_get_reqs(module->base_data, size);
if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; } if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; }
incr *= scount; incr *= scount;

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

@ -11,6 +11,7 @@
* All rights reserved. * 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) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -144,7 +145,7 @@ mca_coll_basic_scatterv_inter(const void *sbuf, const int *scounts,
return OMPI_ERROR; return OMPI_ERROR;
} }
reqs = coll_base_comm_get_reqs(module->base_data, size); reqs = ompi_coll_base_comm_get_reqs(module->base_data, size);
if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; } if( NULL == reqs ) { return OMPI_ERR_OUT_OF_RESOURCE; }
for (i = 0; i < size; ++i) { for (i = 0; i < size; ++i) {

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

@ -11,6 +11,7 @@
* 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) 2008-2011 University of Houston. All rights reserved. * Copyright (c) 2008-2011 University of Houston. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -47,7 +48,7 @@ OMPI_DECLSPEC int mca_fcoll_base_find_available(bool enable_progress_threads,
OMPI_DECLSPEC int mca_fcoll_base_init_file (struct mca_io_ompio_file_t *file); OMPI_DECLSPEC int mca_fcoll_base_init_file (struct mca_io_ompio_file_t *file);
OMPI_DECLSPEC int mca_fcoll_base_get_param (struct mca_io_ompio_file_t *file, int keyval); OMPI_DECLSPEC int mca_fcoll_base_get_param (struct mca_io_ompio_file_t *file, int keyval);
OMPI_DECLSPEC int fcoll_base_sort_iovec (struct iovec *iov, int num_entries, int *sorted); OMPI_DECLSPEC int ompi_fcoll_base_sort_iovec (struct iovec *iov, int num_entries, int *sorted);
/* /*
* Globals * Globals

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

@ -13,6 +13,7 @@
* Copyright (c) 2008-2016 University of Houston. All rights reserved. * Copyright (c) 2008-2016 University of Houston. All rights reserved.
* Copyright (c) 2017 Research Organization for Information Science * Copyright (c) 2017 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -34,7 +35,7 @@
#include "ompi/mca/common/ompio/common_ompio.h" #include "ompi/mca/common/ompio/common_ompio.h"
int fcoll_base_coll_allgatherv_array (void *sbuf, int ompi_fcoll_base_coll_allgatherv_array (void *sbuf,
int scount, int scount,
ompi_datatype_t *sdtype, ompi_datatype_t *sdtype,
void *rbuf, void *rbuf,
@ -76,7 +77,7 @@ int fcoll_base_coll_allgatherv_array (void *sbuf,
send_type = sdtype; send_type = sdtype;
} }
err = fcoll_base_coll_gatherv_array (send_buf, err = ompi_fcoll_base_coll_gatherv_array (send_buf,
rcounts[j], rcounts[j],
send_type, send_type,
rbuf, rbuf,
@ -104,7 +105,7 @@ int fcoll_base_coll_allgatherv_array (void *sbuf,
return err; return err;
} }
fcoll_base_coll_bcast_array (rbuf, ompi_fcoll_base_coll_bcast_array (rbuf,
1, 1,
newtype, newtype,
root_index, root_index,
@ -117,7 +118,7 @@ int fcoll_base_coll_allgatherv_array (void *sbuf,
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }
int fcoll_base_coll_gatherv_array (void *sbuf, int ompi_fcoll_base_coll_gatherv_array (void *sbuf,
int scount, int scount,
ompi_datatype_t *sdtype, ompi_datatype_t *sdtype,
void *rbuf, void *rbuf,
@ -206,7 +207,7 @@ int fcoll_base_coll_gatherv_array (void *sbuf,
return err; return err;
} }
int fcoll_base_coll_scatterv_array (void *sbuf, int ompi_fcoll_base_coll_scatterv_array (void *sbuf,
int *scounts, int *scounts,
int *disps, int *disps,
ompi_datatype_t *sdtype, ompi_datatype_t *sdtype,
@ -296,7 +297,7 @@ int fcoll_base_coll_scatterv_array (void *sbuf,
return err; return err;
} }
int fcoll_base_coll_allgather_array (void *sbuf, int ompi_fcoll_base_coll_allgather_array (void *sbuf,
int scount, int scount,
ompi_datatype_t *sdtype, ompi_datatype_t *sdtype,
void *rbuf, void *rbuf,
@ -324,7 +325,7 @@ int fcoll_base_coll_allgather_array (void *sbuf,
} }
/* Gather and broadcast. */ /* Gather and broadcast. */
err = fcoll_base_coll_gather_array (sbuf, err = ompi_fcoll_base_coll_gather_array (sbuf,
scount, scount,
sdtype, sdtype,
rbuf, rbuf,
@ -336,7 +337,7 @@ int fcoll_base_coll_allgather_array (void *sbuf,
comm); comm);
if (OMPI_SUCCESS == err) { if (OMPI_SUCCESS == err) {
err = fcoll_base_coll_bcast_array (rbuf, err = ompi_fcoll_base_coll_bcast_array (rbuf,
rcount * procs_per_group, rcount * procs_per_group,
rdtype, rdtype,
root_index, root_index,
@ -349,7 +350,7 @@ int fcoll_base_coll_allgather_array (void *sbuf,
return err; return err;
} }
int fcoll_base_coll_gather_array (void *sbuf, int ompi_fcoll_base_coll_gather_array (void *sbuf,
int scount, int scount,
ompi_datatype_t *sdtype, ompi_datatype_t *sdtype,
void *rbuf, void *rbuf,
@ -439,7 +440,7 @@ int fcoll_base_coll_gather_array (void *sbuf,
return err; return err;
} }
int fcoll_base_coll_bcast_array (void *buff, int ompi_fcoll_base_coll_bcast_array (void *buff,
int count, int count,
ompi_datatype_t *datatype, ompi_datatype_t *datatype,
int root_index, int root_index,

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

@ -13,6 +13,7 @@
* Copyright (c) 2008-2016 University of Houston. All rights reserved. * Copyright (c) 2008-2016 University of Houston. 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) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -41,7 +42,7 @@
* Modified versions of Collective operations * Modified versions of Collective operations
* Based on an array of procs in group * Based on an array of procs in group
*/ */
OMPI_DECLSPEC int fcoll_base_coll_gatherv_array (void *sbuf, OMPI_DECLSPEC int ompi_fcoll_base_coll_gatherv_array (void *sbuf,
int scount, int scount,
ompi_datatype_t *sdtype, ompi_datatype_t *sdtype,
void *rbuf, void *rbuf,
@ -52,7 +53,7 @@ OMPI_DECLSPEC int fcoll_base_coll_gatherv_array (void *sbuf,
int *procs_in_group, int *procs_in_group,
int procs_per_group, int procs_per_group,
ompi_communicator_t *comm); ompi_communicator_t *comm);
OMPI_DECLSPEC int fcoll_base_coll_scatterv_array (void *sbuf, OMPI_DECLSPEC int ompi_fcoll_base_coll_scatterv_array (void *sbuf,
int *scounts, int *scounts,
int *disps, int *disps,
ompi_datatype_t *sdtype, ompi_datatype_t *sdtype,
@ -63,7 +64,7 @@ OMPI_DECLSPEC int fcoll_base_coll_scatterv_array (void *sbuf,
int *procs_in_group, int *procs_in_group,
int procs_per_group, int procs_per_group,
ompi_communicator_t *comm); ompi_communicator_t *comm);
OMPI_DECLSPEC int fcoll_base_coll_allgather_array (void *sbuf, OMPI_DECLSPEC int ompi_fcoll_base_coll_allgather_array (void *sbuf,
int scount, int scount,
ompi_datatype_t *sdtype, ompi_datatype_t *sdtype,
void *rbuf, void *rbuf,
@ -74,7 +75,7 @@ OMPI_DECLSPEC int fcoll_base_coll_allgather_array (void *sbuf,
int procs_per_group, int procs_per_group,
ompi_communicator_t *comm); ompi_communicator_t *comm);
OMPI_DECLSPEC int fcoll_base_coll_allgatherv_array (void *sbuf, OMPI_DECLSPEC int ompi_fcoll_base_coll_allgatherv_array (void *sbuf,
int scount, int scount,
ompi_datatype_t *sdtype, ompi_datatype_t *sdtype,
void *rbuf, void *rbuf,
@ -85,7 +86,7 @@ OMPI_DECLSPEC int fcoll_base_coll_allgatherv_array (void *sbuf,
int *procs_in_group, int *procs_in_group,
int procs_per_group, int procs_per_group,
ompi_communicator_t *comm); ompi_communicator_t *comm);
OMPI_DECLSPEC int fcoll_base_coll_gather_array (void *sbuf, OMPI_DECLSPEC int ompi_fcoll_base_coll_gather_array (void *sbuf,
int scount, int scount,
ompi_datatype_t *sdtype, ompi_datatype_t *sdtype,
void *rbuf, void *rbuf,
@ -95,7 +96,7 @@ OMPI_DECLSPEC int fcoll_base_coll_gather_array (void *sbuf,
int *procs_in_group, int *procs_in_group,
int procs_per_group, int procs_per_group,
ompi_communicator_t *comm); ompi_communicator_t *comm);
OMPI_DECLSPEC int fcoll_base_coll_bcast_array (void *buff, OMPI_DECLSPEC int ompi_fcoll_base_coll_bcast_array (void *buff,
int count, int count,
ompi_datatype_t *datatype, ompi_datatype_t *datatype,
int root_index, int root_index,

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

@ -11,6 +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-2016 University of Houston. All rights reserved. * Copyright (c) 2008-2016 University of Houston. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -23,7 +24,7 @@
#include "ompi/mca/common/ompio/common_ompio.h" #include "ompi/mca/common/ompio/common_ompio.h"
int fcoll_base_sort_iovec (struct iovec *iov, int ompi_fcoll_base_sort_iovec (struct iovec *iov,
int num_entries, int num_entries,
int *sorted) int *sorted)
{ {

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

@ -12,6 +12,7 @@
* Copyright (c) 2008-2015 University of Houston. All rights reserved. * Copyright (c) 2008-2015 University of Houston. All rights reserved.
* Copyright (c) 2017 Research Organization for Information Science * Copyright (c) 2017 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -164,7 +165,7 @@ mca_fcoll_dynamic_file_read_all (mca_io_ompio_file_t *fh,
#if OMPIO_FCOLL_WANT_TIME_BREAKDOWN #if OMPIO_FCOLL_WANT_TIME_BREAKDOWN
start_rcomm_time = MPI_Wtime(); start_rcomm_time = MPI_Wtime();
#endif #endif
ret = fcoll_base_coll_allgather_array (&max_data, ret = ompi_fcoll_base_coll_allgather_array (&max_data,
1, 1,
MPI_LONG, MPI_LONG,
total_bytes_per_process, total_bytes_per_process,
@ -216,7 +217,7 @@ mca_fcoll_dynamic_file_read_all (mca_io_ompio_file_t *fh,
#if OMPIO_FCOLL_WANT_TIME_BREAKDOWN #if OMPIO_FCOLL_WANT_TIME_BREAKDOWN
start_rcomm_time = MPI_Wtime(); start_rcomm_time = MPI_Wtime();
#endif #endif
ret = fcoll_base_coll_allgather_array (&local_count, ret = ompi_fcoll_base_coll_allgather_array (&local_count,
1, 1,
MPI_INT, MPI_INT,
fview_count, fview_count,
@ -274,7 +275,7 @@ mca_fcoll_dynamic_file_read_all (mca_io_ompio_file_t *fh,
#if OMPIO_FCOLL_WANT_TIME_BREAKDOWN #if OMPIO_FCOLL_WANT_TIME_BREAKDOWN
start_rcomm_time = MPI_Wtime(); start_rcomm_time = MPI_Wtime();
#endif #endif
ret = fcoll_base_coll_allgatherv_array (local_iov_array, ret = ompi_fcoll_base_coll_allgatherv_array (local_iov_array,
local_count, local_count,
fh->f_iov_type, fh->f_iov_type,
global_iov_array, global_iov_array,
@ -309,7 +310,7 @@ mca_fcoll_dynamic_file_read_all (mca_io_ompio_file_t *fh,
ret = OMPI_ERR_OUT_OF_RESOURCE; ret = OMPI_ERR_OUT_OF_RESOURCE;
goto exit; goto exit;
} }
fcoll_base_sort_iovec (global_iov_array, total_fview_count, sorted); ompi_fcoll_base_sort_iovec (global_iov_array, total_fview_count, sorted);
} }
if (NULL != local_iov_array) { if (NULL != local_iov_array) {

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

@ -12,6 +12,7 @@
* Copyright (c) 2008-2015 University of Houston. All rights reserved. * Copyright (c) 2008-2015 University of Houston. All rights reserved.
* Copyright (c) 2015-2017 Research Organization for Information Science * Copyright (c) 2015-2017 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -168,7 +169,7 @@ mca_fcoll_dynamic_file_write_all (mca_io_ompio_file_t *fh,
#if OMPIO_FCOLL_WANT_TIME_BREAKDOWN #if OMPIO_FCOLL_WANT_TIME_BREAKDOWN
start_comm_time = MPI_Wtime(); start_comm_time = MPI_Wtime();
#endif #endif
ret = fcoll_base_coll_allgather_array (&max_data, ret = ompi_fcoll_base_coll_allgather_array (&max_data,
1, 1,
MPI_LONG, MPI_LONG,
total_bytes_per_process, total_bytes_per_process,
@ -231,7 +232,7 @@ mca_fcoll_dynamic_file_write_all (mca_io_ompio_file_t *fh,
#if OMPIO_FCOLL_WANT_TIME_BREAKDOWN #if OMPIO_FCOLL_WANT_TIME_BREAKDOWN
start_comm_time = MPI_Wtime(); start_comm_time = MPI_Wtime();
#endif #endif
ret = fcoll_base_coll_allgather_array (&local_count, ret = ompi_fcoll_base_coll_allgather_array (&local_count,
1, 1,
MPI_INT, MPI_INT,
fview_count, fview_count,
@ -293,7 +294,7 @@ mca_fcoll_dynamic_file_write_all (mca_io_ompio_file_t *fh,
#if OMPIO_FCOLL_WANT_TIME_BREAKDOWN #if OMPIO_FCOLL_WANT_TIME_BREAKDOWN
start_comm_time = MPI_Wtime(); start_comm_time = MPI_Wtime();
#endif #endif
ret = fcoll_base_coll_allgatherv_array (local_iov_array, ret = ompi_fcoll_base_coll_allgatherv_array (local_iov_array,
local_count, local_count,
fh->f_iov_type, fh->f_iov_type,
global_iov_array, global_iov_array,
@ -327,7 +328,7 @@ mca_fcoll_dynamic_file_write_all (mca_io_ompio_file_t *fh,
ret = OMPI_ERR_OUT_OF_RESOURCE; ret = OMPI_ERR_OUT_OF_RESOURCE;
goto exit; goto exit;
} }
fcoll_base_sort_iovec (global_iov_array, total_fview_count, sorted); ompi_fcoll_base_sort_iovec (global_iov_array, total_fview_count, sorted);
} }
if (NULL != local_iov_array){ if (NULL != local_iov_array){

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

@ -12,6 +12,7 @@
* Copyright (c) 2008-2015 University of Houston. All rights reserved. * Copyright (c) 2008-2015 University of Houston. All rights reserved.
* Copyright (c) 2017 Research Organization for Information Science * Copyright (c) 2017 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -164,7 +165,7 @@ mca_fcoll_dynamic_gen2_file_read_all (mca_io_ompio_file_t *fh,
#if OMPIO_FCOLL_WANT_TIME_BREAKDOWN #if OMPIO_FCOLL_WANT_TIME_BREAKDOWN
start_rcomm_time = MPI_Wtime(); start_rcomm_time = MPI_Wtime();
#endif #endif
ret = fcoll_base_coll_allgather_array (&max_data, ret = ompi_fcoll_base_coll_allgather_array (&max_data,
1, 1,
MPI_LONG, MPI_LONG,
total_bytes_per_process, total_bytes_per_process,
@ -216,7 +217,7 @@ mca_fcoll_dynamic_gen2_file_read_all (mca_io_ompio_file_t *fh,
#if OMPIO_FCOLL_WANT_TIME_BREAKDOWN #if OMPIO_FCOLL_WANT_TIME_BREAKDOWN
start_rcomm_time = MPI_Wtime(); start_rcomm_time = MPI_Wtime();
#endif #endif
ret = fcoll_base_coll_allgather_array (&local_count, ret = ompi_fcoll_base_coll_allgather_array (&local_count,
1, 1,
MPI_INT, MPI_INT,
fview_count, fview_count,
@ -274,7 +275,7 @@ mca_fcoll_dynamic_gen2_file_read_all (mca_io_ompio_file_t *fh,
#if OMPIO_FCOLL_WANT_TIME_BREAKDOWN #if OMPIO_FCOLL_WANT_TIME_BREAKDOWN
start_rcomm_time = MPI_Wtime(); start_rcomm_time = MPI_Wtime();
#endif #endif
ret = fcoll_base_coll_allgatherv_array (local_iov_array, ret = ompi_fcoll_base_coll_allgatherv_array (local_iov_array,
local_count, local_count,
fh->f_iov_type, fh->f_iov_type,
global_iov_array, global_iov_array,
@ -309,7 +310,7 @@ mca_fcoll_dynamic_gen2_file_read_all (mca_io_ompio_file_t *fh,
ret = OMPI_ERR_OUT_OF_RESOURCE; ret = OMPI_ERR_OUT_OF_RESOURCE;
goto exit; goto exit;
} }
fcoll_base_sort_iovec (global_iov_array, total_fview_count, sorted); ompi_fcoll_base_sort_iovec (global_iov_array, total_fview_count, sorted);
} }
if (NULL != local_iov_array) { if (NULL != local_iov_array) {

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

@ -12,6 +12,7 @@
* Copyright (c) 2008-2016 University of Houston. All rights reserved. * Copyright (c) 2008-2016 University of Houston. All rights reserved.
* Copyright (c) 2015-2017 Research Organization for Information Science * Copyright (c) 2015-2017 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -274,7 +275,7 @@ int mca_fcoll_dynamic_gen2_file_write_all (mca_io_ompio_file_t *fh,
fh->f_comm->c_coll->coll_allgather_module); fh->f_comm->c_coll->coll_allgather_module);
} }
else { else {
ret = fcoll_base_coll_allgather_array (broken_total_lengths, ret = ompi_fcoll_base_coll_allgather_array (broken_total_lengths,
dynamic_gen2_num_io_procs, dynamic_gen2_num_io_procs,
MPI_LONG, MPI_LONG,
total_bytes_per_process, total_bytes_per_process,
@ -333,7 +334,7 @@ int mca_fcoll_dynamic_gen2_file_write_all (mca_io_ompio_file_t *fh,
fh->f_comm->c_coll->coll_allgather_module); fh->f_comm->c_coll->coll_allgather_module);
} }
else { else {
ret = fcoll_base_coll_allgather_array (broken_counts, ret = ompi_fcoll_base_coll_allgather_array (broken_counts,
dynamic_gen2_num_io_procs, dynamic_gen2_num_io_procs,
MPI_INT, MPI_INT,
result_counts, result_counts,
@ -420,7 +421,7 @@ int mca_fcoll_dynamic_gen2_file_write_all (mca_io_ompio_file_t *fh,
fh->f_comm->c_coll->coll_allgatherv_module ); fh->f_comm->c_coll->coll_allgatherv_module );
} }
else { else {
ret = fcoll_base_coll_allgatherv_array (broken_iov_arrays[i], ret = ompi_fcoll_base_coll_allgatherv_array (broken_iov_arrays[i],
broken_counts[i], broken_counts[i],
fh->f_iov_type, fh->f_iov_type,
aggr_data[i]->global_iov_array, aggr_data[i]->global_iov_array,
@ -455,7 +456,7 @@ int mca_fcoll_dynamic_gen2_file_write_all (mca_io_ompio_file_t *fh,
ret = OMPI_ERR_OUT_OF_RESOURCE; ret = OMPI_ERR_OUT_OF_RESOURCE;
goto exit; goto exit;
} }
fcoll_base_sort_iovec (aggr_data[i]->global_iov_array, total_fview_count, aggr_data[i]->sorted); ompi_fcoll_base_sort_iovec (aggr_data[i]->global_iov_array, total_fview_count, aggr_data[i]->sorted);
} }
if (NULL != local_iov_array){ if (NULL != local_iov_array){

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

@ -14,6 +14,7 @@
* Copyright (c) 2017 Research Organization for Information Science * Copyright (c) 2017 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* *
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -294,7 +295,7 @@ mca_fcoll_static_file_read_all (mca_io_ompio_file_t *fh,
#if OMPIO_FCOLL_WANT_TIME_BREAKDOWN #if OMPIO_FCOLL_WANT_TIME_BREAKDOWN
start_rexch = MPI_Wtime(); start_rexch = MPI_Wtime();
#endif #endif
ret = fcoll_base_coll_allgather_array (&iov_size, ret = ompi_fcoll_base_coll_allgather_array (&iov_size,
1, 1,
MPI_INT, MPI_INT,
iovec_count_per_process, iovec_count_per_process,
@ -337,7 +338,7 @@ mca_fcoll_static_file_read_all (mca_io_ompio_file_t *fh,
#if OMPIO_FCOLL_WANT_TIME_BREAKDOWN #if OMPIO_FCOLL_WANT_TIME_BREAKDOWN
start_rexch = MPI_Wtime(); start_rexch = MPI_Wtime();
#endif #endif
ret = fcoll_base_coll_gatherv_array (local_iov_array, ret = ompi_fcoll_base_coll_gatherv_array (local_iov_array,
iov_size, iov_size,
io_array_type, io_array_type,
global_iov_array, global_iov_array,
@ -496,7 +497,7 @@ mca_fcoll_static_file_read_all (mca_io_ompio_file_t *fh,
#if OMPIO_FCOLL_WANT_TIME_BREAKDOWN #if OMPIO_FCOLL_WANT_TIME_BREAKDOWN
start_rexch = MPI_Wtime(); start_rexch = MPI_Wtime();
#endif #endif
fcoll_base_coll_gather_array (&bytes_to_read_in_cycle, ompi_fcoll_base_coll_gather_array (&bytes_to_read_in_cycle,
1, 1,
MPI_INT, MPI_INT,
bytes_per_process, bytes_per_process,

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

@ -13,6 +13,7 @@
* Copyright (c) 2015 Los Alamos National Security, LLC. All rights reserved. * Copyright (c) 2015 Los Alamos National Security, LLC. All rights reserved.
* Copyright (c) 2015-2017 Research Organization for Information Science * Copyright (c) 2015-2017 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -295,7 +296,7 @@ mca_fcoll_static_file_write_all (mca_io_ompio_file_t *fh,
#if OMPIO_FCOLL_WANT_TIME_BREAKDOWN #if OMPIO_FCOLL_WANT_TIME_BREAKDOWN
start_exch = MPI_Wtime(); start_exch = MPI_Wtime();
#endif #endif
ret = fcoll_base_coll_allgather_array (&iov_size, ret = ompi_fcoll_base_coll_allgather_array (&iov_size,
1, 1,
MPI_INT, MPI_INT,
iovec_count_per_process, iovec_count_per_process,
@ -339,7 +340,7 @@ mca_fcoll_static_file_write_all (mca_io_ompio_file_t *fh,
#if OMPIO_FCOLL_WANT_TIME_BREAKDOWN #if OMPIO_FCOLL_WANT_TIME_BREAKDOWN
start_exch = MPI_Wtime(); start_exch = MPI_Wtime();
#endif #endif
ret = fcoll_base_coll_gatherv_array (local_iov_array, ret = ompi_fcoll_base_coll_gatherv_array (local_iov_array,
iov_size, iov_size,
io_array_type, io_array_type,
global_iov_array, global_iov_array,
@ -500,7 +501,7 @@ mca_fcoll_static_file_write_all (mca_io_ompio_file_t *fh,
start_exch = MPI_Wtime(); start_exch = MPI_Wtime();
#endif #endif
/* gather from each process how many bytes each will be sending */ /* gather from each process how many bytes each will be sending */
ret = fcoll_base_coll_gather_array (&bytes_to_write_in_cycle, ret = ompi_fcoll_base_coll_gather_array (&bytes_to_write_in_cycle,
1, 1,
MPI_INT, MPI_INT,
bytes_per_process, bytes_per_process,

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

@ -15,6 +15,7 @@
* Copyright (c) 2012-2013 Inria. All rights reserved. * Copyright (c) 2012-2013 Inria. All rights reserved.
* Copyright (c) 2015-2017 Research Organization for Information Science * Copyright (c) 2015-2017 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -921,7 +922,7 @@ int mca_io_ompio_merge_groups(mca_io_ompio_file_t *fh,
//merge_aggrs[0] is considered the new aggregator //merge_aggrs[0] is considered the new aggregator
//New aggregator collects group sizes of the groups to be merged //New aggregator collects group sizes of the groups to be merged
ret = fcoll_base_coll_allgather_array (&fh->f_init_procs_per_group, ret = ompi_fcoll_base_coll_allgather_array (&fh->f_init_procs_per_group,
1, 1,
MPI_INT, MPI_INT,
sizes_old_group, sizes_old_group,
@ -957,7 +958,7 @@ int mca_io_ompio_merge_groups(mca_io_ompio_file_t *fh,
//New aggregator also collects the grouping distribution //New aggregator also collects the grouping distribution
//This is the actual merge //This is the actual merge
//use allgatherv array //use allgatherv array
ret = fcoll_base_coll_allgatherv_array (fh->f_init_procs_in_group, ret = ompi_fcoll_base_coll_allgatherv_array (fh->f_init_procs_in_group,
fh->f_init_procs_per_group, fh->f_init_procs_per_group,
MPI_INT, MPI_INT,
fh->f_procs_in_group, fh->f_procs_in_group,
@ -1140,7 +1141,7 @@ int mca_io_ompio_prepare_to_group(mca_io_ompio_file_t *fh,
} }
//Gather start offsets across processes in a group on aggregator //Gather start offsets across processes in a group on aggregator
ret = fcoll_base_coll_allgather_array (start_offset_len, ret = ompi_fcoll_base_coll_allgather_array (start_offset_len,
3, 3,
OMPI_OFFSET_DATATYPE, OMPI_OFFSET_DATATYPE,
start_offsets_lens_tmp, start_offsets_lens_tmp,
@ -1151,7 +1152,7 @@ int mca_io_ompio_prepare_to_group(mca_io_ompio_file_t *fh,
fh->f_init_procs_per_group, fh->f_init_procs_per_group,
fh->f_comm); fh->f_comm);
if ( OMPI_SUCCESS != ret ) { if ( OMPI_SUCCESS != ret ) {
opal_output (1, "mca_io_ompio_prepare_to_grou[: error in fcoll_base_coll_allgather_array\n"); opal_output (1, "mca_io_ompio_prepare_to_grou[: error in ompi_fcoll_base_coll_allgather_array\n");
goto exit; goto exit;
} }
end_offsets_tmp = (OMPI_MPI_OFFSET_TYPE* )malloc (fh->f_init_procs_per_group * sizeof(OMPI_MPI_OFFSET_TYPE)); end_offsets_tmp = (OMPI_MPI_OFFSET_TYPE* )malloc (fh->f_init_procs_per_group * sizeof(OMPI_MPI_OFFSET_TYPE));
@ -1191,7 +1192,7 @@ int mca_io_ompio_prepare_to_group(mca_io_ompio_file_t *fh,
goto exit; goto exit;
} }
//Communicate bytes per group between all aggregators //Communicate bytes per group between all aggregators
ret = fcoll_base_coll_allgather_array (bytes_per_group, ret = ompi_fcoll_base_coll_allgather_array (bytes_per_group,
1, 1,
OMPI_OFFSET_DATATYPE, OMPI_OFFSET_DATATYPE,
aggr_bytes_per_group_tmp, aggr_bytes_per_group_tmp,
@ -1202,7 +1203,7 @@ int mca_io_ompio_prepare_to_group(mca_io_ompio_file_t *fh,
fh->f_init_num_aggrs, fh->f_init_num_aggrs,
fh->f_comm); fh->f_comm);
if ( OMPI_SUCCESS != ret ) { if ( OMPI_SUCCESS != ret ) {
opal_output (1, "mca_io_ompio_prepare_to_grou[: error in fcoll_base_coll_allgather_array 2\n"); opal_output (1, "mca_io_ompio_prepare_to_grou[: error in ompi_fcoll_base_coll_allgather_array 2\n");
free(decision_list_tmp); free(decision_list_tmp);
goto exit; goto exit;
} }
@ -1276,7 +1277,7 @@ int mca_io_ompio_prepare_to_group(mca_io_ompio_file_t *fh,
*decision_list = &decision_list_tmp[0]; *decision_list = &decision_list_tmp[0];
} }
//Communicate flag to all group members //Communicate flag to all group members
ret = fcoll_base_coll_bcast_array (ompio_grouping_flag, ret = ompi_fcoll_base_coll_bcast_array (ompio_grouping_flag,
1, 1,
MPI_INT, MPI_INT,
0, 0,

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

@ -7,6 +7,7 @@
* reserved. * 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) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -100,7 +101,7 @@ static int mca_pml_v_component_register(void)
static int mca_pml_v_component_open(void) static int mca_pml_v_component_open(void)
{ {
int rc; int rc;
pml_v_output_open(ompi_pml_v_output, ompi_pml_v_verbose); ompi_pml_v_output_open(ompi_pml_v_output, ompi_pml_v_verbose);
V_OUTPUT_VERBOSE(500, "loaded"); V_OUTPUT_VERBOSE(500, "loaded");
@ -111,7 +112,7 @@ static int mca_pml_v_component_open(void)
} }
if( NULL == mca_vprotocol_base_include_list ) { if( NULL == mca_vprotocol_base_include_list ) {
pml_v_output_close(); ompi_pml_v_output_close();
return mca_base_framework_close(&ompi_vprotocol_base_framework); return mca_base_framework_close(&ompi_vprotocol_base_framework);
} }
@ -136,7 +137,7 @@ static int mca_pml_v_component_close(void)
} }
/* Make sure to close out output even if vprotocol isn't in use */ /* Make sure to close out output even if vprotocol isn't in use */
pml_v_output_close (); ompi_pml_v_output_close ();
/* Mark that we have changed something */ /* Mark that we have changed something */
snprintf(mca_pml_base_selected_component.pmlm_version.mca_component_name, snprintf(mca_pml_base_selected_component.pmlm_version.mca_component_name,
@ -188,7 +189,7 @@ static int mca_pml_v_component_parasite_close(void)
mca_pml_base_selected_component = mca_pml_v.host_pml_component; mca_pml_base_selected_component = mca_pml_v.host_pml_component;
(void) mca_base_framework_close(&ompi_vprotocol_base_framework); (void) mca_base_framework_close(&ompi_vprotocol_base_framework);
pml_v_output_close(); ompi_pml_v_output_close();
mca_pml.pml_enable = mca_pml_v.host_pml.pml_enable; mca_pml.pml_enable = mca_pml_v.host_pml.pml_enable;
/* don't need to call the host component's close: pml_base will do it */ /* don't need to call the host component's close: pml_base will do it */

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

@ -1,6 +1,7 @@
/* /*
* Copyright (c) 2004-2007 The Trustees of the University of Tennessee. * Copyright (c) 2004-2007 The Trustees of the University of Tennessee.
* All rights reserved. * All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -19,7 +20,7 @@
#endif #endif
#include <string.h> #include <string.h>
int pml_v_output_open(char *output, int verbosity) { int ompi_pml_v_output_open(char *output, int verbosity) {
opal_output_stream_t lds; opal_output_stream_t lds;
char hostname[OPAL_MAXHOSTNAMELEN] = "NA"; char hostname[OPAL_MAXHOSTNAMELEN] = "NA";
@ -49,7 +50,7 @@ int pml_v_output_open(char *output, int verbosity) {
return mca_pml_v.output; return mca_pml_v.output;
} }
void pml_v_output_close(void) { void ompi_pml_v_output_close(void) {
opal_output_close(mca_pml_v.output); opal_output_close(mca_pml_v.output);
mca_pml_v.output = -1; mca_pml_v.output = -1;
} }

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

@ -1,6 +1,7 @@
/* /*
* Copyright (c) 2004-2007 The Trustees of the University of Tennessee. * Copyright (c) 2004-2007 The Trustees of the University of Tennessee.
* All rights reserved. * All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -18,8 +19,8 @@
BEGIN_C_DECLS BEGIN_C_DECLS
int pml_v_output_open(char *output, int verbosity); int ompi_pml_v_output_open(char *output, int verbosity);
void pml_v_output_close(void); void ompi_pml_v_output_close(void);
static inline void V_OUTPUT_ERR(const char *fmt, ... ) __opal_attribute_format__(__printf__, 1, 2); static inline void V_OUTPUT_ERR(const char *fmt, ... ) __opal_attribute_format__(__printf__, 1, 2);
static inline void V_OUTPUT_ERR(const char *fmt, ... ) static inline void V_OUTPUT_ERR(const char *fmt, ... )

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

@ -12,6 +12,7 @@
* Copyright (c) 2007-2012 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2007-2012 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2015-2017 Research Organization for Information Science * Copyright (c) 2015-2017 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -95,12 +96,12 @@ typedef struct intercept_extra_state {
ompi_mpi2_fortran_datarep_conversion_fn_t *write_fn_f77; ompi_mpi2_fortran_datarep_conversion_fn_t *write_fn_f77;
ompi_mpi2_fortran_datarep_extent_fn_t *extent_fn_f77; ompi_mpi2_fortran_datarep_extent_fn_t *extent_fn_f77;
MPI_Aint *extra_state_f77; MPI_Aint *extra_state_f77;
} intercept_extra_state_t; } ompi_intercept_extra_state_t;
OBJ_CLASS_DECLARATION(intercept_extra_state_t); OBJ_CLASS_DECLARATION(ompi_intercept_extra_state_t);
#if !OMPI_BUILD_MPI_PROFILING || OPAL_HAVE_WEAK_SYMBOLS #if !OMPI_BUILD_MPI_PROFILING || OPAL_HAVE_WEAK_SYMBOLS
static void intercept_extra_state_constructor(intercept_extra_state_t *obj) static void intercept_extra_state_constructor(ompi_intercept_extra_state_t *obj)
{ {
obj->read_fn_f77 = NULL; obj->read_fn_f77 = NULL;
obj->write_fn_f77 = NULL; obj->write_fn_f77 = NULL;
@ -108,7 +109,7 @@ static void intercept_extra_state_constructor(intercept_extra_state_t *obj)
obj->extra_state_f77 = NULL; obj->extra_state_f77 = NULL;
} }
OBJ_CLASS_INSTANCE(intercept_extra_state_t, OBJ_CLASS_INSTANCE(ompi_intercept_extra_state_t,
opal_list_item_t, opal_list_item_t,
intercept_extra_state_constructor, NULL); intercept_extra_state_constructor, NULL);
#endif /* !OMPI_BUILD_MPI_PROFILING */ #endif /* !OMPI_BUILD_MPI_PROFILING */
@ -137,10 +138,10 @@ void ompi_register_datarep_f(char *datarep,
char *c_datarep; char *c_datarep;
int c_ierr, ret; int c_ierr, ret;
MPI_Datarep_conversion_function *read_fn_c, *write_fn_c; MPI_Datarep_conversion_function *read_fn_c, *write_fn_c;
intercept_extra_state_t *intercept; ompi_intercept_extra_state_t *intercept;
/* Malloc space for the intercept callback data */ /* Malloc space for the intercept callback data */
intercept = OBJ_NEW(intercept_extra_state_t); intercept = OBJ_NEW(ompi_intercept_extra_state_t);
if (NULL == intercept) { if (NULL == intercept) {
c_ierr = OMPI_ERRHANDLER_INVOKE(MPI_FILE_NULL, c_ierr = OMPI_ERRHANDLER_INVOKE(MPI_FILE_NULL,
OMPI_ERR_OUT_OF_RESOURCE, FUNC_NAME); OMPI_ERR_OUT_OF_RESOURCE, FUNC_NAME);
@ -210,8 +211,8 @@ static int read_intercept_fn(void *userbuf, MPI_Datatype type_c, int count_c,
{ {
MPI_Fint ierr, count_f77 = OMPI_FINT_2_INT(count_c); MPI_Fint ierr, count_f77 = OMPI_FINT_2_INT(count_c);
MPI_Fint type_f77 = PMPI_Type_c2f(type_c); MPI_Fint type_f77 = PMPI_Type_c2f(type_c);
intercept_extra_state_t *intercept_data = ompi_intercept_extra_state_t *intercept_data =
(intercept_extra_state_t*) extra_state; (ompi_intercept_extra_state_t*) extra_state;
intercept_data->read_fn_f77((char *) userbuf, &type_f77, &count_f77, (char *) filebuf, intercept_data->read_fn_f77((char *) userbuf, &type_f77, &count_f77, (char *) filebuf,
&position, intercept_data->extra_state_f77, &position, intercept_data->extra_state_f77,
@ -228,8 +229,8 @@ static int write_intercept_fn(void *userbuf, MPI_Datatype type_c, int count_c,
{ {
MPI_Fint ierr, count_f77 = OMPI_FINT_2_INT(count_c); MPI_Fint ierr, count_f77 = OMPI_FINT_2_INT(count_c);
MPI_Fint type_f77 = PMPI_Type_c2f(type_c); MPI_Fint type_f77 = PMPI_Type_c2f(type_c);
intercept_extra_state_t *intercept_data = ompi_intercept_extra_state_t *intercept_data =
(intercept_extra_state_t*) extra_state; (ompi_intercept_extra_state_t*) extra_state;
intercept_data->write_fn_f77((char *) userbuf, &type_f77, &count_f77, (char *) filebuf, intercept_data->write_fn_f77((char *) userbuf, &type_f77, &count_f77, (char *) filebuf,
&position, intercept_data->extra_state_f77, &position, intercept_data->extra_state_f77,
@ -244,8 +245,8 @@ static int extent_intercept_fn(MPI_Datatype type_c, MPI_Aint *file_extent_f77,
void *extra_state) void *extra_state)
{ {
MPI_Fint ierr, type_f77 = PMPI_Type_c2f(type_c); MPI_Fint ierr, type_f77 = PMPI_Type_c2f(type_c);
intercept_extra_state_t *intercept_data = ompi_intercept_extra_state_t *intercept_data =
(intercept_extra_state_t*) extra_state; (ompi_intercept_extra_state_t*) extra_state;
intercept_data->extent_fn_f77(&type_f77, file_extent_f77, intercept_data->extent_fn_f77(&type_f77, file_extent_f77,
intercept_data->extra_state_f77, &ierr); intercept_data->extra_state_f77, &ierr);

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

@ -3,6 +3,7 @@
* Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights * Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -27,9 +28,9 @@ int MPI_T_category_changed(int *stamp)
return MPI_T_ERR_NOT_INITIALIZED; return MPI_T_ERR_NOT_INITIALIZED;
} }
mpit_lock (); ompi_mpit_lock ();
*stamp = mca_base_var_group_get_stamp (); *stamp = mca_base_var_group_get_stamp ();
mpit_unlock (); ompi_mpit_unlock ();
return MPI_SUCCESS; return MPI_SUCCESS;
} }

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

@ -3,6 +3,7 @@
* Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights * Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -32,7 +33,7 @@ int MPI_T_category_get_categories(int cat_index, int len, int indices[])
return MPI_T_ERR_NOT_INITIALIZED; return MPI_T_ERR_NOT_INITIALIZED;
} }
mpit_lock (); ompi_mpit_lock ();
do { do {
rc = mca_base_var_group_get (cat_index, &group); rc = mca_base_var_group_get (cat_index, &group);
@ -49,7 +50,7 @@ int MPI_T_category_get_categories(int cat_index, int len, int indices[])
} }
} while (0); } while (0);
mpit_unlock (); ompi_mpit_unlock ();
return rc; return rc;
} }

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

@ -3,6 +3,7 @@
* Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights * Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -32,7 +33,7 @@ int MPI_T_category_get_cvars(int cat_index, int len, int indices[])
return MPI_T_ERR_NOT_INITIALIZED; return MPI_T_ERR_NOT_INITIALIZED;
} }
mpit_lock (); ompi_mpit_lock ();
do { do {
rc = mca_base_var_group_get (cat_index, &group); rc = mca_base_var_group_get (cat_index, &group);
@ -49,7 +50,7 @@ int MPI_T_category_get_cvars(int cat_index, int len, int indices[])
} }
} while (0); } while (0);
mpit_unlock (); ompi_mpit_unlock ();
return rc; return rc;
} }

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

@ -3,6 +3,7 @@
* Copyright (c) 2012-2014 Los Alamos National Security, LLC. All rights * Copyright (c) 2012-2014 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -33,9 +34,9 @@ int MPI_T_category_get_index (const char *name, int *category_index)
return MPI_ERR_ARG; return MPI_ERR_ARG;
} }
mpit_lock (); ompi_mpit_lock ();
ret = mca_base_var_group_find_by_name (name, category_index); ret = mca_base_var_group_find_by_name (name, category_index);
mpit_unlock (); ompi_mpit_unlock ();
if (OPAL_SUCCESS != ret) { if (OPAL_SUCCESS != ret) {
return MPI_T_ERR_INVALID_NAME; return MPI_T_ERR_INVALID_NAME;
} }

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

@ -3,6 +3,7 @@
* Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights * Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -32,7 +33,7 @@ int MPI_T_category_get_info(int cat_index, char *name, int *name_len,
return MPI_T_ERR_NOT_INITIALIZED; return MPI_T_ERR_NOT_INITIALIZED;
} }
mpit_lock (); ompi_mpit_lock ();
do { do {
rc = mca_base_var_group_get (cat_index, &group); rc = mca_base_var_group_get (cat_index, &group);
@ -57,7 +58,7 @@ int MPI_T_category_get_info(int cat_index, char *name, int *name_len,
mpit_copy_string (desc, desc_len, group->group_description); mpit_copy_string (desc, desc_len, group->group_description);
} while (0); } while (0);
mpit_unlock (); ompi_mpit_unlock ();
return rc; return rc;
} }

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

@ -3,6 +3,7 @@
* Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights * Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -31,9 +32,9 @@ int MPI_T_category_get_num (int *num_cat)
return MPI_ERR_ARG; return MPI_ERR_ARG;
} }
mpit_lock (); ompi_mpit_lock ();
*num_cat = mca_base_var_group_get_count (); *num_cat = mca_base_var_group_get_count ();
mpit_unlock (); ompi_mpit_unlock ();
return MPI_SUCCESS; return MPI_SUCCESS;
} }

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

@ -3,6 +3,7 @@
* Copyright (c) 2012-213 Los Alamos National Security, LLC. All rights * Copyright (c) 2012-213 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -32,7 +33,7 @@ int MPI_T_category_get_pvars(int cat_index, int len, int indices[])
return MPI_T_ERR_NOT_INITIALIZED; return MPI_T_ERR_NOT_INITIALIZED;
} }
mpit_lock (); ompi_mpit_lock ();
do { do {
rc = mca_base_var_group_get (cat_index, &group); rc = mca_base_var_group_get (cat_index, &group);
@ -49,7 +50,7 @@ int MPI_T_category_get_pvars(int cat_index, int len, int indices[])
} }
} while (0); } while (0);
mpit_unlock (); ompi_mpit_unlock ();
return rc; return rc;
} }

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

@ -3,6 +3,7 @@
* Copyright (c) 2012-2014 Los Alamos National Security, LLC. All rights * Copyright (c) 2012-2014 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -33,9 +34,9 @@ int MPI_T_cvar_get_index (const char *name, int *cvar_index)
return MPI_ERR_ARG; return MPI_ERR_ARG;
} }
mpit_lock (); ompi_mpit_lock ();
ret = mca_base_var_find_by_name (name, cvar_index); ret = mca_base_var_find_by_name (name, cvar_index);
mpit_unlock (); ompi_mpit_unlock ();
if (OPAL_SUCCESS != ret) { if (OPAL_SUCCESS != ret) {
return MPI_T_ERR_INVALID_NAME; return MPI_T_ERR_INVALID_NAME;
} }

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

@ -3,6 +3,7 @@
* Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights * Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -32,7 +33,7 @@ int MPI_T_cvar_get_info(int cvar_index, char *name, int *name_len, int *verbosit
return MPI_T_ERR_NOT_INITIALIZED; return MPI_T_ERR_NOT_INITIALIZED;
} }
mpit_lock (); ompi_mpit_lock ();
do { do {
rc = mca_base_var_get (cvar_index, &var); rc = mca_base_var_get (cvar_index, &var);
@ -69,7 +70,7 @@ int MPI_T_cvar_get_info(int cvar_index, char *name, int *name_len, int *verbosit
} }
} while (0); } while (0);
mpit_unlock (); ompi_mpit_unlock ();
return rc; return rc;
} }

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

@ -3,6 +3,7 @@
* Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights * Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -30,9 +31,9 @@ int MPI_T_cvar_get_num (int *num_cvar) {
return MPI_ERR_ARG; return MPI_ERR_ARG;
} }
mpit_lock (); ompi_mpit_lock ();
*num_cvar = mca_base_var_get_count(); *num_cvar = mca_base_var_get_count();
mpit_unlock (); ompi_mpit_unlock ();
return MPI_SUCCESS; return MPI_SUCCESS;
} }

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

@ -3,6 +3,7 @@
* Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights * Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -35,7 +36,7 @@ int MPI_T_cvar_handle_alloc (int cvar_index, void *obj_handle,
return MPI_ERR_ARG; return MPI_ERR_ARG;
} }
mpit_lock (); ompi_mpit_lock ();
*handle = NULL; *handle = NULL;
@ -68,7 +69,7 @@ int MPI_T_cvar_handle_alloc (int cvar_index, void *obj_handle,
*handle = (MPI_T_cvar_handle) new_handle; *handle = (MPI_T_cvar_handle) new_handle;
} while (0); } while (0);
mpit_unlock (); ompi_mpit_unlock ();
return rc; return rc;
} }

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

@ -4,6 +4,7 @@
* reserved. * reserved.
* Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2016 Intel, Inc. All rights reserved. * Copyright (c) 2016 Intel, Inc. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -35,7 +36,7 @@ int MPI_T_cvar_read (MPI_T_cvar_handle handle, void *buf)
return MPI_ERR_ARG; return MPI_ERR_ARG;
} }
mpit_lock (); ompi_mpit_lock ();
do { do {
rc = mca_base_var_get_value(handle->var->mbv_index, &value, NULL, NULL); rc = mca_base_var_get_value(handle->var->mbv_index, &value, NULL, NULL);
@ -78,7 +79,7 @@ int MPI_T_cvar_read (MPI_T_cvar_handle handle, void *buf)
} }
} while (0); } while (0);
mpit_unlock (); ompi_mpit_unlock ();
return rc; return rc;
} }

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

@ -3,6 +3,7 @@
* Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights * Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -33,7 +34,7 @@ int MPI_T_cvar_write (MPI_T_cvar_handle handle, const void *buf)
return MPI_ERR_ARG; return MPI_ERR_ARG;
} }
mpit_lock (); ompi_mpit_lock ();
do { do {
if (MCA_BASE_VAR_SCOPE_CONSTANT == handle->var->mbv_scope || if (MCA_BASE_VAR_SCOPE_CONSTANT == handle->var->mbv_scope ||
@ -53,7 +54,7 @@ int MPI_T_cvar_write (MPI_T_cvar_handle handle, const void *buf)
} }
} while (0); } while (0);
mpit_unlock (); ompi_mpit_unlock ();
return rc; return rc;
} }

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

@ -3,6 +3,7 @@
* Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights * Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -29,7 +30,7 @@ int MPI_T_enum_get_info(MPI_T_enum enumtype, int *num, char *name, int *name_len
return MPI_T_ERR_NOT_INITIALIZED; return MPI_T_ERR_NOT_INITIALIZED;
} }
mpit_lock (); ompi_mpit_lock ();
do { do {
if (num) { if (num) {
@ -43,7 +44,7 @@ int MPI_T_enum_get_info(MPI_T_enum enumtype, int *num, char *name, int *name_len
mpit_copy_string (name, name_len, enumtype->enum_name); mpit_copy_string (name, name_len, enumtype->enum_name);
} while (0); } while (0);
mpit_unlock (); ompi_mpit_unlock ();
return rc; return rc;
} }

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

@ -3,6 +3,7 @@
* Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights * Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -31,7 +32,7 @@ int MPI_T_enum_get_item(MPI_T_enum enumtype, int index, int *value, char *name,
return MPI_T_ERR_NOT_INITIALIZED; return MPI_T_ERR_NOT_INITIALIZED;
} }
mpit_lock (); ompi_mpit_lock ();
do { do {
rc = enumtype->get_count (enumtype, &count); rc = enumtype->get_count (enumtype, &count);
@ -54,7 +55,7 @@ int MPI_T_enum_get_item(MPI_T_enum enumtype, int index, int *value, char *name,
mpit_copy_string(name, name_len, tmp); mpit_copy_string(name, name_len, tmp);
} while (0); } while (0);
mpit_unlock (); ompi_mpit_unlock ();
return rc; return rc;
} }

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

@ -3,6 +3,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 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -28,14 +29,14 @@
int MPI_T_finalize (void) int MPI_T_finalize (void)
{ {
mpit_lock (); ompi_mpit_lock ();
if (!mpit_is_initialized ()) { if (!mpit_is_initialized ()) {
mpit_unlock (); ompi_mpit_unlock ();
return MPI_T_ERR_NOT_INITIALIZED; return MPI_T_ERR_NOT_INITIALIZED;
} }
if (0 == --mpit_init_count) { if (0 == --ompi_mpit_init_count) {
(void) ompi_info_close_components (); (void) ompi_info_close_components ();
if ((!ompi_mpi_initialized || ompi_mpi_finalized) && if ((!ompi_mpi_initialized || ompi_mpi_finalized) &&
@ -49,7 +50,7 @@ int MPI_T_finalize (void)
(void) opal_finalize_util (); (void) opal_finalize_util ();
} }
mpit_unlock (); ompi_mpit_unlock ();
return MPI_SUCCESS; return MPI_SUCCESS;
} }

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

@ -3,6 +3,7 @@
* Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights * Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -24,9 +25,9 @@
#include "ompi/mpi/tool/profile/defines.h" #include "ompi/mpi/tool/profile/defines.h"
#endif #endif
extern opal_mutex_t mpit_big_lock; extern opal_mutex_t ompi_mpit_big_lock;
extern volatile uint32_t mpit_init_count; extern volatile uint32_t ompi_mpit_init_count;
extern volatile int32_t initted; extern volatile int32_t initted;
@ -34,10 +35,10 @@ int MPI_T_init_thread (int required, int *provided)
{ {
int rc = MPI_SUCCESS; int rc = MPI_SUCCESS;
mpit_lock (); ompi_mpit_lock ();
do { do {
if (0 != mpit_init_count++) { if (0 != ompi_mpit_init_count++) {
break; break;
} }
@ -60,7 +61,7 @@ int MPI_T_init_thread (int required, int *provided)
ompi_mpi_thread_level (required, provided); ompi_mpi_thread_level (required, provided);
} while (0); } while (0);
mpit_unlock (); ompi_mpit_unlock ();
return rc; return rc;
} }

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

@ -3,6 +3,7 @@
* Copyright (c) 2011-2013 Los Alamos National Security, LLC. All rights * Copyright (c) 2011-2013 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2011 UT-Battelle, LLC. All rights reserved. * Copyright (c) 2011 UT-Battelle, LLC. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -31,17 +32,17 @@ typedef struct ompi_mpit_cvar_handle_t {
void *bound_object; void *bound_object;
} ompi_mpit_cvar_handle_t; } ompi_mpit_cvar_handle_t;
void mpit_lock (void); void ompi_mpit_lock (void);
void mpit_unlock (void); void ompi_mpit_unlock (void);
extern volatile uint32_t mpit_init_count; extern volatile uint32_t ompi_mpit_init_count;
int ompit_var_type_to_datatype (mca_base_var_type_t type, MPI_Datatype *datatype); int ompit_var_type_to_datatype (mca_base_var_type_t type, MPI_Datatype *datatype);
int ompit_opal_to_mpit_error (int rc); int ompit_opal_to_mpit_error (int rc);
static inline int mpit_is_initialized (void) static inline int mpit_is_initialized (void)
{ {
return !!mpit_init_count; return !!ompi_mpit_init_count;
} }
static inline void mpit_copy_string (char *dest, int *len, const char *source) static inline void mpit_copy_string (char *dest, int *len, const char *source)

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

@ -4,6 +4,7 @@
* reserved. * 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) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -13,18 +14,18 @@
#include "ompi/mpi/tool/mpit-internal.h" #include "ompi/mpi/tool/mpit-internal.h"
opal_mutex_t mpit_big_lock = OPAL_MUTEX_STATIC_INIT; opal_mutex_t ompi_mpit_big_lock = OPAL_MUTEX_STATIC_INIT;
volatile uint32_t mpit_init_count = 0; volatile uint32_t ompi_mpit_init_count = 0;
void mpit_lock (void) void ompi_mpit_lock (void)
{ {
opal_mutex_lock (&mpit_big_lock); opal_mutex_lock (&ompi_mpit_big_lock);
} }
void mpit_unlock (void) void ompi_mpit_unlock (void)
{ {
opal_mutex_unlock (&mpit_big_lock); opal_mutex_unlock (&ompi_mpit_big_lock);
} }
int ompit_var_type_to_datatype (mca_base_var_type_t type, MPI_Datatype *datatype) int ompit_var_type_to_datatype (mca_base_var_type_t type, MPI_Datatype *datatype)

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

@ -3,6 +3,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 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -33,9 +34,9 @@ int MPI_T_pvar_get_index (const char *name, int var_class, int *pvar_index)
return MPI_ERR_ARG; return MPI_ERR_ARG;
} }
mpit_lock (); ompi_mpit_lock ();
ret = mca_base_pvar_find_by_name (name, var_class, pvar_index); ret = mca_base_pvar_find_by_name (name, var_class, pvar_index);
mpit_unlock (); ompi_mpit_unlock ();
if (OPAL_SUCCESS != ret) { if (OPAL_SUCCESS != ret) {
return MPI_T_ERR_INVALID_NAME; return MPI_T_ERR_INVALID_NAME;
} }

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

@ -3,6 +3,7 @@
* Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights * Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -33,7 +34,7 @@ int MPI_T_pvar_get_info(int pvar_index, char *name, int *name_len,
return MPI_T_ERR_NOT_INITIALIZED; return MPI_T_ERR_NOT_INITIALIZED;
} }
mpit_lock (); ompi_mpit_lock ();
do { do {
/* Find the performance variable. mca_base_pvar_get() handles the /* Find the performance variable. mca_base_pvar_get() handles the
@ -88,7 +89,7 @@ int MPI_T_pvar_get_info(int pvar_index, char *name, int *name_len,
} }
} while (0); } while (0);
mpit_unlock (); ompi_mpit_unlock ();
return ret; return ret;
} }

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

@ -3,6 +3,7 @@
* Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights * Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -31,7 +32,7 @@ int MPI_T_pvar_handle_alloc(MPI_T_pvar_session session, int pvar_index,
return MPI_T_ERR_NOT_INITIALIZED; return MPI_T_ERR_NOT_INITIALIZED;
} }
mpit_lock (); ompi_mpit_lock ();
do { do {
/* Find the performance variable. mca_base_pvar_get() handles the /* Find the performance variable. mca_base_pvar_get() handles the
@ -52,7 +53,7 @@ int MPI_T_pvar_handle_alloc(MPI_T_pvar_session session, int pvar_index,
handle, count); handle, count);
} while (0); } while (0);
mpit_unlock (); ompi_mpit_unlock ();
return ompit_opal_to_mpit_error(ret); return ompit_opal_to_mpit_error(ret);
} }

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

@ -3,6 +3,7 @@
* Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights * Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -29,7 +30,7 @@ int MPI_T_pvar_handle_free(MPI_T_pvar_session session, MPI_T_pvar_handle *handle
return MPI_T_ERR_NOT_INITIALIZED; return MPI_T_ERR_NOT_INITIALIZED;
} }
mpit_lock (); ompi_mpit_lock ();
do { do {
/* Check that this is a valid handle */ /* Check that this is a valid handle */
@ -49,7 +50,7 @@ int MPI_T_pvar_handle_free(MPI_T_pvar_session session, MPI_T_pvar_handle *handle
*handle = MPI_T_PVAR_HANDLE_NULL; *handle = MPI_T_PVAR_HANDLE_NULL;
} while (0); } while (0);
mpit_unlock (); ompi_mpit_unlock ();
return ret; return ret;
} }

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

@ -3,6 +3,7 @@
* Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights * Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -34,11 +35,11 @@ int MPI_T_pvar_read(MPI_T_pvar_session session, MPI_T_pvar_handle handle,
return MPI_T_ERR_INVALID_HANDLE; return MPI_T_ERR_INVALID_HANDLE;
} }
mpit_lock (); ompi_mpit_lock ();
ret = mca_base_pvar_handle_read_value (handle, buf); ret = mca_base_pvar_handle_read_value (handle, buf);
mpit_unlock (); ompi_mpit_unlock ();
return ompit_opal_to_mpit_error (ret); return ompit_opal_to_mpit_error (ret);
} }

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

@ -3,6 +3,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 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -29,7 +30,7 @@ int MPI_T_pvar_reset(MPI_T_pvar_session session, MPI_T_pvar_handle handle)
return MPI_T_ERR_NOT_INITIALIZED; return MPI_T_ERR_NOT_INITIALIZED;
} }
mpit_lock (); ompi_mpit_lock ();
if (MPI_T_PVAR_ALL_HANDLES == handle) { if (MPI_T_PVAR_ALL_HANDLES == handle) {
OPAL_LIST_FOREACH(handle, &session->handles, mca_base_pvar_handle_t) { OPAL_LIST_FOREACH(handle, &session->handles, mca_base_pvar_handle_t) {
@ -44,7 +45,7 @@ int MPI_T_pvar_reset(MPI_T_pvar_session session, MPI_T_pvar_handle handle)
ret = mca_base_pvar_handle_reset (handle); ret = mca_base_pvar_handle_reset (handle);
} }
mpit_unlock (); ompi_mpit_unlock ();
return ompit_opal_to_mpit_error (ret); return ompit_opal_to_mpit_error (ret);
} }

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

@ -3,6 +3,7 @@
* Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights * Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -29,14 +30,14 @@ int MPI_T_pvar_session_create(MPI_T_pvar_session *session)
return MPI_T_ERR_NOT_INITIALIZED; return MPI_T_ERR_NOT_INITIALIZED;
} }
mpit_lock (); ompi_mpit_lock ();
*session = OBJ_NEW(mca_base_pvar_session_t); *session = OBJ_NEW(mca_base_pvar_session_t);
if (NULL == *session) { if (NULL == *session) {
ret = MPI_ERR_NO_MEM; ret = MPI_ERR_NO_MEM;
} }
mpit_unlock (); ompi_mpit_unlock ();
return ret; return ret;
} }

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

@ -3,6 +3,7 @@
* Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights * Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -38,7 +39,7 @@ int MPI_T_pvar_start(MPI_T_pvar_session session, MPI_T_pvar_handle handle)
return MPI_T_ERR_NOT_INITIALIZED; return MPI_T_ERR_NOT_INITIALIZED;
} }
mpit_lock (); ompi_mpit_lock ();
if (MPI_T_PVAR_ALL_HANDLES == handle) { if (MPI_T_PVAR_ALL_HANDLES == handle) {
OPAL_LIST_FOREACH(handle, &session->handles, mca_base_pvar_handle_t) { OPAL_LIST_FOREACH(handle, &session->handles, mca_base_pvar_handle_t) {
@ -53,7 +54,7 @@ int MPI_T_pvar_start(MPI_T_pvar_session session, MPI_T_pvar_handle handle)
ret = pvar_handle_start (handle); ret = pvar_handle_start (handle);
} }
mpit_unlock (); ompi_mpit_unlock ();
return ompit_opal_to_mpit_error (ret); return ompit_opal_to_mpit_error (ret);
} }

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

@ -3,6 +3,7 @@
* Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights * Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -38,7 +39,7 @@ int MPI_T_pvar_stop(MPI_T_pvar_session session, MPI_T_pvar_handle handle)
return MPI_T_ERR_NOT_INITIALIZED; return MPI_T_ERR_NOT_INITIALIZED;
} }
mpit_lock (); ompi_mpit_lock ();
if (MPI_T_PVAR_ALL_HANDLES == handle) { if (MPI_T_PVAR_ALL_HANDLES == handle) {
OPAL_LIST_FOREACH(handle, &session->handles, mca_base_pvar_handle_t) { OPAL_LIST_FOREACH(handle, &session->handles, mca_base_pvar_handle_t) {
@ -55,7 +56,7 @@ int MPI_T_pvar_stop(MPI_T_pvar_session session, MPI_T_pvar_handle handle)
ret = pvar_handle_stop (handle); ret = pvar_handle_stop (handle);
} }
mpit_unlock (); ompi_mpit_unlock ();
return ompit_opal_to_mpit_error (ret); return ompit_opal_to_mpit_error (ret);
} }

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

@ -3,6 +3,7 @@
* Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights * Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -34,11 +35,11 @@ int MPI_T_pvar_write(MPI_T_pvar_session session, MPI_T_pvar_handle handle,
return MPI_T_ERR_INVALID_HANDLE; return MPI_T_ERR_INVALID_HANDLE;
} }
mpit_lock (); ompi_mpit_lock ();
ret = mca_base_pvar_handle_write_value (handle, buf); ret = mca_base_pvar_handle_write_value (handle, buf);
mpit_unlock (); ompi_mpit_unlock ();
return ompit_opal_to_mpit_error (ret); return ompit_opal_to_mpit_error (ret);
} }

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

@ -5,6 +5,7 @@
* All rights reserved. * All rights reserved.
* Copyright (c) 2014-2017 Research Organization for Information Science * Copyright (c) 2014-2017 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -27,7 +28,7 @@
/** /**
* All-reduce - subgroup in communicator * All-reduce - subgroup in communicator
*/ */
OMPI_DECLSPEC int comm_allgather_pml(void *src_buf, void *dest_buf, int count, OMPI_DECLSPEC int ompi_comm_allgather_pml(void *src_buf, void *dest_buf, int count,
ompi_datatype_t *dtype, int my_rank_in_group, ompi_datatype_t *dtype, int my_rank_in_group,
int n_peers, int *ranks_in_comm,ompi_communicator_t *comm) int n_peers, int *ranks_in_comm,ompi_communicator_t *comm)
{ {
@ -76,7 +77,7 @@ OMPI_DECLSPEC int comm_allgather_pml(void *src_buf, void *dest_buf, int count,
/* get my reduction communication pattern */ /* get my reduction communication pattern */
memset(&my_exchange_node, 0, sizeof(netpatterns_pair_exchange_node_t)); memset(&my_exchange_node, 0, sizeof(netpatterns_pair_exchange_node_t));
rc = netpatterns_setup_recursive_doubling_tree_node(n_peers, rc = ompi_netpatterns_setup_recursive_doubling_tree_node(n_peers,
my_rank_in_group, &my_exchange_node); my_rank_in_group, &my_exchange_node);
if(OMPI_SUCCESS != rc){ if(OMPI_SUCCESS != rc){
return rc; return rc;
@ -283,7 +284,7 @@ OMPI_DECLSPEC int comm_allgather_pml(void *src_buf, void *dest_buf, int count,
} }
} }
netpatterns_cleanup_recursive_doubling_tree_node(&my_exchange_node); ompi_netpatterns_cleanup_recursive_doubling_tree_node(&my_exchange_node);
/* return */ /* return */
return OMPI_SUCCESS; return OMPI_SUCCESS;

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

@ -5,6 +5,7 @@
* All rights reserved. * All rights reserved.
* Copyright (c) 2014-2017 Research Organization for Information Science * Copyright (c) 2014-2017 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -29,7 +30,7 @@
/** /**
* All-reduce for contigous primitive types * All-reduce for contigous primitive types
*/ */
OMPI_DECLSPEC int comm_allreduce_pml(void *sbuf, void *rbuf, int count, OMPI_DECLSPEC int ompi_comm_allreduce_pml(void *sbuf, void *rbuf, int count,
ompi_datatype_t *dtype, int my_rank_in_group, ompi_datatype_t *dtype, int my_rank_in_group,
struct ompi_op_t *op, int n_peers,int *ranks_in_comm, struct ompi_op_t *op, int n_peers,int *ranks_in_comm,
ompi_communicator_t *comm) ompi_communicator_t *comm)
@ -79,7 +80,7 @@ OMPI_DECLSPEC int comm_allreduce_pml(void *sbuf, void *rbuf, int count,
/* get my reduction communication pattern */ /* get my reduction communication pattern */
memset(&my_exchange_node, 0, sizeof(netpatterns_pair_exchange_node_t)); memset(&my_exchange_node, 0, sizeof(netpatterns_pair_exchange_node_t));
rc = netpatterns_setup_recursive_doubling_tree_node(n_peers, rc = ompi_netpatterns_setup_recursive_doubling_tree_node(n_peers,
my_rank_in_group, &my_exchange_node); my_rank_in_group, &my_exchange_node);
if(OMPI_SUCCESS != rc){ if(OMPI_SUCCESS != rc){
return rc; return rc;
@ -118,7 +119,7 @@ OMPI_DECLSPEC int comm_allreduce_pml(void *sbuf, void *rbuf, int count,
-OMPI_COMMON_TAG_ALLREDUCE, comm, -OMPI_COMMON_TAG_ALLREDUCE, comm,
MPI_STATUSES_IGNORE)); MPI_STATUSES_IGNORE));
if( 0 > rc ) { if( 0 > rc ) {
fprintf(stderr," first recv failed in comm_allreduce_pml \n"); fprintf(stderr," first recv failed in ompi_comm_allreduce_pml \n");
fflush(stderr); fflush(stderr);
goto Error; goto Error;
} }
@ -144,7 +145,7 @@ OMPI_DECLSPEC int comm_allreduce_pml(void *sbuf, void *rbuf, int count,
-OMPI_COMMON_TAG_ALLREDUCE, MCA_PML_BASE_SEND_STANDARD, -OMPI_COMMON_TAG_ALLREDUCE, MCA_PML_BASE_SEND_STANDARD,
comm)); comm));
if( 0 > rc ) { if( 0 > rc ) {
fprintf(stderr," first send failed in comm_allreduce_pml \n"); fprintf(stderr," first send failed in ompi_comm_allreduce_pml \n");
fflush(stderr); fflush(stderr);
goto Error; goto Error;
} }
@ -173,7 +174,7 @@ OMPI_DECLSPEC int comm_allreduce_pml(void *sbuf, void *rbuf, int count,
-OMPI_COMMON_TAG_ALLREDUCE, -OMPI_COMMON_TAG_ALLREDUCE,
comm, MPI_STATUS_IGNORE); comm, MPI_STATUS_IGNORE);
if( 0 > rc ) { if( 0 > rc ) {
fprintf(stderr," irecv failed in comm_allreduce_pml at iterations %d \n", fprintf(stderr," irecv failed in ompi_comm_allreduce_pml at iterations %d \n",
exchange); exchange);
fflush(stderr); fflush(stderr);
goto Error; goto Error;
@ -205,7 +206,7 @@ OMPI_DECLSPEC int comm_allreduce_pml(void *sbuf, void *rbuf, int count,
-OMPI_COMMON_TAG_ALLREDUCE, comm, -OMPI_COMMON_TAG_ALLREDUCE, comm,
MPI_STATUSES_IGNORE)); MPI_STATUSES_IGNORE));
if( 0 > rc ) { if( 0 > rc ) {
fprintf(stderr," last recv failed in comm_allreduce_pml \n"); fprintf(stderr," last recv failed in ompi_comm_allreduce_pml \n");
fflush(stderr); fflush(stderr);
goto Error; goto Error;
} }
@ -223,7 +224,7 @@ OMPI_DECLSPEC int comm_allreduce_pml(void *sbuf, void *rbuf, int count,
-OMPI_COMMON_TAG_ALLREDUCE, MCA_PML_BASE_SEND_STANDARD, -OMPI_COMMON_TAG_ALLREDUCE, MCA_PML_BASE_SEND_STANDARD,
comm)); comm));
if( 0 > rc ) { if( 0 > rc ) {
fprintf(stderr," last send failed in comm_allreduce_pml \n"); fprintf(stderr," last send failed in ompi_comm_allreduce_pml \n");
fflush(stderr); fflush(stderr);
goto Error; goto Error;
} }
@ -238,7 +239,7 @@ OMPI_DECLSPEC int comm_allreduce_pml(void *sbuf, void *rbuf, int count,
count_processed += count_this_stripe; count_processed += count_this_stripe;
} }
netpatterns_cleanup_recursive_doubling_tree_node(&my_exchange_node); ompi_netpatterns_cleanup_recursive_doubling_tree_node(&my_exchange_node);
/* return */ /* return */
return OMPI_SUCCESS; return OMPI_SUCCESS;

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

@ -5,6 +5,7 @@
* All rights reserved. * All rights reserved.
* Copyright (c) 2014 Research Organization for Information Science * Copyright (c) 2014 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -29,7 +30,7 @@
* This is a very simple algorithm - binary tree, transmitting the full * This is a very simple algorithm - binary tree, transmitting the full
* message at each step. * message at each step.
*/ */
OMPI_DECLSPEC int comm_bcast_pml(void *buffer, int root, int count, OMPI_DECLSPEC int ompi_comm_bcast_pml(void *buffer, int root, int count,
ompi_datatype_t *dtype, int my_rank_in_group, ompi_datatype_t *dtype, int my_rank_in_group,
int n_peers, int *ranks_in_comm,ompi_communicator_t *comm) int n_peers, int *ranks_in_comm,ompi_communicator_t *comm)
{ {
@ -47,7 +48,7 @@ OMPI_DECLSPEC int comm_bcast_pml(void *buffer, int root, int count,
/* /*
* compute my communication pattern - binary tree * compute my communication pattern - binary tree
*/ */
rc=netpatterns_setup_narray_tree(2, node_rank, n_peers, rc=ompi_netpatterns_setup_narray_tree(2, node_rank, n_peers,
&node_data); &node_data);
if( OMPI_SUCCESS != rc ) { if( OMPI_SUCCESS != rc ) {
goto Error; goto Error;

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

@ -3,6 +3,7 @@
* Copyright (c) 2009-2012 Oak Ridge National Laboratory. All rights reserved. * Copyright (c) 2009-2012 Oak Ridge National Laboratory. All rights reserved.
* Copyright (c) 2012 Los Alamos National Security, LLC. * Copyright (c) 2012 Los Alamos National Security, LLC.
* All rights reserved. * All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -26,14 +27,14 @@ BEGIN_C_DECLS
OMPI_DECLSPEC int comm_allgather_pml(void *src_buf, void *dest_buf, int count, OMPI_DECLSPEC int ompi_comm_allgather_pml(void *src_buf, void *dest_buf, int count,
ompi_datatype_t *dtype, int my_rank_in_group, int n_peers, ompi_datatype_t *dtype, int my_rank_in_group, int n_peers,
int *ranks_in_comm,ompi_communicator_t *comm); int *ranks_in_comm,ompi_communicator_t *comm);
OMPI_DECLSPEC int comm_allreduce_pml(void *sbuf, void *rbuf, int count, OMPI_DECLSPEC int ompi_comm_allreduce_pml(void *sbuf, void *rbuf, int count,
ompi_datatype_t *dtype, int my_rank_in_group, ompi_datatype_t *dtype, int my_rank_in_group,
struct ompi_op_t *op, int n_peers,int *ranks_in_comm, struct ompi_op_t *op, int n_peers,int *ranks_in_comm,
ompi_communicator_t *comm); ompi_communicator_t *comm);
OMPI_DECLSPEC int comm_bcast_pml(void *buffer, int root, int count, OMPI_DECLSPEC int ompi_comm_bcast_pml(void *buffer, int root, int count,
ompi_datatype_t *dtype, int my_rank_in_group, ompi_datatype_t *dtype, int my_rank_in_group,
int n_peers, int *ranks_in_comm,ompi_communicator_t int n_peers, int *ranks_in_comm,ompi_communicator_t
*comm); *comm);

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

@ -3,6 +3,7 @@
* Copyright (c) 2009-2012 Oak Ridge National Laboratory. All rights reserved. * Copyright (c) 2009-2012 Oak Ridge National Laboratory. All rights reserved.
* Copyright (c) 2012 Los Alamos National Security, LLC. * Copyright (c) 2012 Los Alamos National Security, LLC.
* All rights reserved. * All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -152,7 +153,7 @@ comm_allreduce(void *sbuf, void *rbuf, int count, opal_datatype_t *dtype,
} }
/* get my reduction communication pattern */ /* get my reduction communication pattern */
ret=netpatterns_setup_recursive_doubling_tree_node(n_peers,my_rank,&my_exchange_node); ret=ompi_netpatterns_setup_recursive_doubling_tree_node(n_peers,my_rank,&my_exchange_node);
if(OMPI_SUCCESS != ret){ if(OMPI_SUCCESS != ret){
return ret; return ret;
} }

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

@ -3,6 +3,7 @@
* Copyright (c) 2009-2012 Oak Ridge National Laboratory. All rights reserved. * Copyright (c) 2009-2012 Oak Ridge National Laboratory. All rights reserved.
* Copyright (c) 2012 Los Alamos National Security, LLC. * Copyright (c) 2012 Los Alamos National Security, LLC.
* All rights reserved. * All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -20,21 +21,21 @@
BEGIN_C_DECLS BEGIN_C_DECLS
int netpatterns_base_err(const char* fmt, ...); int ompi_netpatterns_base_err(const char* fmt, ...);
int netpatterns_register_mca_params(void); int ompi_netpatterns_register_mca_params(void);
#if OPAL_ENABLE_DEBUG #if OPAL_ENABLE_DEBUG
extern int netpatterns_base_verbose; /* disabled by default */ extern int ompi_netpatterns_base_verbose; /* disabled by default */
OMPI_DECLSPEC extern int netpatterns_base_err(const char*, ...) __opal_attribute_format__(__printf__, 1, 2); OMPI_DECLSPEC extern int ompi_netpatterns_base_err(const char*, ...) __opal_attribute_format__(__printf__, 1, 2);
#define NETPATTERNS_VERBOSE(args) \ #define NETPATTERNS_VERBOSE(args) \
do { \ do { \
if(netpatterns_base_verbose > 0) { \ if(ompi_netpatterns_base_verbose > 0) { \
netpatterns_base_err("[%s]%s[%s:%d:%s] ",\ ompi_netpatterns_base_err("[%s]%s[%s:%d:%s] ",\
ompi_process_info.nodename, \ ompi_process_info.nodename, \
OMPI_NAME_PRINT(OMPI_PROC_MY_NAME), \ OMPI_NAME_PRINT(OMPI_PROC_MY_NAME), \
__FILE__, __LINE__, __func__); \ __FILE__, __LINE__, __func__); \
netpatterns_base_err args; \ ompi_netpatterns_base_err args; \
netpatterns_base_err("\n"); \ ompi_netpatterns_base_err("\n"); \
} \ } \
} while(0); } while(0);
#else #else
@ -121,24 +122,24 @@ netpatterns_narray_knomial_tree_node_t;
/* Init code for common_netpatterns */ /* Init code for common_netpatterns */
OMPI_DECLSPEC int netpatterns_init(void); OMPI_DECLSPEC int ompi_netpatterns_init(void);
/* setup an n-array tree */ /* setup an n-array tree */
OMPI_DECLSPEC int netpatterns_setup_narray_tree(int tree_order, int my_rank, int num_nodes, OMPI_DECLSPEC int ompi_netpatterns_setup_narray_tree(int tree_order, int my_rank, int num_nodes,
netpatterns_tree_node_t *my_node); netpatterns_tree_node_t *my_node);
/* setup an n-array tree with k-nomial levels */ /* setup an n-array tree with k-nomial levels */
OMPI_DECLSPEC int netpatterns_setup_narray_knomial_tree( int tree_order, int my_rank, int num_nodes, OMPI_DECLSPEC int ompi_netpatterns_setup_narray_knomial_tree( int tree_order, int my_rank, int num_nodes,
netpatterns_narray_knomial_tree_node_t *my_node); netpatterns_narray_knomial_tree_node_t *my_node);
/* cleanup an n-array tree setup by the above function */ /* cleanup an n-array tree setup by the above function */
OMPI_DECLSPEC void netpatterns_cleanup_narray_knomial_tree (netpatterns_narray_knomial_tree_node_t *my_node); OMPI_DECLSPEC void ompi_netpatterns_cleanup_narray_knomial_tree (netpatterns_narray_knomial_tree_node_t *my_node);
/* setup an multi-nomial tree - for each node in the tree /* setup an multi-nomial tree - for each node in the tree
* this returns it's parent, and it's children * this returns it's parent, and it's children
*/ */
OMPI_DECLSPEC int netpatterns_setup_multinomial_tree(int tree_order, int num_nodes, OMPI_DECLSPEC int ompi_netpatterns_setup_multinomial_tree(int tree_order, int num_nodes,
netpatterns_tree_node_t *tree_nodes); netpatterns_tree_node_t *tree_nodes);
OMPI_DECLSPEC int netpatterns_setup_narray_tree_contigous_ranks(int tree_order, OMPI_DECLSPEC int ompi_netpatterns_setup_narray_tree_contigous_ranks(int tree_order,
int num_nodes, netpatterns_tree_node_t **tree_nodes); int num_nodes, netpatterns_tree_node_t **tree_nodes);
/* calculate the nearest power of radix that is equal to or greater /* calculate the nearest power of radix that is equal to or greater

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

@ -2,6 +2,7 @@
* *
* Copyright (c) 2009-2012 Mellanox Technologies. All rights reserved. * Copyright (c) 2009-2012 Mellanox Technologies. All rights reserved.
* Copyright (c) 2009-2012 Oak Ridge National Laboratory. All rights reserved. * Copyright (c) 2009-2012 Oak Ridge National Laboratory. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -13,22 +14,22 @@
#include "ompi/include/ompi/constants.h" #include "ompi/include/ompi/constants.h"
#include "netpatterns.h" #include "netpatterns.h"
int netpatterns_base_verbose = 0; /* disabled by default */ int ompi_netpatterns_base_verbose = 0; /* disabled by default */
int netpatterns_register_mca_params(void) int ompi_netpatterns_register_mca_params(void)
{ {
netpatterns_base_verbose = 0; ompi_netpatterns_base_verbose = 0;
mca_base_var_register("ompi", "common", "netpatterns", "base_verbose", mca_base_var_register("ompi", "common", "netpatterns", "base_verbose",
"Verbosity level of the NETPATTERNS framework", "Verbosity level of the NETPATTERNS framework",
MCA_BASE_VAR_TYPE_INT, NULL, 0, 0, MCA_BASE_VAR_TYPE_INT, NULL, 0, 0,
OPAL_INFO_LVL_9, OPAL_INFO_LVL_9,
MCA_BASE_VAR_SCOPE_READONLY, MCA_BASE_VAR_SCOPE_READONLY,
&netpatterns_base_verbose); &ompi_netpatterns_base_verbose);
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }
int netpatterns_base_err(const char* fmt, ...) int ompi_netpatterns_base_err(const char* fmt, ...)
{ {
va_list list; va_list list;
int ret; int ret;
@ -39,16 +40,16 @@ int netpatterns_base_err(const char* fmt, ...)
return ret; return ret;
} }
int netpatterns_init(void) int ompi_netpatterns_init(void)
{ {
/* There is no component for common_netpatterns so every component that uses it /* There is no component for common_netpatterns so every component that uses it
should call netpatterns_init, still we want to run it only once */ should call ompi_netpatterns_init, still we want to run it only once */
static int was_called = 0; static int was_called = 0;
if (0 == was_called) { if (0 == was_called) {
was_called = 1; was_called = 1;
return netpatterns_register_mca_params(); return ompi_netpatterns_register_mca_params();
} }
return OMPI_SUCCESS; return OMPI_SUCCESS;

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

@ -6,6 +6,7 @@
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2014 Los Alamos National Security, LLC. All rights * Copyright (c) 2014 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -33,7 +34,7 @@
/* setup recursive doubleing tree node */ /* setup recursive doubleing tree node */
OMPI_DECLSPEC int netpatterns_setup_recursive_knomial_allgather_tree_node( OMPI_DECLSPEC int ompi_netpatterns_setup_recursive_knomial_allgather_tree_node(
int num_nodes, int node_rank, int tree_order, int *hier_ranks, int num_nodes, int node_rank, int tree_order, int *hier_ranks,
netpatterns_k_exchange_node_t *exchange_node) netpatterns_k_exchange_node_t *exchange_node)
{ {
@ -52,7 +53,7 @@ OMPI_DECLSPEC int netpatterns_setup_recursive_knomial_allgather_tree_node(
NETPATTERNS_VERBOSE( NETPATTERNS_VERBOSE(
("Enter netpatterns_setup_recursive_knomial_tree_node(num_nodes=%d, node_rank=%d, tree_order=%d)", ("Enter ompi_netpatterns_setup_recursive_knomial_tree_node(num_nodes=%d, node_rank=%d, tree_order=%d)",
num_nodes, node_rank, tree_order)); num_nodes, node_rank, tree_order));
assert(num_nodes > 1); assert(num_nodes > 1);
@ -504,7 +505,7 @@ Error:
return OMPI_ERROR; return OMPI_ERROR;
} }
OMPI_DECLSPEC void netpatterns_cleanup_recursive_knomial_allgather_tree_node( OMPI_DECLSPEC void ompi_netpatterns_cleanup_recursive_knomial_allgather_tree_node(
netpatterns_k_exchange_node_t *exchange_node) netpatterns_k_exchange_node_t *exchange_node)
{ {
int i; int i;
@ -531,7 +532,7 @@ OMPI_DECLSPEC void netpatterns_cleanup_recursive_knomial_allgather_tree_node(
free(exchange_node->payload_info); free(exchange_node->payload_info);
} }
OMPI_DECLSPEC int netpatterns_setup_recursive_knomial_tree_node( OMPI_DECLSPEC int ompi_netpatterns_setup_recursive_knomial_tree_node(
int num_nodes, int node_rank, int tree_order, int num_nodes, int node_rank, int tree_order,
netpatterns_k_exchange_node_t *exchange_node) netpatterns_k_exchange_node_t *exchange_node)
{ {
@ -541,7 +542,7 @@ OMPI_DECLSPEC int netpatterns_setup_recursive_knomial_tree_node(
int k_base, kpow_num, peer; int k_base, kpow_num, peer;
NETPATTERNS_VERBOSE( NETPATTERNS_VERBOSE(
("Enter netpatterns_setup_recursive_knomial_tree_node(num_nodes=%d, node_rank=%d, tree_order=%d)", ("Enter ompi_netpatterns_setup_recursive_knomial_tree_node(num_nodes=%d, node_rank=%d, tree_order=%d)",
num_nodes, node_rank, tree_order)); num_nodes, node_rank, tree_order));
assert(num_nodes > 1); assert(num_nodes > 1);
@ -669,13 +670,13 @@ OMPI_DECLSPEC int netpatterns_setup_recursive_knomial_tree_node(
Error: Error:
netpatterns_cleanup_recursive_knomial_tree_node (exchange_node); ompi_netpatterns_cleanup_recursive_knomial_tree_node (exchange_node);
/* error return */ /* error return */
return OMPI_ERROR; return OMPI_ERROR;
} }
OMPI_DECLSPEC void netpatterns_cleanup_recursive_knomial_tree_node( OMPI_DECLSPEC void ompi_netpatterns_cleanup_recursive_knomial_tree_node(
netpatterns_k_exchange_node_t *exchange_node) netpatterns_k_exchange_node_t *exchange_node)
{ {
int i; int i;
@ -697,7 +698,7 @@ OMPI_DECLSPEC void netpatterns_cleanup_recursive_knomial_tree_node(
} }
#if 1 #if 1
OMPI_DECLSPEC int netpatterns_setup_recursive_doubling_n_tree_node(int num_nodes, int node_rank, int tree_order, OMPI_DECLSPEC int ompi_netpatterns_setup_recursive_doubling_n_tree_node(int num_nodes, int node_rank, int tree_order,
netpatterns_pair_exchange_node_t *exchange_node) netpatterns_pair_exchange_node_t *exchange_node)
{ {
/* local variables */ /* local variables */
@ -705,7 +706,7 @@ OMPI_DECLSPEC int netpatterns_setup_recursive_doubling_n_tree_node(int num_nodes
int n_levels; int n_levels;
int shift, mask; int shift, mask;
NETPATTERNS_VERBOSE(("Enter netpatterns_setup_recursive_doubling_n_tree_node(num_nodes=%d, node_rank=%d, tree_order=%d)", num_nodes, node_rank, tree_order)); NETPATTERNS_VERBOSE(("Enter ompi_netpatterns_setup_recursive_doubling_n_tree_node(num_nodes=%d, node_rank=%d, tree_order=%d)", num_nodes, node_rank, tree_order));
assert(num_nodes > 1); assert(num_nodes > 1);
while (tree_order > num_nodes) { while (tree_order > num_nodes) {
@ -838,7 +839,7 @@ Error:
return OMPI_ERROR; return OMPI_ERROR;
} }
OMPI_DECLSPEC void netpatterns_cleanup_recursive_doubling_tree_node( OMPI_DECLSPEC void ompi_netpatterns_cleanup_recursive_doubling_tree_node(
netpatterns_pair_exchange_node_t *exchange_node) netpatterns_pair_exchange_node_t *exchange_node)
{ {
NETPATTERNS_VERBOSE(("About to release rank_extra_sources_array and rank_exchanges")); NETPATTERNS_VERBOSE(("About to release rank_extra_sources_array and rank_exchanges"));
@ -852,15 +853,15 @@ OMPI_DECLSPEC void netpatterns_cleanup_recursive_doubling_tree_node(
} }
#endif #endif
OMPI_DECLSPEC int netpatterns_setup_recursive_doubling_tree_node(int num_nodes, int node_rank, OMPI_DECLSPEC int ompi_netpatterns_setup_recursive_doubling_tree_node(int num_nodes, int node_rank,
netpatterns_pair_exchange_node_t *exchange_node) netpatterns_pair_exchange_node_t *exchange_node)
{ {
return netpatterns_setup_recursive_doubling_n_tree_node(num_nodes, node_rank, 2, exchange_node); return ompi_netpatterns_setup_recursive_doubling_n_tree_node(num_nodes, node_rank, 2, exchange_node);
} }
#if 0 #if 0
/*OMPI_DECLSPEC int old_netpatterns_setup_recursive_doubling_tree_node(int num_nodes, int node_rank,*/ /*OMPI_DECLSPEC int old_netpatterns_setup_recursive_doubling_tree_node(int num_nodes, int node_rank,*/
OMPI_DECLSPEC int netpatterns_setup_recursive_doubling_n_tree_node(int num_nodes, int node_rank,int tree_order, OMPI_DECLSPEC int ompi_netpatterns_setup_recursive_doubling_n_tree_node(int num_nodes, int node_rank,int tree_order,
netpatterns_pair_exchange_node_t *exchange_node) netpatterns_pair_exchange_node_t *exchange_node)
{ {
/* local variables */ /* local variables */

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

@ -5,6 +5,7 @@
* All rights reserved. * All rights reserved.
* Copyright (c) 2014 Research Organization for Information Science * Copyright (c) 2014 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -110,27 +111,27 @@ struct netpatterns_k_exchange_node_t {
typedef struct netpatterns_k_exchange_node_t typedef struct netpatterns_k_exchange_node_t
netpatterns_k_exchange_node_t; netpatterns_k_exchange_node_t;
OMPI_DECLSPEC int netpatterns_setup_recursive_doubling_n_tree_node(int num_nodes, int node_rank, int tree_order, OMPI_DECLSPEC int ompi_netpatterns_setup_recursive_doubling_n_tree_node(int num_nodes, int node_rank, int tree_order,
netpatterns_pair_exchange_node_t *exchange_node); netpatterns_pair_exchange_node_t *exchange_node);
OMPI_DECLSPEC void netpatterns_cleanup_recursive_doubling_tree_node( OMPI_DECLSPEC void ompi_netpatterns_cleanup_recursive_doubling_tree_node(
netpatterns_pair_exchange_node_t *exchange_node); netpatterns_pair_exchange_node_t *exchange_node);
OMPI_DECLSPEC int netpatterns_setup_recursive_doubling_tree_node(int num_nodes, int node_rank, OMPI_DECLSPEC int ompi_netpatterns_setup_recursive_doubling_tree_node(int num_nodes, int node_rank,
netpatterns_pair_exchange_node_t *exchange_node); netpatterns_pair_exchange_node_t *exchange_node);
OMPI_DECLSPEC int netpatterns_setup_recursive_knomial_tree_node( OMPI_DECLSPEC int ompi_netpatterns_setup_recursive_knomial_tree_node(
int num_nodes, int node_rank, int tree_order, int num_nodes, int node_rank, int tree_order,
netpatterns_k_exchange_node_t *exchange_node); netpatterns_k_exchange_node_t *exchange_node);
OMPI_DECLSPEC void netpatterns_cleanup_recursive_knomial_tree_node( OMPI_DECLSPEC void ompi_netpatterns_cleanup_recursive_knomial_tree_node(
netpatterns_k_exchange_node_t *exchange_node); netpatterns_k_exchange_node_t *exchange_node);
OMPI_DECLSPEC int netpatterns_setup_recursive_knomial_allgather_tree_node( OMPI_DECLSPEC int ompi_netpatterns_setup_recursive_knomial_allgather_tree_node(
int num_nodes, int node_rank, int tree_order, int *hier_ranks, int num_nodes, int node_rank, int tree_order, int *hier_ranks,
netpatterns_k_exchange_node_t *exchange_node); netpatterns_k_exchange_node_t *exchange_node);
OMPI_DECLSPEC void netpatterns_cleanup_recursive_knomial_allgather_tree_node( OMPI_DECLSPEC void ompi_netpatterns_cleanup_recursive_knomial_allgather_tree_node(
netpatterns_k_exchange_node_t *exchange_node); netpatterns_k_exchange_node_t *exchange_node);
/* Input: k_exchange_node structure /* Input: k_exchange_node structure

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

@ -1,6 +1,7 @@
/* /*
* Copyright (c) 2009-2012 Mellanox Technologies. All rights reserved. * Copyright (c) 2009-2012 Mellanox Technologies. All rights reserved.
* Copyright (c) 2009-2012 Oak Ridge National Laboratory. All rights reserved. * Copyright (c) 2009-2012 Oak Ridge National Laboratory. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -26,7 +27,7 @@
/* setup an multi-nomial tree - for each node in the tree /* setup an multi-nomial tree - for each node in the tree
* this returns it's parent, and it's children */ * this returns it's parent, and it's children */
OMPI_DECLSPEC int netpatterns_setup_multinomial_tree(int tree_order, int num_nodes, OMPI_DECLSPEC int ompi_netpatterns_setup_multinomial_tree(int tree_order, int num_nodes,
netpatterns_tree_node_t *tree_nodes) netpatterns_tree_node_t *tree_nodes)
{ {
/* local variables */ /* local variables */

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

@ -4,6 +4,7 @@
* Copyright (c) 2009-2012 Oak Ridge National Laboratory. All rights reserved. * Copyright (c) 2009-2012 Oak Ridge National Laboratory. All rights reserved.
* Copyright (c) 2014 Los Alamos National Security, LLC. All rights * Copyright (c) 2014 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -32,7 +33,7 @@
/* setup an n-array tree */ /* setup an n-array tree */
int netpatterns_setup_narray_tree(int tree_order, int my_rank, int num_nodes, int ompi_netpatterns_setup_narray_tree(int tree_order, int my_rank, int num_nodes,
netpatterns_tree_node_t *my_node) netpatterns_tree_node_t *my_node)
{ {
/* local variables */ /* local variables */
@ -159,7 +160,7 @@ Error:
return OMPI_ERROR; return OMPI_ERROR;
} }
void netpatterns_cleanup_narray_knomial_tree (netpatterns_narray_knomial_tree_node_t *my_node) void ompi_netpatterns_cleanup_narray_knomial_tree (netpatterns_narray_knomial_tree_node_t *my_node)
{ {
if (my_node->children_ranks) { if (my_node->children_ranks) {
free (my_node->children_ranks); free (my_node->children_ranks);
@ -167,11 +168,11 @@ void netpatterns_cleanup_narray_knomial_tree (netpatterns_narray_knomial_tree_no
} }
if (0 != my_node->my_rank) { if (0 != my_node->my_rank) {
netpatterns_cleanup_recursive_knomial_tree_node (&my_node->k_node); ompi_netpatterns_cleanup_recursive_knomial_tree_node (&my_node->k_node);
} }
} }
int netpatterns_setup_narray_knomial_tree( int ompi_netpatterns_setup_narray_knomial_tree(
int tree_order, int my_rank, int num_nodes, int tree_order, int my_rank, int num_nodes,
netpatterns_narray_knomial_tree_node_t *my_node) netpatterns_narray_knomial_tree_node_t *my_node)
{ {
@ -231,7 +232,7 @@ int netpatterns_setup_narray_knomial_tree(
my_rank-cum_cnt; my_rank-cum_cnt;
my_node->level_size = cnt; my_node->level_size = cnt;
rc = netpatterns_setup_recursive_knomial_tree_node( rc = ompi_netpatterns_setup_recursive_knomial_tree_node(
my_node->level_size, my_node->rank_on_level, my_node->level_size, my_node->rank_on_level,
tree_order, &my_node->k_node); tree_order, &my_node->k_node);
if (OMPI_SUCCESS != rc) { if (OMPI_SUCCESS != rc) {
@ -430,7 +431,7 @@ error:
* ranks may be rotated based on who the actual root is, to obtain the * ranks may be rotated based on who the actual root is, to obtain the
* appropriate communication pattern for such roots. * appropriate communication pattern for such roots.
*/ */
OMPI_DECLSPEC int netpatterns_setup_narray_tree_contigous_ranks( OMPI_DECLSPEC int ompi_netpatterns_setup_narray_tree_contigous_ranks(
int tree_order, int num_nodes, int tree_order, int num_nodes,
netpatterns_tree_node_t **tree_nodes) netpatterns_tree_node_t **tree_nodes)
{ {

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

@ -14,6 +14,7 @@
* Copyright (c) 2014-2016 Intel, Inc. All rights reserved. * Copyright (c) 2014-2016 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) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -43,7 +44,7 @@ static opal_dss_buffer_type_t default_buf_type = OPAL_DSS_BUFFER_NON_DESC;
/* variable group id */ /* variable group id */
static int opal_dss_group_id = -1; static int opal_dss_group_id = -1;
mca_base_var_enum_value_t buffer_type_values[] = { static mca_base_var_enum_value_t buffer_type_values[] = {
{OPAL_DSS_BUFFER_NON_DESC, "non-described"}, {OPAL_DSS_BUFFER_NON_DESC, "non-described"},
{OPAL_DSS_BUFFER_FULLY_DESC, "described"}, {OPAL_DSS_BUFFER_FULLY_DESC, "described"},
{0, NULL} {0, NULL}

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

@ -7,6 +7,7 @@
* Copyright (c) 2015 The University of Tennessee and The University * Copyright (c) 2015 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights * of Tennessee Research Foundation. All rights
* reserved. * reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -148,7 +149,7 @@ static int mca_base_pvar_default_get_value (const mca_base_pvar_t *pvar, void *v
/* not used */ /* not used */
(void) obj_handle; (void) obj_handle;
memmove (value, pvar->ctx, var_type_sizes[pvar->type]); memmove (value, pvar->ctx, ompi_var_type_sizes[pvar->type]);
return OPAL_SUCCESS; return OPAL_SUCCESS;
} }
@ -158,7 +159,7 @@ static int mca_base_pvar_default_set_value (mca_base_pvar_t *pvar, const void *v
/* not used */ /* not used */
(void) obj_handle; (void) obj_handle;
memmove (pvar->ctx, value, var_type_sizes[pvar->type]); memmove (pvar->ctx, value, ompi_var_type_sizes[pvar->type]);
return OPAL_SUCCESS; return OPAL_SUCCESS;
} }
@ -481,7 +482,7 @@ int mca_base_pvar_handle_alloc (mca_base_pvar_session_t *session, int index, voi
/* get the size of this datatype since read functions will expect an /* get the size of this datatype since read functions will expect an
array of datatype not mca_base_pvar_value_t's. */ array of datatype not mca_base_pvar_value_t's. */
datatype_size = var_type_sizes[pvar->type]; datatype_size = ompi_var_type_sizes[pvar->type];
if (0 == datatype_size) { if (0 == datatype_size) {
ret = OPAL_ERROR; ret = OPAL_ERROR;
break; break;
@ -689,7 +690,7 @@ int mca_base_pvar_handle_read_value (mca_base_pvar_handle_t *handle, void *value
if (mca_base_pvar_is_sum (handle->pvar) || mca_base_pvar_is_watermark (handle->pvar) || if (mca_base_pvar_is_sum (handle->pvar) || mca_base_pvar_is_watermark (handle->pvar) ||
!mca_base_pvar_handle_is_running (handle)) { !mca_base_pvar_handle_is_running (handle)) {
/* read the value cached in the handle. */ /* read the value cached in the handle. */
memmove (value, handle->current_value, handle->count * var_type_sizes[handle->pvar->type]); memmove (value, handle->current_value, handle->count * ompi_var_type_sizes[handle->pvar->type]);
} else { } else {
/* read the value directly from the variable. */ /* read the value directly from the variable. */
ret = handle->pvar->get_value (handle->pvar, value, handle->obj_handle); ret = handle->pvar->get_value (handle->pvar, value, handle->obj_handle);
@ -718,7 +719,7 @@ int mca_base_pvar_handle_write_value (mca_base_pvar_handle_t *handle, const void
return ret; return ret;
} }
memmove (handle->current_value, value, handle->count * var_type_sizes[handle->pvar->type]); memmove (handle->current_value, value, handle->count * ompi_var_type_sizes[handle->pvar->type]);
/* read the value directly from the variable. */ /* read the value directly from the variable. */
ret = handle->pvar->set_value (handle->pvar, value, handle->obj_handle); ret = handle->pvar->set_value (handle->pvar, value, handle->obj_handle);
@ -799,7 +800,7 @@ int mca_base_pvar_handle_reset (mca_base_pvar_handle_t *handle)
/* reset this handle to a state analagous to when it was created */ /* reset this handle to a state analagous to when it was created */
if (mca_base_pvar_is_sum (handle->pvar)) { if (mca_base_pvar_is_sum (handle->pvar)) {
/* reset the running sum to 0 */ /* reset the running sum to 0 */
memset (handle->current_value, 0, handle->count * var_type_sizes[handle->pvar->type]); memset (handle->current_value, 0, handle->count * ompi_var_type_sizes[handle->pvar->type]);
if (mca_base_pvar_handle_is_running (handle)) { if (mca_base_pvar_handle_is_running (handle)) {
ret = handle->pvar->get_value (handle->pvar, handle->last_value, handle->obj_handle); ret = handle->pvar->get_value (handle->pvar, handle->last_value, handle->obj_handle);
@ -879,7 +880,7 @@ int mca_base_pvar_dump(int index, char ***out, mca_base_var_dump_type_t output_t
} }
} }
(void)asprintf(out[0] + line++, "%stype:%s", tmp, var_type_names[pvar->type]); (void)asprintf(out[0] + line++, "%stype:%s", tmp, ompi_var_type_names[pvar->type]);
free(tmp); // release tmp storage free(tmp); // release tmp storage
} else { } else {
/* there will be at most three lines in the pretty print case */ /* there will be at most three lines in the pretty print case */
@ -889,7 +890,7 @@ int mca_base_pvar_dump(int index, char ***out, mca_base_var_dump_type_t output_t
} }
(void)asprintf (out[0] + line++, "performance \"%s\" (type: %s, class: %s)", full_name, (void)asprintf (out[0] + line++, "performance \"%s\" (type: %s, class: %s)", full_name,
var_type_names[pvar->type], pvar_class_names[pvar->var_class]); ompi_var_type_names[pvar->type], pvar_class_names[pvar->var_class]);
if (pvar->description) { if (pvar->description) {
(void)asprintf(out[0] + line++, "%s", pvar->description); (void)asprintf(out[0] + line++, "%s", pvar->description);

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

@ -16,6 +16,7 @@
* Copyright (c) 2014-2016 Intel, Inc. All rights reserved. * Copyright (c) 2014-2016 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) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -78,7 +79,7 @@ static int mca_base_var_count = 0;
static opal_hash_table_t mca_base_var_index_hash; static opal_hash_table_t mca_base_var_index_hash;
const char *var_type_names[] = { const char *ompi_var_type_names[] = {
"int", "int",
"unsigned_int", "unsigned_int",
"unsigned_long", "unsigned_long",
@ -90,7 +91,7 @@ const char *var_type_names[] = {
"double" "double"
}; };
const size_t var_type_sizes[] = { const size_t ompi_var_type_sizes[] = {
sizeof (int), sizeof (int),
sizeof (unsigned), sizeof (unsigned),
sizeof (unsigned long), sizeof (unsigned long),
@ -102,7 +103,7 @@ const size_t var_type_sizes[] = {
sizeof (double) sizeof (double)
}; };
const char *var_source_names[] = { static const char *var_source_names[] = {
"default", "default",
"command line", "command line",
"environment", "environment",
@ -770,7 +771,7 @@ int mca_base_var_set_value (int vari, const void *value, size_t size, mca_base_v
} }
if (MCA_BASE_VAR_TYPE_STRING != var->mbv_type && MCA_BASE_VAR_TYPE_VERSION_STRING != var->mbv_type) { if (MCA_BASE_VAR_TYPE_STRING != var->mbv_type && MCA_BASE_VAR_TYPE_VERSION_STRING != var->mbv_type) {
memmove (var->mbv_storage, value, var_type_sizes[var->mbv_type]); memmove (var->mbv_storage, value, ompi_var_type_sizes[var->mbv_type]);
} else { } else {
var_set_string (var, (char *) value); var_set_string (var, (char *) value);
} }
@ -2117,7 +2118,7 @@ int mca_base_var_dump(int vari, char ***out, mca_base_var_dump_type_t output_typ
/* Is this variable deprecated? */ /* Is this variable deprecated? */
asprintf(out[0] + line++, "%sdeprecated:%s", tmp, VAR_IS_DEPRECATED(var[0]) ? "yes" : "no"); asprintf(out[0] + line++, "%sdeprecated:%s", tmp, VAR_IS_DEPRECATED(var[0]) ? "yes" : "no");
asprintf(out[0] + line++, "%stype:%s", tmp, var_type_names[var->mbv_type]); asprintf(out[0] + line++, "%stype:%s", tmp, ompi_var_type_names[var->mbv_type]);
/* Does this parameter have any synonyms or is it a synonym? */ /* Does this parameter have any synonyms or is it a synonym? */
if (VAR_IS_SYNONYM(var[0])) { if (VAR_IS_SYNONYM(var[0])) {
@ -2148,7 +2149,7 @@ int mca_base_var_dump(int vari, char ***out, mca_base_var_dump_type_t output_typ
asprintf (out[0], "%s \"%s\" (current value: \"%s\", data source: %s, level: %d %s, type: %s", asprintf (out[0], "%s \"%s\" (current value: \"%s\", data source: %s, level: %d %s, type: %s",
VAR_IS_DEFAULT_ONLY(var[0]) ? "informational" : "parameter", VAR_IS_DEFAULT_ONLY(var[0]) ? "informational" : "parameter",
full_name, value_string, source_string, var->mbv_info_lvl + 1, full_name, value_string, source_string, var->mbv_info_lvl + 1,
info_lvl_strings[var->mbv_info_lvl], var_type_names[var->mbv_type]); info_lvl_strings[var->mbv_info_lvl], ompi_var_type_names[var->mbv_type]);
tmp = out[0][0]; tmp = out[0][0];
if (VAR_IS_DEPRECATED(var[0])) { if (VAR_IS_DEPRECATED(var[0])) {

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

@ -14,6 +14,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) 2016 Intel, Inc. All rights reserved. * Copyright (c) 2016 Intel, Inc. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -95,7 +96,7 @@ typedef enum {
MCA_BASE_VAR_TYPE_MAX MCA_BASE_VAR_TYPE_MAX
} mca_base_var_type_t; } mca_base_var_type_t;
extern const char *var_type_names[]; extern const char *ompi_var_type_names[];
/** /**
* Source of an MCA variable's value * Source of an MCA variable's value

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

@ -15,6 +15,7 @@
* reserved. * reserved.
* Copyright (c) 2017 Research Organization for Information Science * Copyright (c) 2017 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -40,7 +41,7 @@ OBJ_CLASS_INSTANCE(mca_base_var_enum_t, opal_object_t, mca_base_var_enum_constru
static void mca_base_var_enum_flag_constructor (mca_base_var_enum_flag_t *enumerator); static void mca_base_var_enum_flag_constructor (mca_base_var_enum_flag_t *enumerator);
static void mca_base_var_enum_flag_destructor (mca_base_var_enum_flag_t *enumerator); static void mca_base_var_enum_flag_destructor (mca_base_var_enum_flag_t *enumerator);
OBJ_CLASS_INSTANCE(mca_base_var_enum_flag_t, opal_object_t, mca_base_var_enum_flag_constructor, static OBJ_CLASS_INSTANCE(mca_base_var_enum_flag_t, opal_object_t, mca_base_var_enum_flag_constructor,
mca_base_var_enum_flag_destructor); mca_base_var_enum_flag_destructor);
static int enum_dump (mca_base_var_enum_t *self, char **out); static int enum_dump (mca_base_var_enum_t *self, char **out);

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

@ -15,6 +15,7 @@
* reserved. * reserved.
* Copyright (c) 2017 Research Organization for Information Science * Copyright (c) 2017 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -71,8 +72,8 @@ typedef enum {
#define VAR_IS_SETTABLE(var) (!!((var).mbv_flags & MCA_BASE_VAR_FLAG_SETTABLE)) #define VAR_IS_SETTABLE(var) (!!((var).mbv_flags & MCA_BASE_VAR_FLAG_SETTABLE))
#define VAR_IS_DEPRECATED(var) (!!((var).mbv_flags & MCA_BASE_VAR_FLAG_DEPRECATED)) #define VAR_IS_DEPRECATED(var) (!!((var).mbv_flags & MCA_BASE_VAR_FLAG_DEPRECATED))
extern const char *var_type_names[]; extern const char *ompi_var_type_names[];
extern const size_t var_type_sizes[]; extern const size_t ompi_var_type_sizes[];
extern bool mca_base_var_initialized; extern bool mca_base_var_initialized;
/** /**

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

@ -11,6 +11,7 @@
* All rights reserved. * All rights reserved.
* Copyright (c) 2007 Evergrid, Inc. All rights reserved. * Copyright (c) 2007 Evergrid, Inc. All rights reserved.
* *
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -120,9 +121,9 @@ BEGIN_C_DECLS
typedef int (*opal_crs_base_self_restart_fn_t)(void); typedef int (*opal_crs_base_self_restart_fn_t)(void);
typedef int (*opal_crs_base_self_continue_fn_t)(void); typedef int (*opal_crs_base_self_continue_fn_t)(void);
extern opal_crs_base_self_checkpoint_fn_t crs_base_self_checkpoint_fn; extern opal_crs_base_self_checkpoint_fn_t ompi_crs_base_self_checkpoint_fn;
extern opal_crs_base_self_restart_fn_t crs_base_self_restart_fn; extern opal_crs_base_self_restart_fn_t ompi_crs_base_self_restart_fn;
extern opal_crs_base_self_continue_fn_t crs_base_self_continue_fn; extern opal_crs_base_self_continue_fn_t ompi_crs_base_self_continue_fn;
OPAL_DECLSPEC int opal_crs_base_self_register_checkpoint_callback OPAL_DECLSPEC int opal_crs_base_self_register_checkpoint_callback
(opal_crs_base_self_checkpoint_fn_t function); (opal_crs_base_self_checkpoint_fn_t function);

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

@ -14,6 +14,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 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -47,9 +48,9 @@
#include "opal/mca/crs/crs.h" #include "opal/mca/crs/crs.h"
#include "opal/mca/crs/base/base.h" #include "opal/mca/crs/base/base.h"
opal_crs_base_self_checkpoint_fn_t crs_base_self_checkpoint_fn = NULL; opal_crs_base_self_checkpoint_fn_t ompi_crs_base_self_checkpoint_fn = NULL;
opal_crs_base_self_restart_fn_t crs_base_self_restart_fn = NULL; opal_crs_base_self_restart_fn_t ompi_crs_base_self_restart_fn = NULL;
opal_crs_base_self_continue_fn_t crs_base_self_continue_fn = NULL; opal_crs_base_self_continue_fn_t ompi_crs_base_self_continue_fn = NULL;
/****************** /******************
* Local Functions * Local Functions
@ -330,19 +331,19 @@ int opal_crs_base_clear_options(opal_crs_base_ckpt_options_t *target)
int opal_crs_base_self_register_checkpoint_callback(opal_crs_base_self_checkpoint_fn_t function) int opal_crs_base_self_register_checkpoint_callback(opal_crs_base_self_checkpoint_fn_t function)
{ {
crs_base_self_checkpoint_fn = function; ompi_crs_base_self_checkpoint_fn = function;
return OPAL_SUCCESS; return OPAL_SUCCESS;
} }
int opal_crs_base_self_register_restart_callback(opal_crs_base_self_restart_fn_t function) int opal_crs_base_self_register_restart_callback(opal_crs_base_self_restart_fn_t function)
{ {
crs_base_self_restart_fn = function; ompi_crs_base_self_restart_fn = function;
return OPAL_SUCCESS; return OPAL_SUCCESS;
} }
int opal_crs_base_self_register_continue_callback(opal_crs_base_self_continue_fn_t function) int opal_crs_base_self_register_continue_callback(opal_crs_base_self_continue_fn_t function)
{ {
crs_base_self_continue_fn = function; ompi_crs_base_self_continue_fn = function;
return OPAL_SUCCESS; return OPAL_SUCCESS;
} }

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

@ -10,6 +10,7 @@
* Copyright (c) 2007 Evergrid, Inc. All rights reserved. * Copyright (c) 2007 Evergrid, Inc. All rights reserved.
* Copyright (c) 2011 Oak Ridge National Labs. All rights reserved. * Copyright (c) 2011 Oak Ridge National Labs. All rights reserved.
* *
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -640,7 +641,7 @@ static int opal_crs_blcr_thread_callback(void *arg) {
else else
#endif #endif
{ {
if(OPAL_SUCCESS != (ret = trigger_user_inc_callback(OPAL_CR_INC_CRS_PRE_CKPT, if(OPAL_SUCCESS != (ret = ompi_trigger_user_inc_callback(OPAL_CR_INC_CRS_PRE_CKPT,
OPAL_CR_INC_STATE_PREPARE)) ) { OPAL_CR_INC_STATE_PREPARE)) ) {
; ;
} }
@ -665,7 +666,7 @@ static int opal_crs_blcr_thread_callback(void *arg) {
blcr_current_state = OPAL_CRS_CONTINUE; blcr_current_state = OPAL_CRS_CONTINUE;
} }
if( OPAL_SUCCESS != (ret = trigger_user_inc_callback(OPAL_CR_INC_CRS_POST_CKPT, if( OPAL_SUCCESS != (ret = ompi_trigger_user_inc_callback(OPAL_CR_INC_CRS_POST_CKPT,
(blcr_current_state == OPAL_CRS_CONTINUE ? (blcr_current_state == OPAL_CRS_CONTINUE ?
OPAL_CR_INC_STATE_CONTINUE : OPAL_CR_INC_STATE_CONTINUE :
OPAL_CR_INC_STATE_RESTART))) ) { OPAL_CR_INC_STATE_RESTART))) ) {

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

@ -35,7 +35,7 @@ const char *opal_event_external_component_version_string =
static int event_external_open(void); static int event_external_open(void);
static int event_external_register (void); static int event_external_register (void);
char *event_module_include = NULL; char *ompi_event_module_include = NULL;
/* /*
* Instantiate the public struct with all of our public information * Instantiate the public struct with all of our public information
@ -82,9 +82,9 @@ static int event_external_register (void) {
all_available_eventops = event_get_supported_methods(); all_available_eventops = event_get_supported_methods();
#ifdef __APPLE__ #ifdef __APPLE__
event_module_include ="select"; ompi_event_module_include ="select";
#else #else
event_module_include = "poll"; ompi_event_module_include = "poll";
#endif #endif
avail = opal_argv_join((char**)all_available_eventops, ','); avail = opal_argv_join((char**)all_available_eventops, ',');
@ -99,7 +99,7 @@ static int event_external_register (void) {
MCA_BASE_VAR_FLAG_SETTABLE, MCA_BASE_VAR_FLAG_SETTABLE,
OPAL_INFO_LVL_3, OPAL_INFO_LVL_3,
MCA_BASE_VAR_SCOPE_LOCAL, MCA_BASE_VAR_SCOPE_LOCAL,
&event_module_include); &ompi_event_module_include);
free(help_msg); /* release the help message */ free(help_msg); /* release the help message */
free(avail); free(avail);
avail = NULL; avail = NULL;

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

@ -17,7 +17,7 @@
#include "opal/util/argv.h" #include "opal/util/argv.h"
extern char *event_module_include; extern char *ompi_event_module_include;
static struct event_config *config = NULL; static struct event_config *config = NULL;
opal_event_base_t* opal_event_base_create(void) opal_event_base_t* opal_event_base_create(void)
@ -45,11 +45,11 @@ int opal_event_init(void)
all_available_eventops = event_get_supported_methods(); all_available_eventops = event_get_supported_methods();
if (NULL == event_module_include) { if (NULL == ompi_event_module_include) {
/* Shouldn't happen, but... */ /* Shouldn't happen, but... */
event_module_include = strdup("select"); ompi_event_module_include = strdup("select");
} }
includes = opal_argv_split(event_module_include,','); includes = opal_argv_split(ompi_event_module_include,',');
/* get a configuration object */ /* get a configuration object */
config = event_config_new(); config = event_config_new();

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

@ -161,8 +161,8 @@ struct event_changelist {
#ifndef _EVENT_DISABLE_DEBUG_MODE #ifndef _EVENT_DISABLE_DEBUG_MODE
/* Global internal flag: set to one if debug mode is on. */ /* Global internal flag: set to one if debug mode is on. */
extern int _event_debug_mode_on; extern int ompi__event_debug_mode_on;
#define EVENT_DEBUG_MODE_IS_ON() (_event_debug_mode_on) #define EVENT_DEBUG_MODE_IS_ON() (ompi__event_debug_mode_on)
#else #else
#define EVENT_DEBUG_MODE_IS_ON() (0) #define EVENT_DEBUG_MODE_IS_ON() (0)
#endif #endif

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

@ -93,7 +93,7 @@ extern const struct eventop win32ops;
#endif #endif
/* Array of backends in order of preference. */ /* Array of backends in order of preference. */
static const struct eventop *eventops[] = { static const struct eventop *ompi_eventops[] = {
#if defined(_EVENT_HAVE_EVENT_PORTS) && _EVENT_HAVE_EVENT_PORTS #if defined(_EVENT_HAVE_EVENT_PORTS) && _EVENT_HAVE_EVENT_PORTS
&evportops, &evportops,
#endif #endif
@ -120,8 +120,8 @@ static const struct eventop *eventops[] = {
/**** End Open MPI Changes ****/ /**** End Open MPI Changes ****/
/* Global state; deprecated */ /* Global state; deprecated */
struct event_base *event_global_current_base_ = NULL; struct event_base *ompi_event_global_current_base_ = NULL;
#define current_base event_global_current_base_ #define current_base ompi_event_global_current_base_
/* Global state */ /* Global state */
@ -181,7 +181,7 @@ eq_debug_entry(const struct event_debug_entry *a,
return a->ptr == b->ptr; return a->ptr == b->ptr;
} }
int _event_debug_mode_on = 0; int ompi__event_debug_mode_on = 0;
/* Set if it's too late to enable event_debug_mode. */ /* Set if it's too late to enable event_debug_mode. */
static int event_debug_mode_too_late = 0; static int event_debug_mode_too_late = 0;
#ifndef _EVENT_DISABLE_THREAD_SUPPORT #ifndef _EVENT_DISABLE_THREAD_SUPPORT
@ -197,7 +197,7 @@ HT_GENERATE(event_debug_map, event_debug_entry, node, hash_debug_entry,
/* Macro: record that ev is now setup (that is, ready for an add) */ /* Macro: record that ev is now setup (that is, ready for an add) */
#define _event_debug_note_setup(ev) do { \ #define _event_debug_note_setup(ev) do { \
if (_event_debug_mode_on) { \ if (ompi__event_debug_mode_on) { \
struct event_debug_entry *dent,find; \ struct event_debug_entry *dent,find; \
find.ptr = (ev); \ find.ptr = (ev); \
EVLOCK_LOCK(_event_debug_map_lock, 0); \ EVLOCK_LOCK(_event_debug_map_lock, 0); \
@ -219,7 +219,7 @@ HT_GENERATE(event_debug_map, event_debug_entry, node, hash_debug_entry,
} while (0) } while (0)
/* Macro: record that ev is no longer setup */ /* Macro: record that ev is no longer setup */
#define _event_debug_note_teardown(ev) do { \ #define _event_debug_note_teardown(ev) do { \
if (_event_debug_mode_on) { \ if (ompi__event_debug_mode_on) { \
struct event_debug_entry *dent,find; \ struct event_debug_entry *dent,find; \
find.ptr = (ev); \ find.ptr = (ev); \
EVLOCK_LOCK(_event_debug_map_lock, 0); \ EVLOCK_LOCK(_event_debug_map_lock, 0); \
@ -232,7 +232,7 @@ HT_GENERATE(event_debug_map, event_debug_entry, node, hash_debug_entry,
} while (0) } while (0)
/* Macro: record that ev is now added */ /* Macro: record that ev is now added */
#define _event_debug_note_add(ev) do { \ #define _event_debug_note_add(ev) do { \
if (_event_debug_mode_on) { \ if (ompi__event_debug_mode_on) { \
struct event_debug_entry *dent,find; \ struct event_debug_entry *dent,find; \
find.ptr = (ev); \ find.ptr = (ev); \
EVLOCK_LOCK(_event_debug_map_lock, 0); \ EVLOCK_LOCK(_event_debug_map_lock, 0); \
@ -253,7 +253,7 @@ HT_GENERATE(event_debug_map, event_debug_entry, node, hash_debug_entry,
} while (0) } while (0)
/* Macro: record that ev is no longer added */ /* Macro: record that ev is no longer added */
#define _event_debug_note_del(ev) do { \ #define _event_debug_note_del(ev) do { \
if (_event_debug_mode_on) { \ if (ompi__event_debug_mode_on) { \
struct event_debug_entry *dent,find; \ struct event_debug_entry *dent,find; \
find.ptr = (ev); \ find.ptr = (ev); \
EVLOCK_LOCK(_event_debug_map_lock, 0); \ EVLOCK_LOCK(_event_debug_map_lock, 0); \
@ -274,7 +274,7 @@ HT_GENERATE(event_debug_map, event_debug_entry, node, hash_debug_entry,
} while (0) } while (0)
/* Macro: assert that ev is setup (i.e., okay to add or inspect) */ /* Macro: assert that ev is setup (i.e., okay to add or inspect) */
#define _event_debug_assert_is_setup(ev) do { \ #define _event_debug_assert_is_setup(ev) do { \
if (_event_debug_mode_on) { \ if (ompi__event_debug_mode_on) { \
struct event_debug_entry *dent,find; \ struct event_debug_entry *dent,find; \
find.ptr = (ev); \ find.ptr = (ev); \
EVLOCK_LOCK(_event_debug_map_lock, 0); \ EVLOCK_LOCK(_event_debug_map_lock, 0); \
@ -293,7 +293,7 @@ HT_GENERATE(event_debug_map, event_debug_entry, node, hash_debug_entry,
/* Macro: assert that ev is not added (i.e., okay to tear down or set /* Macro: assert that ev is not added (i.e., okay to tear down or set
* up again) */ * up again) */
#define _event_debug_assert_not_added(ev) do { \ #define _event_debug_assert_not_added(ev) do { \
if (_event_debug_mode_on) { \ if (ompi__event_debug_mode_on) { \
struct event_debug_entry *dent,find; \ struct event_debug_entry *dent,find; \
find.ptr = (ev); \ find.ptr = (ev); \
EVLOCK_LOCK(_event_debug_map_lock, 0); \ EVLOCK_LOCK(_event_debug_map_lock, 0); \
@ -521,13 +521,13 @@ void
event_enable_debug_mode(void) event_enable_debug_mode(void)
{ {
#ifndef _EVENT_DISABLE_DEBUG_MODE #ifndef _EVENT_DISABLE_DEBUG_MODE
if (_event_debug_mode_on) if (ompi__event_debug_mode_on)
event_errx(1, "%s was called twice!", __func__); event_errx(1, "%s was called twice!", __func__);
if (event_debug_mode_too_late) if (event_debug_mode_too_late)
event_errx(1, "%s must be called *before* creating any events " event_errx(1, "%s must be called *before* creating any events "
"or event_bases",__func__); "or event_bases",__func__);
_event_debug_mode_on = 1; ompi__event_debug_mode_on = 1;
HT_INIT(event_debug_map, &global_debug_map); HT_INIT(event_debug_map, &global_debug_map);
#endif #endif
@ -590,23 +590,23 @@ event_base_new_with_config(const struct event_config *cfg)
should_check_environment = should_check_environment =
!(cfg && (cfg->flags & EVENT_BASE_FLAG_IGNORE_ENV)); !(cfg && (cfg->flags & EVENT_BASE_FLAG_IGNORE_ENV));
for (i = 0; eventops[i] && !base->evbase; i++) { for (i = 0; ompi_eventops[i] && !base->evbase; i++) {
if (cfg != NULL) { if (cfg != NULL) {
/* determine if this backend should be avoided */ /* determine if this backend should be avoided */
if (event_config_is_avoided_method(cfg, if (event_config_is_avoided_method(cfg,
eventops[i]->name)) ompi_eventops[i]->name))
continue; continue;
if ((eventops[i]->features & cfg->require_features) if ((ompi_eventops[i]->features & cfg->require_features)
!= cfg->require_features) != cfg->require_features)
continue; continue;
} }
/* also obey the environment variables */ /* also obey the environment variables */
if (should_check_environment && if (should_check_environment &&
event_is_method_disabled(eventops[i]->name)) event_is_method_disabled(ompi_eventops[i]->name))
continue; continue;
base->evsel = eventops[i]; base->evsel = ompi_eventops[i];
base->evbase = base->evsel->init(base); base->evbase = base->evsel->init(base);
} }
@ -898,7 +898,7 @@ event_get_supported_methods(void)
int i = 0, k; int i = 0, k;
/* count all methods */ /* count all methods */
for (method = &eventops[0]; *method != NULL; ++method) { for (method = &ompi_eventops[0]; *method != NULL; ++method) {
++i; ++i;
} }
@ -908,8 +908,8 @@ event_get_supported_methods(void)
return (NULL); return (NULL);
/* populate the array with the supported methods */ /* populate the array with the supported methods */
for (k = 0, i = 0; eventops[k] != NULL; ++k) { for (k = 0, i = 0; ompi_eventops[k] != NULL; ++k) {
tmp[i++] = eventops[k]->name; tmp[i++] = ompi_eventops[k]->name;
} }
tmp[i] = NULL; tmp[i] = NULL;

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

@ -51,7 +51,7 @@ void evmap_signal_clear(struct event_signal_map* ctx);
/** Add an IO event (some combination of EV_READ or EV_WRITE) to an /** Add an IO event (some combination of EV_READ or EV_WRITE) to an
event_base's list of events on a given file descriptor, and tell the event_base's list of events on a given file descriptor, and tell the
underlying eventops about the fd if its state has changed. underlying ompi_eventops about the fd if its state has changed.
Requires that ev is not already added. Requires that ev is not already added.
@ -62,7 +62,7 @@ void evmap_signal_clear(struct event_signal_map* ctx);
int evmap_io_add(struct event_base *base, evutil_socket_t fd, struct event *ev); int evmap_io_add(struct event_base *base, evutil_socket_t fd, struct event *ev);
/** Remove an IO event (some combination of EV_READ or EV_WRITE) to an /** Remove an IO event (some combination of EV_READ or EV_WRITE) to an
event_base's list of events on a given file descriptor, and tell the event_base's list of events on a given file descriptor, and tell the
underlying eventops about the fd if its state has changed. underlying ompi_eventops about the fd if its state has changed.
@param base the event_base to operate on. @param base the event_base to operate on.
@param fd the file descriptor corresponding to ev. @param fd the file descriptor corresponding to ev.

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

@ -47,55 +47,55 @@ struct event_base;
#if ! defined(_EVENT_DISABLE_THREAD_SUPPORT) && defined(EVTHREAD_EXPOSE_STRUCTS) #if ! defined(_EVENT_DISABLE_THREAD_SUPPORT) && defined(EVTHREAD_EXPOSE_STRUCTS)
/* Global function pointers to lock-related functions. NULL if locking isn't /* Global function pointers to lock-related functions. NULL if locking isn't
enabled. */ enabled. */
extern struct evthread_lock_callbacks _evthread_lock_fns; extern struct evthread_lock_callbacks ompi__evthread_lock_fns;
extern struct evthread_condition_callbacks _evthread_cond_fns; extern struct evthread_condition_callbacks ompi__evthread_cond_fns;
extern unsigned long (*_evthread_id_fn)(void); extern unsigned long (*ompi__evthread_id_fn)(void);
extern int _evthread_lock_debugging_enabled; extern int ompi__evthread_lock_debugging_enabled;
/** Return the ID of the current thread, or 1 if threading isn't enabled. */ /** Return the ID of the current thread, or 1 if threading isn't enabled. */
#define EVTHREAD_GET_ID() \ #define EVTHREAD_GET_ID() \
(_evthread_id_fn ? _evthread_id_fn() : 1) (ompi__evthread_id_fn ? ompi__evthread_id_fn() : 1)
/** Return true iff we're in the thread that is currently (or most recently) /** Return true iff we're in the thread that is currently (or most recently)
* running a given event_base's loop. Requires lock. */ * running a given event_base's loop. Requires lock. */
#define EVBASE_IN_THREAD(base) \ #define EVBASE_IN_THREAD(base) \
(_evthread_id_fn == NULL || \ (ompi__evthread_id_fn == NULL || \
(base)->th_owner_id == _evthread_id_fn()) (base)->th_owner_id == ompi__evthread_id_fn())
/** Return true iff we need to notify the base's main thread about changes to /** Return true iff we need to notify the base's main thread about changes to
* its state, because it's currently running the main loop in another * its state, because it's currently running the main loop in another
* thread. Requires lock. */ * thread. Requires lock. */
#define EVBASE_NEED_NOTIFY(base) \ #define EVBASE_NEED_NOTIFY(base) \
(_evthread_id_fn != NULL && \ (ompi__evthread_id_fn != NULL && \
(base)->running_loop && \ (base)->running_loop && \
(base)->th_owner_id != _evthread_id_fn()) (base)->th_owner_id != ompi__evthread_id_fn())
/** Allocate a new lock, and store it in lockvar, a void*. Sets lockvar to /** Allocate a new lock, and store it in lockvar, a void*. Sets lockvar to
NULL if locking is not enabled. */ NULL if locking is not enabled. */
#define EVTHREAD_ALLOC_LOCK(lockvar, locktype) \ #define EVTHREAD_ALLOC_LOCK(lockvar, locktype) \
((lockvar) = _evthread_lock_fns.alloc ? \ ((lockvar) = ompi__evthread_lock_fns.alloc ? \
_evthread_lock_fns.alloc(locktype) : NULL) ompi__evthread_lock_fns.alloc(locktype) : NULL)
/** Free a given lock, if it is present and locking is enabled. */ /** Free a given lock, if it is present and locking is enabled. */
#define EVTHREAD_FREE_LOCK(lockvar, locktype) \ #define EVTHREAD_FREE_LOCK(lockvar, locktype) \
do { \ do { \
void *_lock_tmp_ = (lockvar); \ void *_lock_tmp_ = (lockvar); \
if (_lock_tmp_ && _evthread_lock_fns.free) \ if (_lock_tmp_ && ompi__evthread_lock_fns.free) \
_evthread_lock_fns.free(_lock_tmp_, (locktype)); \ ompi__evthread_lock_fns.free(_lock_tmp_, (locktype)); \
} while (0) } while (0)
/** Acquire a lock. */ /** Acquire a lock. */
#define EVLOCK_LOCK(lockvar,mode) \ #define EVLOCK_LOCK(lockvar,mode) \
do { \ do { \
if (lockvar) \ if (lockvar) \
_evthread_lock_fns.lock(mode, lockvar); \ ompi__evthread_lock_fns.lock(mode, lockvar); \
} while (0) } while (0)
/** Release a lock */ /** Release a lock */
#define EVLOCK_UNLOCK(lockvar,mode) \ #define EVLOCK_UNLOCK(lockvar,mode) \
do { \ do { \
if (lockvar) \ if (lockvar) \
_evthread_lock_fns.unlock(mode, lockvar); \ ompi__evthread_lock_fns.unlock(mode, lockvar); \
} while (0) } while (0)
/** Helper: put lockvar1 and lockvar2 into pointerwise ascending order. */ /** Helper: put lockvar1 and lockvar2 into pointerwise ascending order. */
@ -123,7 +123,7 @@ extern int _evthread_lock_debugging_enabled;
* locked and held by us. */ * locked and held by us. */
#define EVLOCK_ASSERT_LOCKED(lock) \ #define EVLOCK_ASSERT_LOCKED(lock) \
do { \ do { \
if ((lock) && _evthread_lock_debugging_enabled) { \ if ((lock) && ompi__evthread_lock_debugging_enabled) { \
EVUTIL_ASSERT(_evthread_is_debug_lock_held(lock)); \ EVUTIL_ASSERT(_evthread_is_debug_lock_held(lock)); \
} \ } \
} while (0) } while (0)
@ -134,8 +134,8 @@ static inline int EVLOCK_TRY_LOCK(void *lock);
static inline int static inline int
EVLOCK_TRY_LOCK(void *lock) EVLOCK_TRY_LOCK(void *lock)
{ {
if (lock && _evthread_lock_fns.lock) { if (lock && ompi__evthread_lock_fns.lock) {
int r = _evthread_lock_fns.lock(EVTHREAD_TRY, lock); int r = ompi__evthread_lock_fns.lock(EVTHREAD_TRY, lock);
return !r; return !r;
} else { } else {
/* Locking is disabled either globally or for this thing; /* Locking is disabled either globally or for this thing;
@ -147,35 +147,35 @@ EVLOCK_TRY_LOCK(void *lock)
/** Allocate a new condition variable and store it in the void *, condvar */ /** Allocate a new condition variable and store it in the void *, condvar */
#define EVTHREAD_ALLOC_COND(condvar) \ #define EVTHREAD_ALLOC_COND(condvar) \
do { \ do { \
(condvar) = _evthread_cond_fns.alloc_condition ? \ (condvar) = ompi__evthread_cond_fns.alloc_condition ? \
_evthread_cond_fns.alloc_condition(0) : NULL; \ ompi__evthread_cond_fns.alloc_condition(0) : NULL; \
} while (0) } while (0)
/** Deallocate and free a condition variable in condvar */ /** Deallocate and free a condition variable in condvar */
#define EVTHREAD_FREE_COND(cond) \ #define EVTHREAD_FREE_COND(cond) \
do { \ do { \
if (cond) \ if (cond) \
_evthread_cond_fns.free_condition((cond)); \ ompi__evthread_cond_fns.free_condition((cond)); \
} while (0) } while (0)
/** Signal one thread waiting on cond */ /** Signal one thread waiting on cond */
#define EVTHREAD_COND_SIGNAL(cond) \ #define EVTHREAD_COND_SIGNAL(cond) \
( (cond) ? _evthread_cond_fns.signal_condition((cond), 0) : 0 ) ( (cond) ? ompi__evthread_cond_fns.signal_condition((cond), 0) : 0 )
/** Signal all threads waiting on cond */ /** Signal all threads waiting on cond */
#define EVTHREAD_COND_BROADCAST(cond) \ #define EVTHREAD_COND_BROADCAST(cond) \
( (cond) ? _evthread_cond_fns.signal_condition((cond), 1) : 0 ) ( (cond) ? ompi__evthread_cond_fns.signal_condition((cond), 1) : 0 )
/** Wait until the condition 'cond' is signalled. Must be called while /** Wait until the condition 'cond' is signalled. Must be called while
* holding 'lock'. The lock will be released until the condition is * holding 'lock'. The lock will be released until the condition is
* signalled, at which point it will be acquired again. Returns 0 for * signalled, at which point it will be acquired again. Returns 0 for
* success, -1 for failure. */ * success, -1 for failure. */
#define EVTHREAD_COND_WAIT(cond, lock) \ #define EVTHREAD_COND_WAIT(cond, lock) \
( (cond) ? _evthread_cond_fns.wait_condition((cond), (lock), NULL) : 0 ) ( (cond) ? ompi__evthread_cond_fns.wait_condition((cond), (lock), NULL) : 0 )
/** As EVTHREAD_COND_WAIT, but gives up after 'tv' has elapsed. Returns 1 /** As EVTHREAD_COND_WAIT, but gives up after 'tv' has elapsed. Returns 1
* on timeout. */ * on timeout. */
#define EVTHREAD_COND_WAIT_TIMED(cond, lock, tv) \ #define EVTHREAD_COND_WAIT_TIMED(cond, lock, tv) \
( (cond) ? _evthread_cond_fns.wait_condition((cond), (lock), (tv)) : 0 ) ( (cond) ? ompi__evthread_cond_fns.wait_condition((cond), (lock), (tv)) : 0 )
/** True iff locking functions have been configured. */ /** True iff locking functions have been configured. */
#define EVTHREAD_LOCKING_ENABLED() \ #define EVTHREAD_LOCKING_ENABLED() \
(_evthread_lock_fns.lock != NULL) (ompi__evthread_lock_fns.lock != NULL)
#elif ! defined(_EVENT_DISABLE_THREAD_SUPPORT) #elif ! defined(_EVENT_DISABLE_THREAD_SUPPORT)

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

@ -45,12 +45,12 @@
#endif #endif
/* globals */ /* globals */
GLOBAL int _evthread_lock_debugging_enabled = 0; GLOBAL int ompi__evthread_lock_debugging_enabled = 0;
GLOBAL struct evthread_lock_callbacks _evthread_lock_fns = { GLOBAL struct evthread_lock_callbacks ompi__evthread_lock_fns = {
0, 0, NULL, NULL, NULL, NULL 0, 0, NULL, NULL, NULL, NULL
}; };
GLOBAL unsigned long (*_evthread_id_fn)(void) = NULL; GLOBAL unsigned long (*ompi__evthread_id_fn)(void) = NULL;
GLOBAL struct evthread_condition_callbacks _evthread_cond_fns = { GLOBAL struct evthread_condition_callbacks ompi__evthread_cond_fns = {
0, NULL, NULL, NULL, NULL 0, NULL, NULL, NULL, NULL
}; };
@ -65,21 +65,21 @@ static struct evthread_condition_callbacks _original_cond_fns = {
void void
evthread_set_id_callback(unsigned long (*id_fn)(void)) evthread_set_id_callback(unsigned long (*id_fn)(void))
{ {
_evthread_id_fn = id_fn; ompi__evthread_id_fn = id_fn;
} }
int int
evthread_set_lock_callbacks(const struct evthread_lock_callbacks *cbs) evthread_set_lock_callbacks(const struct evthread_lock_callbacks *cbs)
{ {
struct evthread_lock_callbacks *target = struct evthread_lock_callbacks *target =
_evthread_lock_debugging_enabled ompi__evthread_lock_debugging_enabled
? &_original_lock_fns : &_evthread_lock_fns; ? &_original_lock_fns : &ompi__evthread_lock_fns;
if (!cbs) { if (!cbs) {
if (target->alloc) if (target->alloc)
event_warnx("Trying to disable lock functions after " event_warnx("Trying to disable lock functions after "
"they have been set up will probaby not work."); "they have been set up will probaby not work.");
memset(target, 0, sizeof(_evthread_lock_fns)); memset(target, 0, sizeof(ompi__evthread_lock_fns));
return 0; return 0;
} }
if (target->alloc) { if (target->alloc) {
@ -98,7 +98,7 @@ evthread_set_lock_callbacks(const struct evthread_lock_callbacks *cbs)
return -1; return -1;
} }
if (cbs->alloc && cbs->free && cbs->lock && cbs->unlock) { if (cbs->alloc && cbs->free && cbs->lock && cbs->unlock) {
memcpy(target, cbs, sizeof(_evthread_lock_fns)); memcpy(target, cbs, sizeof(ompi__evthread_lock_fns));
return event_global_setup_locks_(1); return event_global_setup_locks_(1);
} else { } else {
return -1; return -1;
@ -109,15 +109,15 @@ int
evthread_set_condition_callbacks(const struct evthread_condition_callbacks *cbs) evthread_set_condition_callbacks(const struct evthread_condition_callbacks *cbs)
{ {
struct evthread_condition_callbacks *target = struct evthread_condition_callbacks *target =
_evthread_lock_debugging_enabled ompi__evthread_lock_debugging_enabled
? &_original_cond_fns : &_evthread_cond_fns; ? &_original_cond_fns : &ompi__evthread_cond_fns;
if (!cbs) { if (!cbs) {
if (target->alloc_condition) if (target->alloc_condition)
event_warnx("Trying to disable condition functions " event_warnx("Trying to disable condition functions "
"after they have been set up will probaby not " "after they have been set up will probaby not "
"work."); "work.");
memset(target, 0, sizeof(_evthread_cond_fns)); memset(target, 0, sizeof(ompi__evthread_cond_fns));
return 0; return 0;
} }
if (target->alloc_condition) { if (target->alloc_condition) {
@ -136,12 +136,12 @@ evthread_set_condition_callbacks(const struct evthread_condition_callbacks *cbs)
} }
if (cbs->alloc_condition && cbs->free_condition && if (cbs->alloc_condition && cbs->free_condition &&
cbs->signal_condition && cbs->wait_condition) { cbs->signal_condition && cbs->wait_condition) {
memcpy(target, cbs, sizeof(_evthread_cond_fns)); memcpy(target, cbs, sizeof(ompi__evthread_cond_fns));
} }
if (_evthread_lock_debugging_enabled) { if (ompi__evthread_lock_debugging_enabled) {
_evthread_cond_fns.alloc_condition = cbs->alloc_condition; ompi__evthread_cond_fns.alloc_condition = cbs->alloc_condition;
_evthread_cond_fns.free_condition = cbs->free_condition; ompi__evthread_cond_fns.free_condition = cbs->free_condition;
_evthread_cond_fns.signal_condition = cbs->signal_condition; ompi__evthread_cond_fns.signal_condition = cbs->signal_condition;
} }
return 0; return 0;
} }
@ -197,9 +197,9 @@ evthread_debug_lock_mark_locked(unsigned mode, struct debug_lock *lock)
++lock->count; ++lock->count;
if (!(lock->locktype & EVTHREAD_LOCKTYPE_RECURSIVE)) if (!(lock->locktype & EVTHREAD_LOCKTYPE_RECURSIVE))
EVUTIL_ASSERT(lock->count == 1); EVUTIL_ASSERT(lock->count == 1);
if (_evthread_id_fn) { if (ompi__evthread_id_fn) {
unsigned long me; unsigned long me;
me = _evthread_id_fn(); me = ompi__evthread_id_fn();
if (lock->count > 1) if (lock->count > 1)
EVUTIL_ASSERT(lock->held_by == me); EVUTIL_ASSERT(lock->held_by == me);
lock->held_by = me; lock->held_by = me;
@ -230,8 +230,8 @@ evthread_debug_lock_mark_unlocked(unsigned mode, struct debug_lock *lock)
EVUTIL_ASSERT(mode & (EVTHREAD_READ|EVTHREAD_WRITE)); EVUTIL_ASSERT(mode & (EVTHREAD_READ|EVTHREAD_WRITE));
else else
EVUTIL_ASSERT((mode & (EVTHREAD_READ|EVTHREAD_WRITE)) == 0); EVUTIL_ASSERT((mode & (EVTHREAD_READ|EVTHREAD_WRITE)) == 0);
if (_evthread_id_fn) { if (ompi__evthread_id_fn) {
EVUTIL_ASSERT(lock->held_by == _evthread_id_fn()); EVUTIL_ASSERT(lock->held_by == ompi__evthread_id_fn());
if (lock->count == 1) if (lock->count == 1)
lock->held_by = 0; lock->held_by = 0;
} }
@ -274,17 +274,17 @@ evthread_enable_lock_debuging(void)
debug_lock_lock, debug_lock_lock,
debug_lock_unlock debug_lock_unlock
}; };
if (_evthread_lock_debugging_enabled) if (ompi__evthread_lock_debugging_enabled)
return; return;
memcpy(&_original_lock_fns, &_evthread_lock_fns, memcpy(&_original_lock_fns, &ompi__evthread_lock_fns,
sizeof(struct evthread_lock_callbacks)); sizeof(struct evthread_lock_callbacks));
memcpy(&_evthread_lock_fns, &cbs, memcpy(&ompi__evthread_lock_fns, &cbs,
sizeof(struct evthread_lock_callbacks)); sizeof(struct evthread_lock_callbacks));
memcpy(&_original_cond_fns, &_evthread_cond_fns, memcpy(&_original_cond_fns, &ompi__evthread_cond_fns,
sizeof(struct evthread_condition_callbacks)); sizeof(struct evthread_condition_callbacks));
_evthread_cond_fns.wait_condition = debug_cond_wait; ompi__evthread_cond_fns.wait_condition = debug_cond_wait;
_evthread_lock_debugging_enabled = 1; ompi__evthread_lock_debugging_enabled = 1;
/* XXX return value should get checked. */ /* XXX return value should get checked. */
event_global_setup_locks_(0); event_global_setup_locks_(0);
@ -296,8 +296,8 @@ _evthread_is_debug_lock_held(void *lock_)
struct debug_lock *lock = lock_; struct debug_lock *lock = lock_;
if (! lock->count) if (! lock->count)
return 0; return 0;
if (_evthread_id_fn) { if (ompi__evthread_id_fn) {
unsigned long me = _evthread_id_fn(); unsigned long me = ompi__evthread_id_fn();
if (lock->held_by != me) if (lock->held_by != me)
return 0; return 0;
} }
@ -344,15 +344,15 @@ evthread_setup_global_lock_(void *lock_, unsigned locktype, int enable_locks)
lock->count = 0; lock->count = 0;
lock->held_by = 0; lock->held_by = 0;
return lock; return lock;
} else if (enable_locks && ! _evthread_lock_debugging_enabled) { } else if (enable_locks && ! ompi__evthread_lock_debugging_enabled) {
/* Case 3: allocate a regular lock */ /* Case 3: allocate a regular lock */
EVUTIL_ASSERT(lock_ == NULL); EVUTIL_ASSERT(lock_ == NULL);
return _evthread_lock_fns.alloc(locktype); return ompi__evthread_lock_fns.alloc(locktype);
} else { } else {
/* Case 4: Fill in a debug lock with a real lock */ /* Case 4: Fill in a debug lock with a real lock */
struct debug_lock *lock = lock_; struct debug_lock *lock = lock_;
EVUTIL_ASSERT(enable_locks && EVUTIL_ASSERT(enable_locks &&
_evthread_lock_debugging_enabled); ompi__evthread_lock_debugging_enabled);
EVUTIL_ASSERT(lock->locktype == locktype); EVUTIL_ASSERT(lock->locktype == locktype);
EVUTIL_ASSERT(lock->lock == NULL); EVUTIL_ASSERT(lock->lock == NULL);
lock->lock = _original_lock_fns.alloc( lock->lock = _original_lock_fns.alloc(
@ -371,74 +371,74 @@ evthread_setup_global_lock_(void *lock_, unsigned locktype, int enable_locks)
unsigned long unsigned long
_evthreadimpl_get_id() _evthreadimpl_get_id()
{ {
return _evthread_id_fn ? _evthread_id_fn() : 1; return ompi__evthread_id_fn ? ompi__evthread_id_fn() : 1;
} }
void * void *
_evthreadimpl_lock_alloc(unsigned locktype) _evthreadimpl_lock_alloc(unsigned locktype)
{ {
return _evthread_lock_fns.alloc ? return ompi__evthread_lock_fns.alloc ?
_evthread_lock_fns.alloc(locktype) : NULL; ompi__evthread_lock_fns.alloc(locktype) : NULL;
} }
void void
_evthreadimpl_lock_free(void *lock, unsigned locktype) _evthreadimpl_lock_free(void *lock, unsigned locktype)
{ {
if (_evthread_lock_fns.free) if (ompi__evthread_lock_fns.free)
_evthread_lock_fns.free(lock, locktype); ompi__evthread_lock_fns.free(lock, locktype);
} }
int int
_evthreadimpl_lock_lock(unsigned mode, void *lock) _evthreadimpl_lock_lock(unsigned mode, void *lock)
{ {
if (_evthread_lock_fns.lock) if (ompi__evthread_lock_fns.lock)
return _evthread_lock_fns.lock(mode, lock); return ompi__evthread_lock_fns.lock(mode, lock);
else else
return 0; return 0;
} }
int int
_evthreadimpl_lock_unlock(unsigned mode, void *lock) _evthreadimpl_lock_unlock(unsigned mode, void *lock)
{ {
if (_evthread_lock_fns.unlock) if (ompi__evthread_lock_fns.unlock)
return _evthread_lock_fns.unlock(mode, lock); return ompi__evthread_lock_fns.unlock(mode, lock);
else else
return 0; return 0;
} }
void * void *
_evthreadimpl_cond_alloc(unsigned condtype) _evthreadimpl_cond_alloc(unsigned condtype)
{ {
return _evthread_cond_fns.alloc_condition ? return ompi__evthread_cond_fns.alloc_condition ?
_evthread_cond_fns.alloc_condition(condtype) : NULL; ompi__evthread_cond_fns.alloc_condition(condtype) : NULL;
} }
void void
_evthreadimpl_cond_free(void *cond) _evthreadimpl_cond_free(void *cond)
{ {
if (_evthread_cond_fns.free_condition) if (ompi__evthread_cond_fns.free_condition)
_evthread_cond_fns.free_condition(cond); ompi__evthread_cond_fns.free_condition(cond);
} }
int int
_evthreadimpl_cond_signal(void *cond, int broadcast) _evthreadimpl_cond_signal(void *cond, int broadcast)
{ {
if (_evthread_cond_fns.signal_condition) if (ompi__evthread_cond_fns.signal_condition)
return _evthread_cond_fns.signal_condition(cond, broadcast); return ompi__evthread_cond_fns.signal_condition(cond, broadcast);
else else
return 0; return 0;
} }
int int
_evthreadimpl_cond_wait(void *cond, void *lock, const struct timeval *tv) _evthreadimpl_cond_wait(void *cond, void *lock, const struct timeval *tv)
{ {
if (_evthread_cond_fns.wait_condition) if (ompi__evthread_cond_fns.wait_condition)
return _evthread_cond_fns.wait_condition(cond, lock, tv); return ompi__evthread_cond_fns.wait_condition(cond, lock, tv);
else else
return 0; return 0;
} }
int int
_evthreadimpl_is_lock_debugging_enabled(void) _evthreadimpl_is_lock_debugging_enabled(void)
{ {
return _evthread_lock_debugging_enabled; return ompi__evthread_lock_debugging_enabled;
} }
int int
_evthreadimpl_locking_enabled(void) _evthreadimpl_locking_enabled(void)
{ {
return _evthread_lock_fns.lock != NULL; return ompi__evthread_lock_fns.lock != NULL;
} }
#endif #endif

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

@ -2113,7 +2113,7 @@ _evutil_weakrand(void)
* Volatile pointer to memset: we use this to keep the compiler from * Volatile pointer to memset: we use this to keep the compiler from
* eliminating our call to memset. * eliminating our call to memset.
*/ */
void * (*volatile evutil_memset_volatile_)(void *, int, size_t) = memset; static void * (*volatile evutil_memset_volatile_)(void *, int, size_t) = memset;
void void
evutil_memclear_(void *mem, size_t len) evutil_memclear_(void *mem, size_t len)

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

@ -57,7 +57,7 @@ void _event_debugx(const char *fmt, ...) EV_CHECK_FMT(1,2);
#undef EV_CHECK_FMT #undef EV_CHECK_FMT
/**** OMPI CHANGE ****/ /**** OMPI CHANGE ****/
extern int event_enable_debug_output; extern int ompi_event_enable_debug_output;
/**** END OMPI CHANGE ****/ /**** END OMPI CHANGE ****/
#endif #endif

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

@ -64,7 +64,7 @@ static void event_exit(int errcode) EV_NORETURN;
static event_fatal_cb fatal_fn = NULL; static event_fatal_cb fatal_fn = NULL;
/**** OMPI CHANGE ****/ /**** OMPI CHANGE ****/
int event_enable_debug_output = 0; int ompi_event_enable_debug_output = 0;
/**** END OMPI CHANGE ****/ /**** END OMPI CHANGE ****/
void void

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

@ -814,7 +814,7 @@ end:
#ifndef WIN32 #ifndef WIN32
static void signal_cb(evutil_socket_t fd, short event, void *arg); static void signal_cb(evutil_socket_t fd, short event, void *arg);
#define current_base event_global_current_base_ #define current_base ompi_event_global_current_base_
extern struct event_base *current_base; extern struct event_base *current_base;
static void static void

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

@ -4,6 +4,7 @@
* Copyright (c) 2012-2015 Los Alamos National Security, LLC. All rights reserved. * Copyright (c) 2012-2015 Los Alamos National Security, LLC. All rights reserved.
* Copyright (c) 2015 Intel, Inc. All rights reserved. * Copyright (c) 2015 Intel, Inc. All rights reserved.
* *
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -35,7 +36,7 @@ const char *opal_event_libevent2022_component_version_string =
/* /*
* MCA variables * MCA variables
*/ */
char *event_module_include = NULL; char *ompi_event_module_include = NULL;
/* copied from event.c */ /* copied from event.c */
#if defined(_EVENT_HAVE_EVENT_PORTS) && _EVENT_HAVE_EVENT_PORTS #if defined(_EVENT_HAVE_EVENT_PORTS) && _EVENT_HAVE_EVENT_PORTS
@ -61,7 +62,7 @@ extern const struct eventop win32ops;
#endif #endif
/* Array of backends in order of preference. */ /* Array of backends in order of preference. */
const struct eventop *eventops[] = { const struct eventop *ompi_eventops[] = {
#if defined(_EVENT_HAVE_EVENT_PORTS) && _EVENT_HAVE_EVENT_PORTS #if defined(_EVENT_HAVE_EVENT_PORTS) && _EVENT_HAVE_EVENT_PORTS
&evportops, &evportops,
#endif #endif
@ -122,7 +123,7 @@ const opal_event_component_t mca_event_libevent2022_component = {
static int libevent2022_register (void) static int libevent2022_register (void)
{ {
const struct eventop** _eventop = eventops; const struct eventop** _eventop = ompi_eventops;
char available_eventops[BUFSIZ] = "none"; char available_eventops[BUFSIZ] = "none";
char *help_msg = NULL; char *help_msg = NULL;
int ret; int ret;
@ -156,18 +157,18 @@ static int libevent2022_register (void)
const int len = sizeof (available_eventops); const int len = sizeof (available_eventops);
int cur_len = snprintf (available_eventops, len, "%s", (*(_eventop++))->name); int cur_len = snprintf (available_eventops, len, "%s", (*(_eventop++))->name);
for (int i = 1 ; eventops[i] && cur_len < len ; ++i) { for (int i = 1 ; ompi_eventops[i] && cur_len < len ; ++i) {
cur_len += snprintf (available_eventops + cur_len, len - cur_len, ", %s", cur_len += snprintf (available_eventops + cur_len, len - cur_len, ", %s",
eventops[i]->name); ompi_eventops[i]->name);
} }
/* ensure the available_eventops string is always NULL-terminated */ /* ensure the available_eventops string is always NULL-terminated */
available_eventops[len - 1] = '\0'; available_eventops[len - 1] = '\0';
} }
#ifdef __APPLE__ #ifdef __APPLE__
event_module_include ="select"; ompi_event_module_include ="select";
#else #else
event_module_include = "poll"; ompi_event_module_include = "poll";
#endif #endif
asprintf( &help_msg, asprintf( &help_msg,
@ -181,7 +182,7 @@ static int libevent2022_register (void)
MCA_BASE_VAR_FLAG_SETTABLE, MCA_BASE_VAR_FLAG_SETTABLE,
OPAL_INFO_LVL_3, OPAL_INFO_LVL_3,
MCA_BASE_VAR_SCOPE_LOCAL, MCA_BASE_VAR_SCOPE_LOCAL,
&event_module_include); &ompi_event_module_include);
free(help_msg); /* release the help message */ free(help_msg); /* release the help message */
if (0 > ret) { if (0 > ret) {

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше