1
1

Merge the ORTE devel branch into the main trunk. Details of what this means will be circulated separately.

Remains to be tested to ensure everything came over cleanly, so please continue to withhold commits a little longer

This commit was SVN r17632.
This commit is contained in:
Ralph Castain 2008-02-28 01:57:57 +00:00
parent 76e6334a57
commit d70e2e8c2b
1110 changed files with 46156 additions and 107680 deletions

View File

@ -67,9 +67,7 @@ m4_include(config/ompi_check_icc.m4)
m4_include(config/ompi_check_gm.m4)
m4_include(config/ompi_check_mx.m4)
m4_include(config/ompi_check_alps.m4)
m4_include(config/ompi_check_bproc.m4)
m4_include(config/ompi_check_lsf.m4)
m4_include(config/ompi_check_xcpu.m4)
m4_include(config/ompi_check_openib.m4)
m4_include(config/ompi_check_portals.m4)
m4_include(config/ompi_check_psm.m4)

View File

@ -1,67 +0,0 @@
# -*- shell-script -*-
#
# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
# University Research and Technology
# Corporation. All rights reserved.
# Copyright (c) 2004-2005 The University of Tennessee and The University
# of Tennessee Research Foundation. All rights
# reserved.
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
# University of Stuttgart. All rights reserved.
# Copyright (c) 2004-2005 The Regents of the University of California.
# All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#
# new bproc is LANL versions >= 3.2.0
# old bproc is all Scyld versions and LANL version < 3.2.0
# OMPI_CHECK_BPROC(prefix, [action-if-new-bproc], [action-if-old-bproc],
# [action-if-not-found])
# --------------------------------------------------------
AC_DEFUN([OMPI_CHECK_BPROC],[
AC_ARG_WITH([bproc],
[AC_HELP_STRING([--with-bproc],
[Directory where the BProc software is installed])])
AS_IF([test ! -z "$with_bproc" -a "$with_bproc" = "no"],[$4], [
ompi_check_bproc_save_CPPFLAGS="$CPPFLAGS"
ompi_check_bproc_save_LDFLAGS="$LDFLAGS"
ompi_check_bproc_save_LIBS="$LIBS"
AS_IF([test ! -z "$with_bproc" -a "$with_bproc" != "yes"],
[CPPFLAGS="$CPPFLAGS -I$with_bproc/include"
LDFLAGS="$LDFLAGS -L$with_bproc/lib"])
AC_CHECK_HEADERS([sys/bproc.h],
[AC_CHECK_LIB([bproc],
[bproc_numnodes],
[ompi_check_bproc_happy="yes"],
[ompi_check_bproc_happy="no"])],
[ompi_check_bproc_happy="no"])
# Check for Scyld bproc or an old version of LANL Bproc (pre 3.2.0)
AS_IF([test "$ompi_check_bproc_happy" = "yes"],
[AC_CHECK_HEADERS([sys/bproc_common.h],[ompi_check_bproc_happy="new"],
[ompi_check_bproc_happy="old"],
[#include <stdint.h>
#include <sys/socket.h>])])
CPPFLAGS="$ompi_check_bproc_save_CPPFLAGS"
LDFLAGS="$ompi_check_bproc_save_LDFLAGS"
LIBS="$ompi_check_bproc_save_LIBS"
AS_IF([test "$ompi_check_bproc_happy" != "no"],
[AS_IF([test ! -z "$with_bproc" -a "$with_bproc" != "yes"],
[$1_CPPFLAGS="$$1_CPPFLAGS -I$with_bproc/include"
$1_LDFLAGS="$$1_LDFLAGS -L$with_bproc/lib"])
$1_LIBS="$$1_LIBS -lbproc"
AS_IF([test "$ompi_check_bproc_happy" = "new"], [$2], [$3])],
[AS_IF([test ! -z "$with_bproc"],
[AC_MSG_ERROR([BProc support request but not found. Perhaps
you need to specify the location of the BProc libraries.])])
$4])
])
])

View File

@ -1,63 +0,0 @@
# -*- shell-script -*-
#
# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
# University Research and Technology
# Corporation. All rights reserved.
# Copyright (c) 2004-2005 The University of Tennessee and The University
# of Tennessee Research Foundation. All rights
# reserved.
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
# University of Stuttgart. All rights reserved.
# Copyright (c) 2004-2006 The Regents of the University of California.
# All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#
# OMPI_CHECK_XCPU(prefix, [action-if-found], [action-if-not-found])
# --------------------------------------------------------
AC_DEFUN([OMPI_CHECK_XCPU],[
AC_ARG_WITH([xcpu],
[AC_HELP_STRING([--with-xcpu],
[=yes will Build XCPU launcher component (default: no)])])
AS_IF([test ! -z "$with_xcpu" -a "$with_xcpu" = "no"],[$3], [
ompi_check_xcpu_save_CPPFLAGS="$CPPFLAGS"
ompi_check_xcpu_save_LDFLAGS="$LDFLAGS"
ompi_check_xcpu_save_LIBS="$LIBS"
AS_IF([test ! -z "$with_xcpu" -a "$with_xcpu" != "yes"],
[CPPFLAGS="$CPPFLAGS -I$with_xcpu/include"
LDFLAGS="$LDFLAGS -L$with_xcpu/lib"])
AC_CHECK_HEADERS([libxcpu.h],
[AC_CHECK_LIB([xcpu],
[xp_command_create],
[ompi_check_xcpu_happy="yes"],
[ompi_check_xcpu_happy="no"],
[-lstrutil -lspclient -lspfs -lelf])],
[ompi_check_xcpu_happy="no"],
[#include <stdio.h>
#include <spfs.h>
#include <spclient.h>
#include <strutil.h>])
CPPFLAGS="$ompi_check_xcpu_save_CPPFLAGS"
LDFLAGS="$ompi_check_xcpu_save_LDFLAGS"
LIBS="$ompi_check_xcpu_save_LIBS"
AS_IF([test "$ompi_check_xcpu_happy" != "no"],
[AS_IF([test ! -z "$with_xcpu" -a "$with_xcpu" != "yes"],
[$1_CPPFLAGS="$$1_CPPFLAGS -I$with_xcpu/include"
$1_LDFLAGS="$$1_LDFLAGS -L$with_xcpu/lib"])
$1_LIBS="$$1_LIBS -lxcpu -lstrutil -lspclient -lspfs -lelf" $2],
[AS_IF([test ! -z "$with_xcpu"],
[AC_MSG_ERROR([Xcpu support request but not found. Perhaps
you need to specify the location of the Xcpu libraries.])])
$3])
])
])

View File

@ -546,6 +546,25 @@ AC_DEFINE_UNQUOTED([ORTE_ENABLE_JUMBO_APPS], [$orte_want_jumbo_apps],
[Enable support for applications in excess of 32K processes and/or 32K jobs, or running on clusters in excess of 32k nodes])
#
# Minimal RTE support
#
AC_MSG_CHECKING([if want full RTE support])
AC_ARG_ENABLE([rte],
[AC_HELP_STRING([--disable-rte-support],
[Disable RTE support for systems that do not require it (default: full RTE support enabled)])])
if test "$enable_rte_support" = "no"; then
AC_MSG_RESULT([no])
orte_disable_full_support=1
else
AC_MSG_RESULT([yes])
orte_disable_full_support=0
fi
AC_DEFINE_UNQUOTED([ORTE_DISABLE_FULL_SUPPORT], [$orte_disable_full_support],
[Enable full RTE support])
AM_CONDITIONAL(ORTE_DISABLE_FULL_SUPPORT, test "$enable_rte_support" = "no")
#
# Cross-compile data
#

View File

@ -50,7 +50,7 @@ AC_DEFUN([OMPI_MCA],[
AC_ARG_ENABLE([mca-no-build],
[AC_HELP_STRING([--enable-mca-no-build=LIST],
[Comma-separated list of <type>-<component> pairs
that will not be built. Example: "--enable-mca-no-build=maffinity-libnuma,btl-portals" will disable building both the "libnuma" maffinity and "portals" btl components.])])
that will not be built. Example: "--enable-mca-no-build=maffinity,btl-portals" will disable building all maffinity components and the "portals" btl components.])])
AC_ARG_ENABLE(mca-dso,
AC_HELP_STRING([--enable-mca-dso=LIST],
[Comma-separated list of types and/or
@ -88,9 +88,13 @@ AC_DEFUN([OMPI_MCA],[
for item in $enable_mca_no_build; do
type="`echo $item | cut -s -f1 -d-`"
comp="`echo $item | cut -s -f2- -d-`"
if test -z $type -o -z $comp ; then
AC_MSG_ERROR([*** The enable-no-build flag requires a
*** list of type-component pairs. Invalid input detected.])
if test -z $type ; then
type=$item
fi
if test -z $comp ; then
str="`echo DISABLE_${type}=1 | sed s/-/_/g`"
eval $str
msg="$item $msg"
else
str="`echo DISABLE_${type}_${comp}=1 | sed s/-/_/g`"
eval $str
@ -359,9 +363,13 @@ AC_DEFUN([MCA_CONFIGURE_FRAMEWORK],[
# abort with a reasonable message.
m4_ifdef([mca_$2_no_config_component_list], [],
[m4_fatal([Could not find mca_$2_no_config_component_list - rerun autogen.sh without -l])])
# make sure priority stuff set right
m4_if(OMPI_EVAL_ARG([MCA_]mca_framework[_CONFIGURE_MODE]), [STOP_AT_FIRST],
[m4_ifval(mca_$2_no_config_component_list,
[m4_fatal([Framework $2 using STOP_AT_FIRST but at least one component has no configure.m4])])])
m4_if(OMPI_EVAL_ARG([MCA_]mca_framework[_CONFIGURE_MODE]), [STOP_AT_FIRST_PRIORITY],
[m4_ifval(mca_$2_no_config_component_list,
[m4_fatal([Framework $2 using STOP_AT_FIRST but at least one component has no configure.m4])])])
m4_foreach(mca_component, [mca_$2_no_config_component_list],
[m4_ifval(mca_component,
[MCA_CONFIGURE_NO_CONFIG_COMPONENT($1, $2, mca_component,
@ -404,7 +412,7 @@ AC_DEFUN([MCA_CONFIGURE_FRAMEWORK],[
# It would be really hard to run these for "find first that
# works", so we don't :)
m4_if(OMPI_EVAL_ARG([MCA_]mca_framework[_CONFIGURE_MODE]), [STOP_AT_FIRST], [],
[m4_if(OMPI_EVAL_ARG([MCA_]mca_framework[_CONFIGURE_MODE]), [STOP_AT_FIRST], [],
[m4_if(OMPI_EVAL_ARG([MCA_]mca_framework[_CONFIGURE_MODE]), [STOP_AT_FIRST_PRIORITY], [],
[AS_IF([test "$3" != "0"],
[MCA_CONFIGURE_ALL_CONFIG_COMPONENTS($1, $2, [all_components],
[static_components], [dso_components],
@ -876,6 +884,11 @@ AC_DEFUN([MCA_COMPONENT_BUILD_CHECK],[
fi
# if we were explicitly disabled, don't build :)
str="DISABLED_COMPONENT_CHECK=\$DISABLE_${framework}"
eval $str
if test "$DISABLED_COMPONENT_CHECK" = "1" ; then
want_component=0
fi
str="DISABLED_COMPONENT_CHECK=\$DISABLE_${framework}_$component"
eval $str
if test "$DISABLED_COMPONENT_CHECK" = "1" ; then

View File

@ -1263,11 +1263,7 @@ AC_CONFIG_FILES([
orte/include/Makefile
orte/etc/Makefile
orte/tools/orteboot/Makefile
orte/tools/orted/Makefile
orte/tools/ortehalt/Makefile
orte/tools/ortekill/Makefile
orte/tools/orteprobe/Makefile
orte/tools/orterun/Makefile
orte/tools/wrappers/Makefile
orte/tools/wrappers/ortecc-wrapper-data.txt
@ -1304,6 +1300,7 @@ AC_CONFIG_FILES([
ompi/tools/wrappers/mpif77-wrapper-data.txt
ompi/tools/wrappers/mpif90-wrapper-data.txt
ompi/tools/ortetools/Makefile
ompi/tools/ompi-server/Makefile
test/Makefile
test/event/Makefile

View File

@ -6,7 +6,8 @@ enable_pretty_print_stacktrace=no
enable_dlopen=no
with_portals_config=redstorm
with_memory_manager=none
enable_mca_no_build=maffinity-first_use,maffinity-libnuma,paffinity-linux,timer-linux,gpr-proxy,gpr-replica,iof-svc,ns-proxy,oob-tcp,pls-rsh,ras-dash_host,ras-hostfile,ras-localhost,rds-hostfile,rds-resfile,rmaps-round_robin,rmgr-proxy,rmgr-urm,rml-oob,sds-env,sds-seed,sds-singleton,btl-sm,btl-self,btl-tcp,coll-hierarch,coll-sm,common-sm,mpool-sm,pml-dr,filem-rsh,grpcomm-basic
enable_mca_no_build=carto-file,maffinity,paffinity,timer,errmgr,iof,odls,oob,plm,ras,rmaps,rml,routed,filem,btl-sm,btl-self,coll-hierarch,coll-sm,common-sm,mpool-sm,pml-dr,libnbc,vt
with_rte_support=no
enable_heterogeneous=no
enable_pty_support=no
enable_mem_debug=no

View File

@ -1,3 +1,7 @@
enable_mem_debug=no
enable_mem_profile=no
enable_debug=no
enable_debug_symbols=no
enable_io_romio=yes
enable_static=yes
enable_shared=no
@ -6,12 +10,9 @@ enable_pretty_print_stacktrace=no
enable_dlopen=no
with_portals_config=cnl_modex
with_memory_manager=none
enable_mca_no_build=maffinity-first_use,maffinity-libnuma,paffinity-linux,pls-rsh,pml-dr,filem-rsh,grpcomm-cnos,pls-cnos,rmgr-cnos,rml-cnos,routed-cnos,sds-portals_utcp,sds-cnos
enable_mca_no_build=maffinity-first_use,maffinity-libnuma,paffinity-linux,ess-cnos,pml-dr,filem-rsh,grpcomm-cnos,rmgr-cnos,rml-cnos
enable_heterogeneous=no
enable_pty_support=no
enable_mem_debug=no
enable_mem_profile=no
enable_debug_symbols=no
enable_binaries=yes
ompi_cv_f77_sizeof_LOGICAL=${ompi_cv_f77_sizeof_LOGICAL=4}

View File

@ -0,0 +1,20 @@
with_threads=no
enable_dlopen=no
enable_pty_support=no
with_tm=/opt/PBS
with_wrapper_cflags=-I/opt/panfs/include
LDFLAGS=-L/opt/PBS/lib64
with_openib=/opt/ofed
with_io_romio_flags=--with-file-system=ufs+nfs+panfs
with_memory_manager=no
enable_mem_debug=yes
enable_mem_profile=no
enable_debug_symbols=yes
enable_binaries=yes
with_devel_headers=yes
enable_heterogeneous=yes
enable_picky=yes
enable_debug=yes
enable_shared=yes
enable_static=no
with_slurm=no

View File

@ -0,0 +1,64 @@
#
# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
# University Research and Technology
# Corporation. All rights reserved.
# Copyright (c) 2004-2005 The University of Tennessee and The University
# of Tennessee Research Foundation. All rights
# reserved.
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
# University of Stuttgart. All rights reserved.
# Copyright (c) 2004-2005 The Regents of the University of California.
# All rights reserved.
# Copyright (c) 2006 Cisco Systems, Inc. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#
# This is the default system-wide MCA parameters defaults file.
# Specifically, the MCA parameter "mca_param_files" defaults to a
# value of
# "$HOME/.openmpi/mca-params.conf:$sysconf/openmpi-mca-params.conf"
# (this file is the latter of the two). So if the default value of
# mca_param_files is not changed, this file is used to set system-wide
# MCA parameters. This file can therefore be used to set system-wide
# default MCA parameters for all users. Of course, users can override
# these values if they want, but this file is an excellent location
# for setting system-specific MCA parameters for those users who don't
# know / care enough to investigate the proper values for them.
# Note that this file is only applicable where it is visible (in a
# filesystem sense). Specifically, MPI processes each read this file
# during their startup to determine what default values for MCA
# parameters should be used. mpirun does not bundle up the values in
# this file from the node where it was run and send them to all nodes;
# the default value decisions are effectively distributed. Hence,
# these values are only applicable on nodes that "see" this file. If
# $sysconf is a directory on a local disk, it is likely that changes
# to this file will need to be propagated to other nodes. If $sysconf
# is a directory that is shared via a networked filesystem, changes to
# this file will be visible to all nodes that share this $sysconf.
# The format is straightforward: one per line, mca_param_name =
# rvalue. Quoting is ignored (so if you use quotes or escape
# characters, they'll be included as part of the value). For example:
# Disable run-time MPI parameter checking
# mpi_param_check = 0
# Note that the value "~/" will be expanded to the current user's home
# directory. For example:
# Change component loading path
# component_path = /usr/local/lib/openmpi:~/my_openmpi_components
# See "ompi_info --param all all" for a full listing of Open MPI MCA
# parameters available and their default values.
oob_tcp_if_include = ib0
mpi_preconnect_oob = 1
btl_sm_free_list_max = 768
oob_tcp_connect_timeout = 600
oob_tcp_if_include = ib0

View File

@ -0,0 +1,18 @@
with_threads=no
enable_dlopen=no
enable_pty_support=no
with_tm=/opt/PBS
LDFLAGS=-L/opt/PBS/lib64
with_openib=/opt/ofed
with_memory_manager=yes
enable_mem_debug=no
enable_mem_profile=no
enable_debug_symbols=no
enable_binaries=yes
with_devel_headers=no
enable_heterogeneous=yes
enable_debug=no
enable_shared=yes
with_wrapper_cflags=-I/opt/panfs/include
with_io_romio_flags=--with-file-system=ufs+nfs+panfs
with_slurm=no

View File

@ -10,13 +10,9 @@ enable_dlopen=no
with_portals_config=utcp
with_memory_manager=no
enable_heterogeneous=no
enable_mca_no_build=maffinity-first_use,maffinity-libnuma,paffinity-linux,timer-linux,gpr-proxy,gpr-replica,rml-oob,btl-sm,mpool-sm,btl-self,ns-proxy,rds-resfile,rds-hostfile,sds-env,sds-pipe,sds-seed,sds-singleton,coll-hierarch,coll-sm,pml-dr,btl-tcp,oob-tcp,ras-dash_host,ras-hostfile,ras-localhost,rmaps-round_robin,rmgr-urm,rmgr-proxy,pls-fork,pls-rsh,common-sm,iof-svc
with_slurm=no
with_bproc=no
with_mvapi=no
enable_mca_no_build=maffinity,paffinity,timer,errmgr,iof,odls,oob,plm,ras,rmaps,rml,routed,btl-sm,mpool-sm,btl-self,coll-hierarch,coll-sm,pml-dr,btl-tcp,common-sm
with_rte_support=no
with_openib=no
with_gm=no
with_mx=no
with_rml_cnos=utcp
with_rmgr_cnos=utcp
enable_binaries=no

View File

@ -5,7 +5,7 @@ with_threads=no
enable_pretty_print_stacktrace=no
enable_dlopen=no
with_memory_manager=none
enable_mca_no_build=maffinity-first_use,maffinity-libnuma,paffinity-linux,timer-linux,allocator-basic,rcache-vma,pls-gridengine,pls-slurm,ras-slurm,ras-gridengine,btl-sm,coll-hierarch,coll-sm,common-sm,mpool-sm,pml-dr,pml-cm,mpool-rdma,osc-rdma,sds-slurm,backtrace-darwin,memory-darwin,memory-malloc_hook,memory_ptmalloc2,paffinity-solaris,paffinity-windows,timer-aix,timer-altix,timer-darwin,timer-solaris,timer-windows
enable_mca_no_build=maffinity,paffinity,timer,allocator-basic,rcache-vma,plm-gridengine,plm-slurm,ras-slurm,ras-gridengine,btl-sm,coll-hierarch,coll-sm,common-sm,mpool-sm,pml-dr,pml-cm,mpool-rdma,osc-rdma,ess-slurm,backtrace-darwin,memory-darwin,memory-malloc_hook,memory_ptmalloc2
enable_heterogeneous=no
enable_pty_support=no
enable_mem_debug=no

View File

@ -6,7 +6,8 @@ enable_pretty_print_stacktrace=no
enable_dlopen=no
with_portals_config=redstorm
with_memory_manager=none
enable_mca_no_build=maffinity-first_use,maffinity-libnuma,paffinity-linux,timer-linux,gpr-proxy,gpr-replica,iof-svc,ns-proxy,oob-tcp,pls-rsh,ras-dash_host,ras-hostfile,ras-localhost,rds-hostfile,rds-resfile,rmaps-round_robin,rmgr-proxy,rmgr-urm,rml-oob,sds-env,sds-seed,sds-singleton,btl-sm,btl-self,coll-hierarch,coll-sm,common-sm,mpool-sm,pml-dr,filem-rsh,grpcomm-basic
enable_mca_no_build=carto-file,maffinity,paffinity,timer,errmgr,iof,odls,oob,plm,ras,rmaps,rml,routed,filem,btl-sm,btl-self,coll-hierarch,coll-sm,common-sm,mpool-sm,pml-dr,libnbc,vt
with_rte_support=no
enable_heterogeneous=no
enable_pty_support=no
enable_mem_debug=no

View File

@ -25,6 +25,4 @@ headers += \
libmpi_la_SOURCES += \
communicator/comm_init.c \
communicator/comm.c \
communicator/comm_cid.c \
communicator/comm_dyn.c \
communicator/comm_publish.c
communicator/comm_cid.c

View File

@ -23,7 +23,10 @@
#include <stdio.h>
#include "ompi/constants.h"
#include "orte/dss/dss.h"
#include "opal/dss/dss.h"
#include "orte/util/name_fns.h"
#include "ompi/proc/proc.h"
#include "opal/threads/mutex.h"
#include "opal/util/bit_ops.h"
@ -31,7 +34,7 @@
#include "opal/util/convert.h"
#include "ompi/mca/topo/topo.h"
#include "ompi/mca/topo/base/base.h"
#include "orte/mca/ns/ns.h"
#include "ompi/mca/dpm/dpm.h"
#include "ompi/attribute/attribute.h"
#include "ompi/communicator/communicator.h"
@ -139,7 +142,7 @@ int ompi_comm_set ( ompi_communicator_t **ncomm,
/* Check how many different jobids are represented in this communicator.
Necessary for the disconnect of dynamic communicators. */
ompi_comm_mark_dyncomm (newcomm);
ompi_dpm.mark_dyncomm (newcomm);
/* Set error handler */
newcomm->error_handler = errh;
@ -1035,7 +1038,7 @@ ompi_proc_t **ompi_comm_get_rprocs ( ompi_communicator_t *local_comm,
ompi_proc_t **rprocs=NULL;
orte_std_cntr_t size_len;
int int_len, rlen;
orte_buffer_t *sbuf=NULL, *rbuf=NULL;
opal_buffer_t *sbuf=NULL, *rbuf=NULL;
void *sendbuf;
char *recvbuf;
ompi_proc_t **proc_list=NULL;
@ -1045,7 +1048,7 @@ ompi_proc_t **ompi_comm_get_rprocs ( ompi_communicator_t *local_comm,
local_size = ompi_comm_size (local_comm);
if (local_rank == local_leader) {
sbuf = OBJ_NEW(orte_buffer_t);
sbuf = OBJ_NEW(opal_buffer_t);
if (NULL == sbuf) {
rc = ORTE_ERROR;
goto err_exit;
@ -1065,7 +1068,7 @@ ompi_proc_t **ompi_comm_get_rprocs ( ompi_communicator_t *local_comm,
if ( OMPI_SUCCESS != rc ) {
goto err_exit;
}
if (ORTE_SUCCESS != (rc = orte_dss.unload(sbuf, &sendbuf, &size_len))) {
if (ORTE_SUCCESS != (rc = opal_dss.unload(sbuf, &sendbuf, &size_len))) {
goto err_exit;
}
@ -1131,13 +1134,13 @@ ompi_proc_t **ompi_comm_get_rprocs ( ompi_communicator_t *local_comm,
goto err_exit;
}
rbuf = OBJ_NEW(orte_buffer_t);
rbuf = OBJ_NEW(opal_buffer_t);
if (NULL == rbuf) {
rc = ORTE_ERROR;
goto err_exit;
}
if (ORTE_SUCCESS != (rc = orte_dss.load(rbuf, recvbuf, rlen))) {
if (ORTE_SUCCESS != (rc = opal_dss.load(rbuf, recvbuf, rlen))) {
goto err_exit;
}
@ -1250,7 +1253,7 @@ int ompi_comm_determine_first ( ompi_communicator_t *intercomm, int high )
theirproc = ompi_group_peer_lookup(intercomm->c_remote_group,0);
mask = ORTE_NS_CMP_JOBID | ORTE_NS_CMP_VPID;
rc = orte_ns.compare_fields(mask, &(ourproc->proc_name), &(theirproc->proc_name));
rc = orte_util_compare_name_fields(mask, &(ourproc->proc_name), &(theirproc->proc_name));
if ( 0 > rc ) {
flag = true;
}
@ -1611,7 +1614,7 @@ static int ompi_comm_fill_rest (ompi_communicator_t *comm,
/* verify whether to set the flag, that this comm
contains process from more than one jobid. */
ompi_comm_mark_dyncomm (comm);
ompi_dpm.mark_dyncomm (comm);
/* set the error handler */
comm->error_handler = errh;

View File

@ -22,9 +22,9 @@
#include "ompi_config.h"
#include "orte/dss/dss.h"
#include "opal/dss/dss.h"
#include "opal/util/convert.h"
#include "orte/mca/ns/ns_types.h"
#include "orte/types.h"
#include "ompi/communicator/communicator.h"
#include "ompi/proc/proc.h"
#include "ompi/constants.h"
@ -35,10 +35,10 @@
#include "orte/mca/rml/rml.h"
#include "ompi/request/request.h"
#include "ompi/runtime/mpiruntime.h"
#include "ompi/mca/dpm/dpm.h"
BEGIN_C_DECLS
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
/**
* These functions make sure, that we determine the global result over
* an intra communicators (simple), an inter-communicator and a
@ -774,26 +774,26 @@ static int ompi_comm_allreduce_intra_oob (int *inbuf, int *outbuf,
}
if (local_rank == local_leader ) {
orte_buffer_t *sbuf;
orte_buffer_t *rbuf;
opal_buffer_t *sbuf;
opal_buffer_t *rbuf;
sbuf = OBJ_NEW(orte_buffer_t);
rbuf = OBJ_NEW(orte_buffer_t);
sbuf = OBJ_NEW(opal_buffer_t);
rbuf = OBJ_NEW(opal_buffer_t);
if (ORTE_SUCCESS != (rc = orte_dss.pack(sbuf, tmpbuf, (orte_std_cntr_t)count, ORTE_INT))) {
if (ORTE_SUCCESS != (rc = opal_dss.pack(sbuf, tmpbuf, (orte_std_cntr_t)count, OPAL_INT))) {
goto exit;
}
if ( send_first ) {
rc = orte_rml.send_buffer(remote_leader, sbuf, ORTE_RML_TAG_COMM_CID_INTRA, 0);
rc = orte_rml.recv_buffer(remote_leader, rbuf, ORTE_RML_TAG_COMM_CID_INTRA, 0);
rc = orte_rml.send_buffer(remote_leader, sbuf, OMPI_RML_TAG_COMM_CID_INTRA, 0);
rc = orte_rml.recv_buffer(remote_leader, rbuf, OMPI_RML_TAG_COMM_CID_INTRA, 0);
}
else {
rc = orte_rml.recv_buffer(remote_leader, rbuf, ORTE_RML_TAG_COMM_CID_INTRA, 0);
rc = orte_rml.send_buffer(remote_leader, sbuf, ORTE_RML_TAG_COMM_CID_INTRA, 0);
rc = orte_rml.recv_buffer(remote_leader, rbuf, OMPI_RML_TAG_COMM_CID_INTRA, 0);
rc = orte_rml.send_buffer(remote_leader, sbuf, OMPI_RML_TAG_COMM_CID_INTRA, 0);
}
if (ORTE_SUCCESS != (rc = orte_dss.unpack(rbuf, outbuf, &size_count, ORTE_INT))) {
if (ORTE_SUCCESS != (rc = opal_dss.unpack(rbuf, outbuf, &size_count, OPAL_INT))) {
goto exit;
}
OBJ_RELEASE(sbuf);
@ -834,6 +834,5 @@ static int ompi_comm_allreduce_intra_oob (int *inbuf, int *outbuf,
return (rc);
}
#if defined(c_plusplus) || defined(__cplusplus)
}
#endif
END_C_DECLS

File diff suppressed because it is too large Load Diff

View File

@ -28,11 +28,11 @@
#include "ompi/mca/pml/pml.h"
#include "ompi/mca/coll/base/base.h"
#include "ompi/mca/topo/base/base.h"
#include "orte/mca/ns/base/base.h"
#include "ompi/runtime/params.h"
#include "ompi/communicator/communicator.h"
#include "ompi/attribute/attribute.h"
#include "ompi/mca/topo/topo.h"
#include "ompi/mca/dpm/dpm.h"
#include "ompi/memchecker.h"
/*
@ -210,7 +210,7 @@ int ompi_comm_finalize(void)
OBJ_DESTRUCT( &ompi_mpi_comm_self );
/* disconnect all dynamic communicators */
ompi_comm_dyn_finalize();
ompi_dpm.dyn_finalize();
/* Shut down MPI_COMM_WORLD */
OBJ_DESTRUCT( &ompi_mpi_comm_world );

View File

@ -1,166 +0,0 @@
/*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2007 Cisco, Inc. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "ompi_config.h"
#include <string.h>
#include <stdio.h>
#include "ompi/communicator/communicator.h"
#include "ompi/proc/proc.h"
#include "ompi/constants.h"
#include "ompi/mca/pml/pml.h"
#include "orte/dss/dss.h"
#include "orte/mca/errmgr/errmgr.h"
#include "orte/mca/ns/ns.h"
#include "orte/mca/gpr/gpr.h"
#include "orte/mca/rml/rml_types.h"
#define OMPI_COMM_PORT_KEY "ompi-port-name"
int ompi_open_port(char *port_name)
{
ompi_proc_t **myproc=NULL;
char *name=NULL;
size_t size=0;
orte_rml_tag_t lport_id=0;
int rc;
/*
* The port_name is equal to the OOB-contact information
* and an integer. The reason for adding the integer is
* to make the port unique for multi-threaded scenarios.
*/
myproc = ompi_proc_self (&size);
if (ORTE_SUCCESS != (rc = orte_ns.get_proc_name_string (&name, &(myproc[0]->proc_name)))) {
return rc;
}
if (ORTE_SUCCESS != (rc = orte_ns.assign_rml_tag(&lport_id, NULL))) {
return rc;
}
sprintf (port_name, "%s:%d", name, lport_id);
free ( myproc );
free ( name );
return OMPI_SUCCESS;
}
/* takes a port_name and separates it into the process_name
and the tag
*/
char *ompi_parse_port (char *port_name, orte_rml_tag_t *tag)
{
char tmp_port[MPI_MAX_PORT_NAME], *tmp_string;
tmp_string = (char *) malloc (MPI_MAX_PORT_NAME);
if (NULL == tmp_string ) {
return NULL;
}
strncpy (tmp_port, port_name, MPI_MAX_PORT_NAME);
strncpy (tmp_string, strtok(tmp_port, ":"), MPI_MAX_PORT_NAME);
sscanf( strtok(NULL, ":"),"%d", (int*)tag);
return tmp_string;
}
/*
* publish the port_name using the service_name as a token
* jobid and vpid are used later to make
* sure, that only this process can unpublish the information.
*/
int ompi_comm_namepublish ( char *service_name, char *port_name )
{
orte_gpr_value_t *value;
int rc;
if (ORTE_SUCCESS != (rc = orte_gpr.create_value(&value, ORTE_GPR_TOKENS_AND | ORTE_GPR_OVERWRITE,
OMPI_NAMESPACE_SEGMENT, 1, 1))) {
ORTE_ERROR_LOG(rc);
return rc;
}
value->tokens[0] = strdup(service_name);
if (ORTE_SUCCESS != (rc = orte_gpr.create_keyval(&(value->keyvals[0]), OMPI_COMM_PORT_KEY, ORTE_STRING, port_name))) {
ORTE_ERROR_LOG(rc);
OBJ_RELEASE(value);
return rc;
}
if (ORTE_SUCCESS != (rc = orte_gpr.put(1, &value))) {
ORTE_ERROR_LOG(rc);
}
OBJ_RELEASE(value);
return rc;
}
char* ompi_comm_namelookup ( char *service_name )
{
char *token[2], *key[2];
orte_gpr_keyval_t **keyvals=NULL;
orte_gpr_value_t **values;
orte_std_cntr_t cnt=0;
char *stmp=NULL;
int ret;
token[0] = service_name;
token[1] = NULL;
key[0] = strdup(OMPI_COMM_PORT_KEY);
key[1] = NULL;
ret = orte_gpr.get(ORTE_GPR_TOKENS_AND, OMPI_NAMESPACE_SEGMENT,
token, key, &cnt, &values);
if (ORTE_SUCCESS != ret) {
return NULL;
}
if ( 0 < cnt && NULL != values[0] ) { /* should be only one, if any */
keyvals = values[0]->keyvals;
stmp = strdup((const char*)keyvals[0]->value->data);
OBJ_RELEASE(values[0]);
}
return (stmp);
}
/*
* delete the entry. Just the process who has published
* the service_name, has the right to remove this
* service. Will be done later, by adding jobid and vpid
* as tokens
*/
int ompi_comm_nameunpublish ( char *service_name )
{
char *token[2];
token[0] = service_name;
token[1] = NULL;
#if 0
return orte_gpr.delete_entries(ORTE_GPR_TOKENS_AND,
OMPI_NAMESPACE_SEGMENT,
token, NULL);
#endif
return OMPI_SUCCESS;
}

View File

@ -65,7 +65,6 @@ OMPI_DECLSPEC OBJ_CLASS_DECLARATION(ompi_communicator_t);
/* a set of special tags: */
/* to recognize an MPI_Comm_join in the comm_connect_accept routine. */
#define OMPI_COMM_JOIN_TAG -32000
#define OMPI_COMM_ALLGATHER_TAG -31078
#define OMPI_COMM_BARRIER_TAG -31079
@ -356,7 +355,7 @@ struct ompi_communicator_t {
* the OOB version.
* This routine has to be thread safe in the final version.
*/
int ompi_comm_nextcid ( ompi_communicator_t* newcomm,
OMPI_DECLSPEC int ompi_comm_nextcid ( ompi_communicator_t* newcomm,
ompi_communicator_t* oldcomm,
ompi_communicator_t* bridgecomm,
void* local_leader,
@ -373,7 +372,7 @@ struct ompi_communicator_t {
* This is THE routine, where all the communicator stuff
* is really set.
*/
int ompi_comm_set ( ompi_communicator_t** newcomm,
OMPI_DECLSPEC int ompi_comm_set ( ompi_communicator_t** newcomm,
ompi_communicator_t* oldcomm,
int local_size,
int *local_ranks,
@ -412,7 +411,7 @@ struct ompi_communicator_t {
int high );
int ompi_comm_activate ( ompi_communicator_t* newcomm,
OMPI_DECLSPEC int ompi_comm_activate ( ompi_communicator_t* newcomm,
ompi_communicator_t* oldcomm,
ompi_communicator_t* bridgecomm,
void* local_leader,
@ -427,35 +426,9 @@ struct ompi_communicator_t {
*/
int ompi_comm_dump ( ompi_communicator_t *comm );
/**
* a simple function to determint a port number
*/
int ompi_open_port (char *port_name);
/**
* takes a port_name and returns the oob-contact information
* and the tag
*/
char * ompi_parse_port (char *port_name, orte_rml_tag_t *tag) ;
/**
* routines handling name publishing, lookup and unpublishing
*/
int ompi_comm_namepublish ( char *service_name, char *port_name );
char* ompi_comm_namelookup ( char *service_name );
int ompi_comm_nameunpublish ( char *service_name );
/* setting name */
int ompi_comm_set_name (ompi_communicator_t *comm, char *name );
/* THE routine for dynamic process management. This routine
sets the connection up between two independent applications.
*/
int ompi_comm_connect_accept ( ompi_communicator_t *comm, int root,
orte_process_name_t *port, int send_first,
ompi_communicator_t **newcomm, orte_rml_tag_t tag);
/*
* these are the init and finalize functions for the comm_reg
* stuff. These routines are necessary for handling multi-threading
@ -464,59 +437,9 @@ struct ompi_communicator_t {
void ompi_comm_reg_init(void);
void ompi_comm_reg_finalize(void);
/* start the new processes from MPI_Comm_spawn_multiple. Initial
* version, very rough
*/
int ompi_comm_start_processes(int count, char **array_of_commands,
char ***array_of_argv,
int *array_of_maxprocs,
MPI_Info *array_of_info,
char *port_name);
/*
* This routine checks, whether an application has been spawned
* by another MPI application, or has been independently started.
* If it has been spawned, it establishes the parent communicator.
* Since the routine has to communicate, it should be among the last
* steps in MPI_Init, to be sure that everything is already set up.
*/
int ompi_comm_dyn_init(void);
/**
* Executes internally a disconnect on all dynamic communicators
* in case the user did not disconnect them.
*/
int ompi_comm_dyn_finalize(void);
/* this routine counts the number of different jobids of the processes
given in a certain communicator. If there is more than one jobid,
we mark the communicator as 'dynamic'. This is especially relevant
for the MPI_Comm_disconnect *and* for MPI_Finalize, where we have
to wait for all still connected processes. */
/* global variable to save the number od dynamic communicators */
extern int ompi_comm_num_dyncomm;
void ompi_comm_mark_dyncomm (ompi_communicator_t *comm);
/* the next two routines implement a kind of non-blocking barrier.
the only difference is, that you can wait for the completion
of more than one initiated ibarrier. This is required for waiting
for all still connected processes in MPI_Finalize.
ompi_comm_disconnect_init returns a handle, which has to be passed in
to ompi_comm_disconnect_waitall. The second routine blocks, until
all non-blocking barriers described by the handles are finished.
The communicators can than be released.
*/
struct ompi_comm_disconnect_obj {
ompi_communicator_t *comm;
int size;
struct ompi_request_t **reqs;
int buf;
};
typedef struct ompi_comm_disconnect_obj ompi_comm_disconnect_obj;
ompi_comm_disconnect_obj *ompi_comm_disconnect_init (ompi_communicator_t *comm);
void ompi_comm_disconnect_waitall (int count, ompi_comm_disconnect_obj **objs );
END_C_DECLS

View File

@ -24,6 +24,7 @@
#ifdef HAVE_STRINGS_H
#include <strings.h>
#endif
#include <stdio.h>
#include "opal/prefetch.h"

View File

@ -24,6 +24,8 @@
#include "ompi/datatype/convertor_internal.h"
#include "ompi/datatype/datatype_internal.h"
#include <stdio.h>
#if OMPI_ENABLE_DEBUG
extern int ompi_unpack_debug;
#define DO_DEBUG(INST) if( ompi_unpack_debug ) { INST }

View File

@ -25,6 +25,7 @@
#include "ompi/datatype/datatype.h"
#include "ompi/datatype/datatype_internal.h"
#include "ompi/datatype/convertor_internal.h"
#include <stdio.h>
#if OMPI_ENABLE_DEBUG
#include "opal/mca/base/mca_base_param.h"

View File

@ -136,7 +136,7 @@ OMPI_DECLSPEC extern ompi_group_t ompi_mpi_group_null;
*
* @return Pointer to new group structure
*/
ompi_group_t *ompi_group_allocate(int group_size);
OMPI_DECLSPEC ompi_group_t *ompi_group_allocate(int group_size);
ompi_group_t *ompi_group_allocate_sporadic(int group_size);
ompi_group_t *ompi_group_allocate_strided(void);
ompi_group_t *ompi_group_allocate_bmap(int orig_group_size, int group_size);

View File

@ -286,7 +286,7 @@ typedef int (MPI_Grequest_cancel_function)(void *, int);
#define MPI_ARGV_NULL ((char **) 0) /* NULL argument vector */
#define MPI_ARGVS_NULL ((char ***) 0) /* NULL argument vectors */
#define MPI_ERRCODES_IGNORE ((int *) 0) /* don't return error codes */
#define MPI_MAX_PORT_NAME 36 /* max port name length */
#define MPI_MAX_PORT_NAME 256 /* max port name length */
#define MPI_MAX_NAME_LEN MPI_MAX_PORT_NAME /* max port name length */
#define MPI_ORDER_C 0 /* C row major order */
#define MPI_ORDER_FORTRAN 1 /* Fortran column major order */

View File

@ -133,7 +133,7 @@
parameter (MPI_BSEND_OVERHEAD=128)
parameter (MPI_MAX_INFO_KEY=35)
parameter (MPI_MAX_INFO_VAL=255)
parameter (MPI_MAX_PORT_NAME=35)
parameter (MPI_MAX_PORT_NAME=255)
parameter (MPI_MAX_OBJECT_NAME=63)
parameter (MPI_ORDER_C=0)
parameter (MPI_ORDER_FORTRAN=1)

View File

@ -19,7 +19,7 @@
#ifndef OMPI_CONSTANTS_H
#define OMPI_CONSTANTS_H
#include "orte/orte_constants.h"
#include "orte/constants.h"
#define OMPI_ERR_BASE ORTE_ERR_MAX

View File

@ -10,6 +10,7 @@
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2007 Cisco Systems, Inc. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -27,6 +28,7 @@
#include <stdlib.h>
#endif
#include <limits.h>
#include <ctype.h>
#include "ompi/constants.h"
#include "ompi/info/info.h"
@ -207,6 +209,46 @@ int ompi_info_get (ompi_info_t *info, char *key, int valuelen,
}
/*
* Similar to ompi_info_get(), but cast the result into a boolean
* using some well-defined rules.
*/
int ompi_info_get_bool(ompi_info_t *info, char *key, bool *value, int *flag)
{
char *ptr;
char str[256];
str[sizeof(str) - 1] = '\0';
ompi_info_get(info, key, sizeof(str) - 1, str, flag);
if (*flag) {
*value = false;
/* Trim whitespace */
ptr = str + sizeof(str) - 1;
while (ptr >= str && isspace(*ptr)) {
*ptr = '\0';
--ptr;
}
ptr = str;
while (ptr < str + sizeof(str) - 1 && *ptr != '\0' &&
isspace(*ptr)) {
++ptr;
}
if ('\0' != *ptr) {
if (isdigit(*ptr)) {
*value = (bool) atoi(ptr);
} else if (0 == strcasecmp(ptr, "yes") ||
0 == strcasecmp(ptr, "true")) {
*value = true;
} else if (0 != strcasecmp(ptr, "no") &&
0 != strcasecmp(ptr, "false")) {
/* RHC unrecognized value -- print a warning? */
}
}
}
return MPI_SUCCESS;
}
/*
* Delete a key from an info
*/

View File

@ -10,6 +10,7 @@
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2007 Cisco Systems, Inc. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -148,6 +149,32 @@ int ompi_info_set (ompi_info_t *info, char *key, char *value);
*/
int ompi_info_free (ompi_info_t **info);
/**
* Get a (key, value) pair from an 'MPI_Info' object and assign it
* into a boolen output.
*
* @param info Pointer to ompi_info_t object
* @param key null-terminated character string of the index key
* @param value Boolean output value
* @param flag true (1) if 'key' defined on 'info', false (0) if not
* (logical)
*
* @retval MPI_SUCCESS
*
* If found, the string value will be cast to the boolen output in
* the following manner:
*
* - If the string value is digits, the return value is "(bool)
* atoi(value)"
* - If the string value is (case-insensitive) "yes" or "true", the
* result is true
* - If the string value is (case-insensitive) "no" or "false", the
* result is false
* - All other values are false
*/
OMPI_DECLSPEC int ompi_info_get_bool (ompi_info_t *info, char *key, bool *value,
int *flag);
/**
* Get a (key, value) pair from an 'MPI_Info' object
*
@ -163,8 +190,8 @@ int ompi_info_free (ompi_info_t **info);
* In C and C++, 'valuelen' should be one less than the allocated
* space to allow for for the null terminator.
*/
int ompi_info_get (ompi_info_t *info, char *key, int valuelen,
char *value, int *flag);
OMPI_DECLSPEC int ompi_info_get (ompi_info_t *info, char *key, int valuelen,
char *value, int *flag);
/**
* Delete a (key,value) pair from "info"

View File

@ -24,7 +24,6 @@
#include <string.h>
#include "opal/util/show_help.h"
#include "orte/mca/ns/ns.h"
#include "ompi/class/ompi_bitmap.h"
#include "ompi/mca/bml/bml.h"
#include "ompi/mca/bml/base/base.h"
@ -34,6 +33,7 @@
#include "ompi/mca/bml/base/bml_base_btl.h"
#include "bml_r2.h"
#include "orte/class/orte_proc_table.h"
#include "orte/util/name_fns.h"
#include "ompi/proc/proc.h"
extern mca_bml_base_component_t mca_bml_r2_component;
@ -450,9 +450,9 @@ int mca_bml_r2_add_procs(
OMPI_ERR_UNREACH == ret) {
char *local, *remote;
orte_ns.get_proc_name_string(&local,
orte_util_convert_process_name_to_string(&local,
&(ompi_proc_local_proc->proc_name));
orte_ns.get_proc_name_string(&remote,
orte_util_convert_process_name_to_string(&remote,
&(unreach_proc->proc_name));
opal_show_help("help-mca-bml-r2",

View File

@ -24,7 +24,6 @@
#include <string.h>
#include "opal/util/show_help.h"
#include "orte/mca/ns/ns.h"
#include "ompi/runtime/ompi_cr.h"
#include "ompi/class/ompi_bitmap.h"
#include "ompi/mca/bml/bml.h"
@ -35,9 +34,7 @@
#include "ompi/mca/bml/base/bml_base_btl.h"
#include "ompi/mca/pml/pml.h"
#include "ompi/mca/pml/base/base.h"
#include "orte/mca/smr/smr.h"
#include "orte/mca/rml/rml.h"
#include "orte/mca/gpr/gpr.h"
#include "orte/class/orte_proc_table.h"
#include "ompi/proc/proc.h"
@ -117,9 +114,11 @@ int mca_bml_r2_ft_event(int state) {
if( NULL != mca_bml_r2.btl_modules) {
free( mca_bml_r2.btl_modules);
mca_bml_r2.btl_modules = NULL;
}
if( NULL != mca_bml_r2.btl_progress ) {
free( mca_bml_r2.btl_progress);
mca_bml_r2.btl_progress = NULL;
}
opal_output_verbose(10, ompi_cr_output,
@ -163,8 +162,10 @@ int mca_bml_r2_ft_event(int state) {
mca_bml_r2.btls_added = false;
for(p = 0; p < (int)num_procs; ++p) {
OBJ_RELEASE(procs[p]->proc_bml);
procs[p]->proc_bml = NULL;
if( NULL != procs[p]->proc_bml) {
OBJ_RELEASE(procs[p]->proc_bml);
procs[p]->proc_bml = NULL;
}
OBJ_RELEASE(procs[p]);
}

View File

@ -25,8 +25,11 @@
#include "base.h"
#include "btl_base_error.h"
#include "opal/util/show_help.h"
#include "orte/util/sys_info.h"
#include "orte/mca/ns/ns_types.h"
#include "orte/types.h"
#include "orte/util/name_fns.h"
#include "orte/runtime/orte_globals.h"
int mca_btl_base_verbose;
@ -60,7 +63,7 @@ void mca_btl_base_error_no_nics(const char* transport,
char *procid;
if (mca_btl_base_warn_component_unused) {
/* print out no-nic warning if user told us to */
asprintf(&procid, "%s", ORTE_NAME_PRINT(orte_process_info.my_name));
asprintf(&procid, "%s", ORTE_NAME_PRINT(ORTE_PROC_MY_NAME));
opal_show_help("help-mpi-btl-base.txt", "btl:no-nics",
true, procid, transport, orte_system_info.nodename,

View File

@ -28,7 +28,8 @@
#include "orte/util/proc_info.h"
#include "orte/util/sys_info.h"
#include "orte/mca/ns/ns_types.h"
#include "orte/util/name_fns.h"
#include "orte/runtime/orte_globals.h"
OMPI_DECLSPEC extern int mca_btl_base_verbose;
@ -39,7 +40,7 @@ extern int mca_btl_base_out(const char*, ...);
do { \
mca_btl_base_out("[%s]%s[%s:%d:%s] ", \
orte_system_info.nodename, \
ORTE_NAME_PRINT(orte_process_info.my_name), \
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), \
__FILE__, __LINE__, __func__); \
mca_btl_base_out args; \
mca_btl_base_out("\n"); \
@ -50,7 +51,7 @@ do { \
do { \
mca_btl_base_err("[%s]%s[%s:%d:%s] ", \
orte_system_info.nodename, \
ORTE_NAME_PRINT(orte_process_info.my_name), \
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), \
__FILE__, __LINE__, __func__); \
mca_btl_base_err args; \
mca_btl_base_err("\n"); \
@ -59,7 +60,7 @@ do { \
#define BTL_PEER_ERROR(proc, args) \
do { \
mca_btl_base_err("%s[%s:%d:%s] from %s ", \
ORTE_NAME_PRINT(orte_process_info.my_name), \
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), \
__FILE__, __LINE__, __func__, \
orte_system_info.nodename); \
if(proc && proc->proc_hostname) { \
@ -76,7 +77,7 @@ do { \
if(mca_btl_base_verbose > 0) { \
mca_btl_base_err("[%s]%s[%s:%d:%s] ", \
orte_system_info.nodename,