Merge pull request #3793 from bosilca/topic/monitoring_install_fix
Topic/monitoring install fix
Этот коммит содержится в:
Коммит
f8a02eb649
@ -1420,11 +1420,8 @@ AC_CONFIG_FILES([
|
||||
test/threads/Makefile
|
||||
test/util/Makefile
|
||||
])
|
||||
|
||||
m4_ifdef([project_ompi], [AC_CONFIG_FILES([test/monitoring/Makefile])])
|
||||
m4_ifdef([project_ompi], [
|
||||
m4_ifdef([MCA_BUILD_ompi_pml_monitoring_DSO_TRUE],
|
||||
[AC_CONFIG_LINKS(test/monitoring/profile2mat.pl:test/monitoring/profile2mat.pl
|
||||
test/monitoring/aggregate_profile.pl:test/monitoring/aggregate_profile.pl)])])
|
||||
|
||||
AC_CONFIG_FILES([contrib/dist/mofed/debian/rules],
|
||||
[chmod +x contrib/dist/mofed/debian/rules])
|
||||
|
23
ompi/mca/coll/monitoring/configure.m4
Обычный файл
23
ompi/mca/coll/monitoring/configure.m4
Обычный файл
@ -0,0 +1,23 @@
|
||||
# -*- shell-script -*-
|
||||
#
|
||||
# Copyright (c) 2017 The University of Tennessee and The University
|
||||
# of Tennessee Research Foundation. All rights
|
||||
# reserved.
|
||||
# $COPYRIGHT$
|
||||
#
|
||||
# Additional copyrights may follow
|
||||
#
|
||||
# $HEADER$
|
||||
#
|
||||
|
||||
# MCA_ompi_coll_monitoring_CONFIG([action-if-can-compile],
|
||||
# [action-if-cant-compile])
|
||||
# ------------------------------------------------
|
||||
AC_DEFUN([MCA_ompi_coll_monitoring_CONFIG],[
|
||||
AC_CONFIG_FILES([ompi/mca/coll/monitoring/Makefile])
|
||||
|
||||
AS_IF([test MCA_BUILD_ompi_common_monitoring_DSO_TRUE == ''],
|
||||
[$1],
|
||||
[$2])
|
||||
])dnl
|
||||
|
@ -1,4 +1,7 @@
|
||||
#
|
||||
# Copyright (c) 2016 The University of Tennessee and The University
|
||||
# of Tennessee Research Foundation. All rights
|
||||
# reserved.
|
||||
# Copyright (c) 2016 Inria. All rights reserved.
|
||||
# Copyright (c) 2017 Research Organization for Information Science
|
||||
# and Technology (RIST). All rights reserved.
|
||||
@ -9,6 +12,8 @@
|
||||
# $HEADER$
|
||||
#
|
||||
|
||||
EXTRA_DIST = profile2mat.pl aggregate_profile.pl
|
||||
|
||||
sources = common_monitoring.c common_monitoring_coll.c
|
||||
headers = common_monitoring.h common_monitoring_coll.h
|
||||
|
||||
@ -19,6 +24,19 @@ component_noinst = libmca_common_monitoring_noinst.la
|
||||
|
||||
if MCA_BUILD_ompi_common_monitoring_DSO
|
||||
lib_LTLIBRARIES += $(component_install)
|
||||
lib_LTLIBRARIES += ompi_monitoring_prof.la
|
||||
|
||||
ompi_monitoring_prof_la_SOURCES = monitoring_prof.c
|
||||
ompi_monitoring_prof_la_LDFLAGS= \
|
||||
-module -avoid-version -shared $(WRAPPER_EXTRA_LDFLAGS)
|
||||
ompi_monitoring_prof_la_LIBADD = \
|
||||
$(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la \
|
||||
$(top_builddir)/opal/lib@OPAL_LIB_PREFIX@open-pal.la
|
||||
|
||||
if OPAL_INSTALL_BINARIES
|
||||
bin_SCRIPTS = profile2mat.pl aggregate_profile.pl
|
||||
endif # OPAL_INSTALL_BINARIES
|
||||
|
||||
else
|
||||
noinst_LTLIBRARIES += $(component_noinst)
|
||||
endif
|
||||
|
@ -110,6 +110,7 @@ typedef struct mca_monitoring_coll_data_t mca_monitoring_coll_data_t;
|
||||
OMPI_DECLSPEC OBJ_CLASS_DECLARATION(mca_monitoring_coll_data_t);
|
||||
|
||||
OMPI_DECLSPEC mca_monitoring_coll_data_t*mca_common_monitoring_coll_new(ompi_communicator_t*comm);
|
||||
OMPI_DECLSPEC int mca_common_monitoring_coll_cache_name(ompi_communicator_t*comm);
|
||||
OMPI_DECLSPEC void mca_common_monitoring_coll_release(mca_monitoring_coll_data_t*data);
|
||||
OMPI_DECLSPEC void mca_common_monitoring_coll_o2a(size_t size, mca_monitoring_coll_data_t*data);
|
||||
OMPI_DECLSPEC void mca_common_monitoring_coll_a2o(size_t size, mca_monitoring_coll_data_t*data);
|
||||
|
@ -41,13 +41,20 @@ struct mca_monitoring_coll_data_t {
|
||||
/* Collectives operation monitoring */
|
||||
static opal_hash_table_t *comm_data = NULL;
|
||||
|
||||
int mca_common_monitoring_coll_cache_name(ompi_communicator_t*comm)
|
||||
{
|
||||
mca_monitoring_coll_data_t*data;
|
||||
int ret = opal_hash_table_get_value_uint64(comm_data, *((uint64_t*)&comm), (void*)&data);
|
||||
if( OPAL_SUCCESS == ret ) {
|
||||
data->comm_name = strdup(comm->c_name);
|
||||
data->p_comm = NULL;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
static inline void mca_common_monitoring_coll_cache(mca_monitoring_coll_data_t*data)
|
||||
{
|
||||
if( data->is_released ) {
|
||||
/* As long as the data struct is not released, we still have the communicator to
|
||||
immediately fetch the communicator's name */
|
||||
data->comm_name = strdup(data->p_comm->c_name);
|
||||
}
|
||||
int world_rank;
|
||||
if( -1 == data->world_rank ) {
|
||||
/* Get current process world_rank */
|
||||
mca_common_monitoring_get_world_rank(ompi_comm_rank(data->p_comm), data->p_comm,
|
||||
@ -160,9 +167,8 @@ void mca_common_monitoring_coll_flush(FILE *pf, mca_monitoring_coll_data_t*data)
|
||||
"O2A\t%" PRId32 "\t%zu bytes\t%zu msgs sent\n"
|
||||
"A2O\t%" PRId32 "\t%zu bytes\t%zu msgs sent\n"
|
||||
"A2A\t%" PRId32 "\t%zu bytes\t%zu msgs sent\n",
|
||||
data->p_comm ? data->p_comm->c_name
|
||||
: data->comm_name ? data->comm_name : "(no-name)",
|
||||
data->procs,
|
||||
data->comm_name ? data->comm_name : data->p_comm ?
|
||||
data->p_comm->c_name : "(no-name)", data->procs,
|
||||
data->world_rank, data->o2a_size, data->o2a_count,
|
||||
data->world_rank, data->a2o_size, data->a2o_count,
|
||||
data->world_rank, data->a2a_size, data->a2a_count);
|
||||
|
28
ompi/mca/common/monitoring/configure.m4
Обычный файл
28
ompi/mca/common/monitoring/configure.m4
Обычный файл
@ -0,0 +1,28 @@
|
||||
# -*- shell-script -*-
|
||||
#
|
||||
# Copyright (c) 2017 The University of Tennessee and The University
|
||||
# of Tennessee Research Foundation. All rights
|
||||
# reserved.
|
||||
# $COPYRIGHT$
|
||||
#
|
||||
# Additional copyrights may follow
|
||||
#
|
||||
# $HEADER$
|
||||
#
|
||||
|
||||
# MCA_ompi_common_monitoring_CONFIG([action-if-can-compile],
|
||||
# [action-if-cant-compile])
|
||||
# ------------------------------------------------
|
||||
AC_DEFUN([MCA_ompi_common_monitoring_CONFIG],[
|
||||
AC_CONFIG_FILES([ompi/mca/common/monitoring/Makefile])
|
||||
|
||||
m4_ifdef([project_ompi], [
|
||||
m4_ifdef([MCA_BUILD_ompi_common_monitoring_DSO_TRUE],
|
||||
[AC_CONFIG_LINKS(profile2mat.pl:test/monitoring/profile2mat.pl
|
||||
aggregate_profile.pl:test/monitoring/aggregate_profile.pl)])])
|
||||
|
||||
|
||||
AS_IF([test MCA_BUILD_ompi_common_monitoring_DSO_TRUE == ''],
|
||||
[$1],
|
||||
[$2])
|
||||
])dnl
|
@ -11,9 +11,12 @@
|
||||
# MCA_ompi_osc_monitoring_CONFIG()
|
||||
# ------------------------------------------------
|
||||
AC_DEFUN([MCA_ompi_osc_monitoring_CONFIG],[
|
||||
AC_CONFIG_FILES([ompi/mca/osc/monitoring/Makefile])
|
||||
AC_CONFIG_FILES([ompi/mca/osc/monitoring/Makefile])
|
||||
|
||||
OPAL_CHECK_PORTALS4([osc_monitoring],
|
||||
[AC_DEFINE([OMPI_WITH_OSC_PORTALS4], [1], [Whether or not to generate template for osc_portals4])],
|
||||
[])
|
||||
])dnl
|
||||
AS_IF([test MCA_BUILD_ompi_common_monitoring_DSO_TRUE == ''],
|
||||
[$1],
|
||||
[$2])
|
||||
OPAL_CHECK_PORTALS4([osc_monitoring],
|
||||
[AC_DEFINE([OMPI_WITH_OSC_PORTALS4], [1], [Whether or not to generate template for osc_portals4])],
|
||||
[])
|
||||
])dnl
|
||||
|
24
ompi/mca/pml/monitoring/configure.m4
Обычный файл
24
ompi/mca/pml/monitoring/configure.m4
Обычный файл
@ -0,0 +1,24 @@
|
||||
# -*- shell-script -*-
|
||||
#
|
||||
# Copyright (c) 2017 The University of Tennessee and The University
|
||||
# of Tennessee Research Foundation. All rights
|
||||
# reserved.
|
||||
# $COPYRIGHT$
|
||||
#
|
||||
# Additional copyrights may follow
|
||||
#
|
||||
# $HEADER$
|
||||
#
|
||||
|
||||
# MCA_ompi_coll_monitoring_CONFIG([action-if-can-compile],
|
||||
# [action-if-cant-compile])
|
||||
# ------------------------------------------------
|
||||
AC_DEFUN([MCA_ompi_pml_monitoring_CONFIG],[
|
||||
AC_CONFIG_FILES([ompi/mca/pml/monitoring/Makefile])
|
||||
|
||||
AS_IF([test MCA_BUILD_ompi_common_monitoring_DSO_TRUE == ''],
|
||||
[$1],
|
||||
[$2])
|
||||
])dnl
|
||||
|
||||
|
@ -20,5 +20,6 @@ int mca_pml_monitoring_add_comm(struct ompi_communicator_t* comm)
|
||||
|
||||
int mca_pml_monitoring_del_comm(struct ompi_communicator_t* comm)
|
||||
{
|
||||
mca_common_monitoring_coll_cache_name(comm);
|
||||
return pml_selected_module.pml_del_comm(comm);
|
||||
}
|
||||
|
@ -14,8 +14,6 @@
|
||||
# $HEADER$
|
||||
#
|
||||
|
||||
EXTRA_DIST = profile2mat.pl aggregate_profile.pl
|
||||
|
||||
# This test requires multiple processes to run. Don't run it as part
|
||||
# of 'make check'
|
||||
if PROJECT_OMPI
|
||||
@ -45,21 +43,6 @@ if PROJECT_OMPI
|
||||
example_reduce_count_LDADD = \
|
||||
$(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la \
|
||||
$(top_builddir)/opal/lib@OPAL_LIB_PREFIX@open-pal.la
|
||||
|
||||
if MCA_BUILD_ompi_pml_monitoring_DSO
|
||||
lib_LTLIBRARIES = ompi_monitoring_prof.la
|
||||
ompi_monitoring_prof_la_SOURCES = monitoring_prof.c
|
||||
ompi_monitoring_prof_la_LDFLAGS= \
|
||||
-module -avoid-version -shared $(WRAPPER_EXTRA_LDFLAGS)
|
||||
ompi_monitoring_prof_la_LIBADD = \
|
||||
$(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la \
|
||||
$(top_builddir)/opal/lib@OPAL_LIB_PREFIX@open-pal.la
|
||||
endif # MCA_BUILD_ompi_pml_monitoring_DSO
|
||||
|
||||
if OPAL_INSTALL_BINARIES
|
||||
bin_SCRIPTS = profile2mat.pl aggregate_profile.pl
|
||||
endif # OPAL_INSTALL_BINARIES
|
||||
|
||||
endif # PROJECT_OMPI
|
||||
|
||||
distclean:
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user