From 97dae4b2ed751ed5f1e4147daf2732a6f1d239e5 Mon Sep 17 00:00:00 2001 From: Jeff Squyres Date: Tue, 22 Feb 2022 10:40:50 -0800 Subject: [PATCH 1/2] libompitrace: handle MPI_DATATYPE_NULL Ensure to check for MPI_DATATYPE_NULL before calling PMPI_Type_get_name(). As of MPI-4.0, there's still at least some disagreement as to whether MPI_DATATYPE_NULL is a valid input parameter for MPI_TYPE_GET_NAME. While that discussion is ongoing, fix up libompitrace to do what is guaranteed to work. Signed-off-by: Jeff Squyres (cherry picked from commit f650d3c3444c93c463fcc5524a88c2520af5399a) --- ompi/contrib/libompitrace/allgather.c | 16 +++++++++++++--- ompi/contrib/libompitrace/allgatherv.c | 16 +++++++++++++--- ompi/contrib/libompitrace/allreduce.c | 8 ++++++-- ompi/contrib/libompitrace/bcast.c | 8 ++++++-- ompi/contrib/libompitrace/isend.c | 8 ++++++-- ompi/contrib/libompitrace/recv.c | 8 ++++++-- ompi/contrib/libompitrace/reduce.c | 8 ++++++-- ompi/contrib/libompitrace/send.c | 8 ++++++-- ompi/contrib/libompitrace/sendrecv.c | 16 +++++++++++++--- 9 files changed, 75 insertions(+), 21 deletions(-) diff --git a/ompi/contrib/libompitrace/allgather.c b/ompi/contrib/libompitrace/allgather.c index 400464742b0..858da501aeb 100644 --- a/ompi/contrib/libompitrace/allgather.c +++ b/ompi/contrib/libompitrace/allgather.c @@ -10,7 +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-2009 Cisco Systems, Inc. All rights reserved. + * Copyright (c) 2007-2022 Cisco Systems, Inc. All rights reserved * Copyright (c) 2013 Los Alamos National Security, LLC. All rights * reserved. * $COPYRIGHT$ @@ -38,8 +38,18 @@ int MPI_Allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, int rank; PMPI_Comm_rank(MPI_COMM_WORLD, &rank); - PMPI_Type_get_name(sendtype, sendtypename, &len); - PMPI_Type_get_name(recvtype, recvtypename, &len); + if (sendtype != MPI_DATATYPE_NULL) { + PMPI_Type_get_name(sendtype, sendtypename, &len); + } else { + strncpy(sendtypename, "MPI_DATATYPE_NULL", + sizeof(sendtypename)); + } + if (recvtype != MPI_DATATYPE_NULL) { + PMPI_Type_get_name(recvtype, recvtypename, &len); + } else { + strncpy(recvtypename, "MPI_DATATYPE_NULL", + sizeof(recvtypename)); + } PMPI_Comm_get_name(comm, commname, &len); fprintf(stderr, "MPI_ALLGATHER[%d]: sendbuf %0" PRIxPTR " sendcount %d sendtype %s\n\trecvbuf %0" PRIxPTR " recvcount %d recvtype %s comm %s\n", diff --git a/ompi/contrib/libompitrace/allgatherv.c b/ompi/contrib/libompitrace/allgatherv.c index 4dbff470479..1623b6d0822 100644 --- a/ompi/contrib/libompitrace/allgatherv.c +++ b/ompi/contrib/libompitrace/allgatherv.c @@ -10,7 +10,7 @@ * University of Stuttgart. All rights reserved. * Copyright (c) 2004-2005 The Regents of the University of California. * All rights reserved. - * Copyright (c) 2009 Cisco Systems, Inc. All rights reserved. + * Copyright (c) 2009-2022 Cisco Systems, Inc. All rights reserved * Copyright (c) 2013 Los Alamos National Security, LLC. All rights * reserved. * $COPYRIGHT$ @@ -38,8 +38,18 @@ int MPI_Allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, int rank; PMPI_Comm_rank(MPI_COMM_WORLD, &rank); - PMPI_Type_get_name(sendtype, sendtypename, &len); - PMPI_Type_get_name(recvtype, recvtypename, &len); + if (sendtype != MPI_DATATYPE_NULL) { + PMPI_Type_get_name(sendtype, sendtypename, &len); + } else { + strncpy(sendtypename, "MPI_DATATYPE_NULL", + sizeof(sendtypename)); + } + if (recvtype != MPI_DATATYPE_NULL) { + PMPI_Type_get_name(recvtype, recvtypename, &len); + } else { + strncpy(recvtypename, "MPI_DATATYPE_NULL", + sizeof(recvtypename)); + } PMPI_Comm_get_name(comm, commname, &len); fprintf(stderr, "MPI_ALLGATHERV[%d]: sendbuf %0" PRIxPTR " sendcount %d sendtype %s\n\trecvbuf %0" PRIxPTR " recvtype %s comm %s\n", diff --git a/ompi/contrib/libompitrace/allreduce.c b/ompi/contrib/libompitrace/allreduce.c index 5382f312b3e..547fbca9a15 100644 --- a/ompi/contrib/libompitrace/allreduce.c +++ b/ompi/contrib/libompitrace/allreduce.c @@ -10,7 +10,7 @@ * University of Stuttgart. All rights reserved. * Copyright (c) 2004-2005 The Regents of the University of California. * All rights reserved. - * Copyright (c) 2009 Cisco Systems, Inc. All rights reserved. + * Copyright (c) 2009-2022 Cisco Systems, Inc. All rights reserved * Copyright (c) 2013 Los Alamos National Security, LLC. All rights * reserved. * $COPYRIGHT$ @@ -36,7 +36,11 @@ int MPI_Allreduce(const void *sendbuf, void *recvbuf, int count, int rank; PMPI_Comm_rank(MPI_COMM_WORLD, &rank); - PMPI_Type_get_name(datatype, typename, &len); + if (datatype != MPI_DATATYPE_NULL) { + PMPI_Type_get_name(datatype, typename, &len); + } else { + strncpy(typename, "MPI_DATATYPE_NULL", sizeof(typename)); + } PMPI_Comm_get_name(comm, commname, &len); fprintf(stderr, "MPI_ALLREDUCE[%d]: sendbuf %0" PRIxPTR " recvbuf %0" PRIxPTR " count %d datatype %s op %s comm %s\n", diff --git a/ompi/contrib/libompitrace/bcast.c b/ompi/contrib/libompitrace/bcast.c index ef6bcdf63a5..5a0664e3be7 100644 --- a/ompi/contrib/libompitrace/bcast.c +++ b/ompi/contrib/libompitrace/bcast.c @@ -9,7 +9,7 @@ * University of Stuttgart. All rights reserved. * Copyright (c) 2004-2005 The Regents of the University of California. * All rights reserved. - * Copyright (c) 2009 Cisco Systems, Inc. All rights reserved. + * Copyright (c) 2009-2022 Cisco Systems, Inc. All rights reserved * $COPYRIGHT$ * * Additional copyrights may follow @@ -34,7 +34,11 @@ int MPI_Bcast(void *buffer, int count, MPI_Datatype datatype, int rank; PMPI_Comm_rank(MPI_COMM_WORLD, &rank); - PMPI_Type_get_name(datatype, typename, &len); + if (datatype != MPI_DATATYPE_NULL) { + PMPI_Type_get_name(datatype, typename, &len); + } else { + strncpy(typename, "MPI_DATATYPE_NULL", sizeof(typename)); + } PMPI_Comm_get_name(comm, commname, &len); fprintf(stderr, "MPI_BCAST[%d]: buffer %0" PRIxPTR " count %d datatype %s root %d comm %s\n", diff --git a/ompi/contrib/libompitrace/isend.c b/ompi/contrib/libompitrace/isend.c index 0ef6e508294..8d4ac195853 100644 --- a/ompi/contrib/libompitrace/isend.c +++ b/ompi/contrib/libompitrace/isend.c @@ -10,7 +10,7 @@ * University of Stuttgart. All rights reserved. * Copyright (c) 2004-2005 The Regents of the University of California. * All rights reserved. - * Copyright (c) 2006-2009 Cisco Systems, Inc. All rights reserved. + * Copyright (c) 2006-2022 Cisco Systems, Inc. All rights reserved * Copyright (c) 2013 Los Alamos National Security, LLC. All rights * reserved. * $COPYRIGHT$ @@ -36,7 +36,11 @@ int MPI_Isend(const void *buf, int count, MPI_Datatype type, int dest, int rank; PMPI_Comm_rank(MPI_COMM_WORLD, &rank); - PMPI_Type_get_name(type, typename, &len); + if (type != MPI_DATATYPE_NULL) { + PMPI_Type_get_name(type, typename, &len); + } else { + strncpy(typename, "MPI_DATATYPE_NULL", sizeof(typename)); + } PMPI_Comm_get_name(comm, commname, &len); fprintf(stderr, "MPI_ISEND[%d]: buf %0" PRIxPTR " count %d datatype %s dest %d tag %d comm %s\n", diff --git a/ompi/contrib/libompitrace/recv.c b/ompi/contrib/libompitrace/recv.c index 0fc5a9665c7..61b312d5c5b 100644 --- a/ompi/contrib/libompitrace/recv.c +++ b/ompi/contrib/libompitrace/recv.c @@ -9,7 +9,7 @@ * University of Stuttgart. All rights reserved. * Copyright (c) 2004-2005 The Regents of the University of California. * All rights reserved. - * Copyright (c) 2009 Cisco Systems, Inc. All rights reserved. + * Copyright (c) 2009-2022 Cisco Systems, Inc. All rights reserved * $COPYRIGHT$ * * Additional copyrights may follow @@ -33,7 +33,11 @@ int MPI_Recv(void *buf, int count, MPI_Datatype type, int source, int rank; PMPI_Comm_rank(MPI_COMM_WORLD, &rank); - PMPI_Type_get_name(type, typename, &len); + if (type != MPI_DATATYPE_NULL) { + PMPI_Type_get_name(type, typename, &len); + } else { + strncpy(typename, "MPI_DATATYPE_NULL", sizeof(typename)); + } PMPI_Comm_get_name(comm, commname, &len); fprintf(stderr, "MPI_RECV[%d]: buf %0" PRIxPTR " count %d datatype %s source %d tag %d comm %s\n", diff --git a/ompi/contrib/libompitrace/reduce.c b/ompi/contrib/libompitrace/reduce.c index 24fb60f7b85..cd38a065cf9 100644 --- a/ompi/contrib/libompitrace/reduce.c +++ b/ompi/contrib/libompitrace/reduce.c @@ -10,7 +10,7 @@ * University of Stuttgart. All rights reserved. * Copyright (c) 2004-2005 The Regents of the University of California. * All rights reserved. - * Copyright (c) 2006-2009 Cisco Systems, Inc. All rights reserved. + * Copyright (c) 2006-2022 Cisco Systems, Inc. All rights reserved * Copyright (c) 2013 Los Alamos National Security, LLC. All rights * reserved. * $COPYRIGHT$ @@ -37,7 +37,11 @@ int MPI_Reduce(const void *sendbuf, void *recvbuf, int count, int rank; PMPI_Comm_rank(MPI_COMM_WORLD, &rank); - PMPI_Type_get_name(datatype, typename, &len); + if (datatype != MPI_DATATYPE_NULL) { + PMPI_Type_get_name(datatype, typename, &len); + } else { + strncpy(typename, "MPI_DATATYPE_NULL", sizeof(typename)); + } PMPI_Comm_get_name(comm, commname, &len); fprintf(stderr,"MPI_REDUCE[%d]: sendbuf %0" PRIxPTR " recvbuf %0" PRIxPTR " count %d datatype %s op %s root %d comm %s\n", diff --git a/ompi/contrib/libompitrace/send.c b/ompi/contrib/libompitrace/send.c index b9eddda57f4..3517c82884a 100644 --- a/ompi/contrib/libompitrace/send.c +++ b/ompi/contrib/libompitrace/send.c @@ -10,7 +10,7 @@ * University of Stuttgart. All rights reserved. * Copyright (c) 2004-2005 The Regents of the University of California. * All rights reserved. - * Copyright (c) 2009 Cisco Systems, Inc. All rights reserved. + * Copyright (c) 2009-2022 Cisco Systems, Inc. All rights reserved * Copyright (c) 2013 Los Alamos National Security, LLC. All rights * reserved. * $COPYRIGHT$ @@ -36,7 +36,11 @@ int MPI_Send(const void *buf, int count, MPI_Datatype type, int dest, int rank; PMPI_Comm_rank(MPI_COMM_WORLD, &rank); - PMPI_Type_get_name(type, typename, &len); + if (type != MPI_DATATYPE_NULL) { + PMPI_Type_get_name(type, typename, &len); + } else { + strncpy(typename, "MPI_DATATYPE_NULL", sizeof(typename)); + } PMPI_Comm_get_name(comm, commname, &len); fprintf(stderr, "MPI_SEND[%d]: : buf %0" PRIxPTR " count %d datatype %s dest %d tag %d comm %s\n", diff --git a/ompi/contrib/libompitrace/sendrecv.c b/ompi/contrib/libompitrace/sendrecv.c index 5fd84cbc11b..c3096ed70bf 100644 --- a/ompi/contrib/libompitrace/sendrecv.c +++ b/ompi/contrib/libompitrace/sendrecv.c @@ -10,7 +10,7 @@ * University of Stuttgart. All rights reserved. * Copyright (c) 2004-2005 The Regents of the University of California. * All rights reserved. - * Copyright (c) 2009 Cisco Systems, Inc. All rights reserved. + * Copyright (c) 2009-2022 Cisco Systems, Inc. All rights reserved * Copyright (c) 2013 Los Alamos National Security, LLC. All rights * reserved. * $COPYRIGHT$ @@ -41,8 +41,18 @@ int MPI_Sendrecv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, int size; PMPI_Comm_rank(MPI_COMM_WORLD, &rank); - PMPI_Type_get_name(sendtype, sendtypename, &len); - PMPI_Type_get_name(sendtype, recvtypename, &len); + if (sendtype != MPI_DATATYPE_NULL) { + PMPI_Type_get_name(sendtype, sendtypename, &len); + } else { + strncpy(sendtypename, "MPI_DATATYPE_NULL", + sizeof(sendtypename)); + } + if (recvtype != MPI_DATATYPE_NULL) { + PMPI_Type_get_name(recvtype, recvtypename, &len); + } else { + strncpy(recvtypename, "MPI_DATATYPE_NULL", + sizeof(recvtypename)); + } PMPI_Comm_get_name(comm, commname, &len); PMPI_Type_size(recvtype, &size); From 97bd67a6c4061c221855045d6b71c183656801ea Mon Sep 17 00:00:00 2001 From: Jeff Squyres Date: Sun, 27 Feb 2022 06:31:08 -0800 Subject: [PATCH 2/2] ompi/contrib: remove libompitrace This small library was added for a specific purpose several years ago. There is no longer a maintainer for this library, and it hasn't been documented for years (and therefore there are likely very few -- if any -- users). We're therefore removing libompitrace from future versions of Open MPI; it can be obtained from prior version of Open MPI if it is desired. Signed-off-by: Jeff Squyres (cherry picked from commit 0f51406c5324ab17fab2b8d4a8d23f9d2f0cd05d) --- autogen.pl | 98 +------------ config/ompi_contrib.m4 | 140 ------------------- config/ompi_setup_contrib.m4 | 29 ---- configure.ac | 9 -- ompi/Makefile.am | 4 +- ompi/contrib/README.md | 19 --- ompi/contrib/libompitrace/Makefile.am | 46 ------ ompi/contrib/libompitrace/abort.c | 39 ------ ompi/contrib/libompitrace/accumulate.c | 55 -------- ompi/contrib/libompitrace/add_error_class.c | 38 ----- ompi/contrib/libompitrace/add_error_code.c | 37 ----- ompi/contrib/libompitrace/add_error_string.c | 39 ------ ompi/contrib/libompitrace/allgather.c | 61 -------- ompi/contrib/libompitrace/allgatherv.c | 61 -------- ompi/contrib/libompitrace/alloc_mem.c | 38 ----- ompi/contrib/libompitrace/allreduce.c | 51 ------- ompi/contrib/libompitrace/barrier.c | 39 ------ ompi/contrib/libompitrace/bcast.c | 49 ------- ompi/contrib/libompitrace/configure.m4 | 27 ---- ompi/contrib/libompitrace/finalize.c | 36 ----- ompi/contrib/libompitrace/get_address.c | 41 ------ ompi/contrib/libompitrace/init.c | 33 ----- ompi/contrib/libompitrace/isend.c | 51 ------- ompi/contrib/libompitrace/recv.c | 48 ------- ompi/contrib/libompitrace/reduce.c | 52 ------- ompi/contrib/libompitrace/request_free.c | 36 ----- ompi/contrib/libompitrace/send.c | 51 ------- ompi/contrib/libompitrace/sendrecv.c | 70 ---------- 28 files changed, 4 insertions(+), 1293 deletions(-) delete mode 100644 config/ompi_contrib.m4 delete mode 100644 config/ompi_setup_contrib.m4 delete mode 100644 ompi/contrib/README.md delete mode 100644 ompi/contrib/libompitrace/Makefile.am delete mode 100644 ompi/contrib/libompitrace/abort.c delete mode 100644 ompi/contrib/libompitrace/accumulate.c delete mode 100644 ompi/contrib/libompitrace/add_error_class.c delete mode 100644 ompi/contrib/libompitrace/add_error_code.c delete mode 100644 ompi/contrib/libompitrace/add_error_string.c delete mode 100644 ompi/contrib/libompitrace/allgather.c delete mode 100644 ompi/contrib/libompitrace/allgatherv.c delete mode 100644 ompi/contrib/libompitrace/alloc_mem.c delete mode 100644 ompi/contrib/libompitrace/allreduce.c delete mode 100644 ompi/contrib/libompitrace/barrier.c delete mode 100644 ompi/contrib/libompitrace/bcast.c delete mode 100644 ompi/contrib/libompitrace/configure.m4 delete mode 100644 ompi/contrib/libompitrace/finalize.c delete mode 100644 ompi/contrib/libompitrace/get_address.c delete mode 100644 ompi/contrib/libompitrace/init.c delete mode 100644 ompi/contrib/libompitrace/isend.c delete mode 100644 ompi/contrib/libompitrace/recv.c delete mode 100644 ompi/contrib/libompitrace/reduce.c delete mode 100644 ompi/contrib/libompitrace/request_free.c delete mode 100644 ompi/contrib/libompitrace/send.c delete mode 100644 ompi/contrib/libompitrace/sendrecv.c diff --git a/autogen.pl b/autogen.pl index 8467e772991..8b56794fba6 100755 --- a/autogen.pl +++ b/autogen.pl @@ -1,6 +1,6 @@ #!/usr/bin/env perl # -# Copyright (c) 2009-2021 Cisco Systems, Inc. All rights reserved +# Copyright (c) 2009-2022 Cisco Systems, Inc. All rights reserved # Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2013 Mellanox Technologies, Inc. # All rights reserved. @@ -43,7 +43,6 @@ # Data structures to fill up with all the stuff we find my $mca_found; my $mpiext_found; -my $mpicontrib_found; my @subdirs; # Command line parameters @@ -243,7 +242,7 @@ sub process_autogen_subdirs { # Note: there's no real technical reason to defer # processing the subdirs. It's more of an aesthetic # reason -- don't interrupt the current flow of - # finding mca / ext / contribs (which is a nice, fast + # finding mca / ext (which is a nice, fast # process). Then process the subdirs (which is a slow # process) all at once. push(@subdirs, "$dir/$_"); @@ -715,93 +714,6 @@ sub mpiext_run_global { } } -############################################################################## - -sub mpicontrib_process { - my ($topdir, $contrib_prefix, $contribdir) = @_; - - my $cdir = "$topdir/$contrib_prefix/$contribdir"; - return - if (! -d $cdir); - - # Process this directory (pretty much the same treatment as for - # MCA components, so it's in a sub). - my $found_contrib; - - $found_contrib->{"name"} = $contribdir; - - # Push the results onto the hash array - push(@{$mpicontrib_found}, $found_contrib); - - # Is there an autogen.subdirs in here? - process_autogen_subdirs($cdir); -} - -############################################################################## - -sub mpicontrib_run_global { - my ($contrib_prefix) = @_; - - my $topdir = Cwd::cwd(); - - my $dir = "$topdir/$contrib_prefix"; - opendir(DIR, $dir) || - my_die "Can't open $dir directory"; - foreach my $d (sort(readdir(DIR))) { - # Skip any non-directory, "base", or any dir that begins with "." - next - if (! -d "$dir/$d" || $d eq "base" || substr($d, 0, 1) eq "."); - - # If this directory has a configure.m4, then it's an - # contrib. - if (-f "$dir/$d/configure.m4") { - verbose "=== Found $d MPI contrib"; - - # Check ignore status - if (ignored("$dir/$d")) { - verbose " (ignored)\n"; - } else { - verbose "\n"; - mpicontrib_process($topdir, $contrib_prefix, $d); - } - } - } - closedir(DIR); - debug_dump($mpicontrib_found); - - #----------------------------------------------------------------------- - - $m4 .= "\n$dnl_line -$dnl_line -$dnl_line - -dnl Open MPI contrib information -$dnl_line\n\n"; - - # Array for all the m4_includes that we'll need to pick up the - # configure.m4's. - my @includes; - my $m4_config_contrib_list; - - # Troll through each of the found contribs - foreach my $contrib (@{$mpicontrib_found}) { - my $c = $contrib->{name}; - push(@includes, "$contrib_prefix/$c/configure.m4"); - $m4_config_contrib_list .= ", $c"; - } - - $m4_config_contrib_list =~ s/^, //; - - # List the M4 and no configure contribs - $m4 .= "dnl List of all MPI contribs -m4_define([ompi_mpicontrib_list], [$m4_config_contrib_list])\n"; - # List out all the m4_include - $m4 .= "\ndnl List of configure.m4 files to include\n"; - foreach my $i (@includes) { - $m4 .= "m4_include([$i])\n"; - } -} - ############################################################################## # Find and remove stale files @@ -1672,15 +1584,11 @@ sub replace_config_sub_guess { #--------------------------------------------------------------------------- -# Find MPI extensions and contribs +# Find MPI extensions if (!$no_ompi_arg) { ++$step; verbose "\n$step. Searching for Open MPI extensions\n\n"; mpiext_run_global("ompi/mpiext"); - - ++$step; - verbose "\n$step. Searching for Open MPI contribs\n\n"; - mpicontrib_run_global("ompi/contrib"); } #--------------------------------------------------------------------------- diff --git a/config/ompi_contrib.m4 b/config/ompi_contrib.m4 deleted file mode 100644 index 27f6a37ccc6..00000000000 --- a/config/ompi_contrib.m4 +++ /dev/null @@ -1,140 +0,0 @@ -dnl -*- shell-script -*- -dnl -dnl Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -dnl University Research and Technology -dnl Corporation. All rights reserved. -dnl Copyright (c) 2004-2005 The University of Tennessee and The University -dnl of Tennessee Research Foundation. All rights -dnl reserved. -dnl Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -dnl University of Stuttgart. All rights reserved. -dnl Copyright (c) 2004-2005 The Regents of the University of California. -dnl All rights reserved. -dnl Copyright (c) 2007-2010 Cisco Systems, Inc. All rights reserved. -dnl Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved. -dnl Copyright (c) 2015 Research Organization for Information Science -dnl and Technology (RIST). All rights reserved. -dnl $COPYRIGHT$ -dnl -dnl Additional copyrights may follow -dnl -dnl $HEADER$ -dnl - -###################################################################### -# -# OMPI_CONTRIB -# -# configure the contributed software components. Currently fairly -# hard-wired, but someday should be much more like OMPI_MCA. See -# https://svn.open-mpi.org/trac/ompi/ticket/1162. -# -# USAGE: -# OMPI_CONTRIB() -# -###################################################################### -AC_DEFUN([OMPI_CONTRIB],[ - dnl for OPAL_CONFIGURE_USER env variable - AC_REQUIRE([OPAL_CONFIGURE_SETUP]) - - # Option to not build some of the contributed software packages - AC_ARG_ENABLE([contrib-no-build], - [AS_HELP_STRING([--enable-contrib-no-build=LIST], - [Comma-separated list of contributed package names that will not be built. Possible values: ompi_mpicontrib_list. Example: "--enable-contrib-no-build=foo,bar" will disable building both the "foo" and "bar" contributed software packages (default: none -- i.e., build all possible contrib packages)])]) - - # Parse the list to see what we should not build - opal_show_subtitle "Configuring contributed software packages" - AC_MSG_CHECKING([which contributed software packages should be disabled]) - if test "$enable_contrib_no_build" = "yes"; then - AC_MSG_RESULT([yes]) - AC_MSG_ERROR([*** The enable-contrib-no-build flag requires an explicit list -*** of packages to not build. For example, --enable-contrib-no-build=libompitrace]) - else - ifs_save="$IFS" - IFS="${IFS}$PATH_SEPARATOR," - msg= - for item in $enable_contrib_no_build; do - str="`echo DISABLE_contrib_${item}=1 | sed s/-/_/g`" - eval $str - msg="$item $msg" - done - IFS="$ifs_save" - fi - AC_MSG_RESULT([$msg]) - unset msg - - # List of contrib subdirs to traverse into - OMPI_CONTRIB_SUBDIRS= - OMPI_CONTRIB_DIST_SUBDIRS= - OMPI_MPI_CONTRIBS= - - # Cycle through each of the software packages and - # configure them if not disabled. - m4_foreach(software, [ompi_mpicontrib_list], - [_OMPI_CONTRIB_CONFIGURE(software)]) - - # Setup the top-level glue - AC_DEFINE_UNQUOTED([OMPI_MPI_CONTRIBS], ["$OMPI_MPI_CONTRIBS"], - [Contributed software packages built with Open MPI]) - AC_SUBST(OMPI_CONTRIB_SUBDIRS) - AC_SUBST(OMPI_CONTRIB_DIST_SUBDIRS) -])dnl - - -###################################################################### -# -# _OMPI_CONTRIB_SOFTWARE -# -# Setup a specific contributed software package. This is a subroutine -# because the work to setup each package is essentially the same. -# Currently assumes that there is a configure.m4 file in the -# contributed software directory. May someday be expanded to handle -# other things. -# -# USAGE: -# _OMPI_CONTRIB_SOFTARE([package_name]) -# -###################################################################### -AC_DEFUN([_OMPI_CONTRIB_CONFIGURE],[ - - opal_show_subsubsubtitle "$1 (m4 configuration macro)" - - # Put in a convenient enable/disable switch (it's a little more - # user friendly than - # --enable-contrib-no-build=, although each - # works just as well as the other). - AC_ARG_ENABLE([$1], - [AS_HELP_STRING([--disable-$1], - [disable support for contributed package $1 (default: enabled)])]) - AS_IF([test "x$enable_$1" = xno], [DISABLE_contrib_$1=yes]) - - OMPI_CONTRIB_HAPPY=0 - if test "$DISABLE_contrib_$1" = "" && test "$DISABLE_contrib_all" = ""; then - OMPI_contrib_$1_CONFIG([OMPI_CONTRIB_HAPPY=1], []) - AC_MSG_CHECKING([if contributed component $1 can compile]) - if test "$OMPI_CONTRIB_HAPPY" = "1"; then - OMPI_CONTRIB_SUBDIRS="$OMPI_CONTRIB_SUBDIRS contrib/$1" - OMPI_CONTRIB_DIST_SUBDIRS="$OMPI_CONTRIB_DIST_SUBDIRS contrib/$1" - if test "$OMPI_MPI_CONTRIBS" = ""; then - OMPI_MPI_CONTRIBS=$1 - else - OMPI_MPI_CONTRIBS="$1, $OMPI_MPI_CONTRIBS" - fi - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - - # If this component was requested via command line switch, then abort. - if test "x$enable_$1" = xyes ; then - AC_MSG_WARN([Contributed component "$1" failed to configure properly]) - AC_MSG_WARN([This component was requested via command line switch]) - AC_MSG_ERROR([Cannot continue]) - fi - fi - else - AC_MSG_NOTICE([disabled via command line switch]) - fi - AC_DEFINE_UNQUOTED(OMPI_ENABLE_CONTRIB_$1, [$OMPI_CONTRIB_HAPPY], - [Enable contributed software package $1]) - unset OMPI_CONTRIB_HAPPY -])dnl diff --git a/config/ompi_setup_contrib.m4 b/config/ompi_setup_contrib.m4 deleted file mode 100644 index 58c470ef131..00000000000 --- a/config/ompi_setup_contrib.m4 +++ /dev/null @@ -1,29 +0,0 @@ -# -*- shell-script -*- -# -# Copyright (c) 2004-2009 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-2007 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-2009 Cisco Systems, Inc. All rights reserved. -# Copyright (c) 2006-2008 Sun Microsystems, Inc. All rights reserved. -# Copyright (c) 2006-2007 Los Alamos National Security, LLC. All rights -# reserved. -# Copyright (c) 2009 Oak Ridge National Labs. All rights reserved. -# $COPYRIGHT$ -# -# Additional copyrights may follow -# -# $HEADER$ -# - -AC_DEFUN([OMPI_SETUP_CONTRIB],[ - opal_show_title "Contributed software setup" - - OMPI_CONTRIB -]) diff --git a/configure.ac b/configure.ac index 1a8e19cb348..eb2b043a776 100644 --- a/configure.ac +++ b/configure.ac @@ -1255,15 +1255,6 @@ m4_ifdef([project_ompi], [OMPI_SETUP_MPI_EXT]) # checkpoint results AC_CACHE_SAVE -################################## -# Contributed software -################################## - -m4_ifdef([project_ompi], [OMPI_SETUP_CONTRIB]) - -# checkpoint results -AC_CACHE_SAVE - ################################## # Visibility ################################## diff --git a/ompi/Makefile.am b/ompi/Makefile.am index cb0c03cb0a0..000f73bf1ed 100644 --- a/ompi/Makefile.am +++ b/ompi/Makefile.am @@ -9,7 +9,7 @@ # University of Stuttgart. All rights reserved. # Copyright (c) 2004-2005 The Regents of the University of California. # All rights reserved. -# Copyright (c) 2008-2019 Cisco Systems, Inc. All rights reserved +# Copyright (c) 2008-2022 Cisco Systems, Inc. All rights reserved # Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved. # Copyright (c) 2010-2011 Sandia National Laboratories. All rights reserved. # Copyright (c) 2013-2015 Los Alamos National Security, LLC. All rights @@ -92,7 +92,6 @@ SUBDIRS = \ mpi/fortran/use-mpi-f08 \ mpi/fortran/mpiext-use-mpi-f08 \ $(MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS) \ - $(OMPI_CONTRIB_SUBDIRS) \ mpi/man/man3 \ mpi/man/man5 @@ -128,7 +127,6 @@ DIST_SUBDIRS = \ $(OMPI_MPIEXT_ALL_SUBDIRS) \ $(MCA_ompi_FRAMEWORKS_SUBDIRS) \ $(MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS) \ - $(OMPI_CONTRIB_DIST_SUBDIRS) \ mpi/man/man3 \ mpi/man/man5 diff --git a/ompi/contrib/README.md b/ompi/contrib/README.md deleted file mode 100644 index bcaae6d43d9..00000000000 --- a/ompi/contrib/README.md +++ /dev/null @@ -1,19 +0,0 @@ -This is the OMPI contrib system. It is (far) less functional and -flexible than the OMPI MCA framework/component system. - -Each contrib package must have a `configure.m4`. It may optionally also -have an `autogen.subdirs` file. - -If it has a `configure.m4` file, it must specify its own relevant -files to `AC_CONFIG_FILES` to create during `AC_OUTPUT` -- just like -MCA components (at a minimum, usually its own `Makefile`). The -`configure.m4` file will be slurped up into the main `configure` -script, just like other MCA components. Note that there is currently -no "no configure" option for contrib packages -- you *must* have a -`configure.m4` (even if all it does it call `$1`). Feel free to fix -this situation if you want -- it probably won't not be too difficult -to extend `autogen.pl` to support this scenario, similar to how it is -done for MCA components. :smile: - -If it has an `autogen.subdirs` file, then it needs to be a -subdirectory that is autogen-able. diff --git a/ompi/contrib/libompitrace/Makefile.am b/ompi/contrib/libompitrace/Makefile.am deleted file mode 100644 index be35171d42a..00000000000 --- a/ompi/contrib/libompitrace/Makefile.am +++ /dev/null @@ -1,46 +0,0 @@ -# -*- makefile -*- -# -# 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) 2009-2016 Cisco Systems, Inc. All rights reserved. -# Copyright (c) 2016 IBM Corporation. All rights reserved. -# $COPYRIGHT$ -# -# Additional copyrights may follow -# -# $HEADER$ -# - -lib_LTLIBRARIES = libompitrace.la - -libompitrace_la_SOURCES = \ - abort.c \ - accumulate.c \ - add_error_class.c \ - add_error_code.c \ - add_error_string.c \ - allgather.c \ - allgatherv.c \ - alloc_mem.c \ - allreduce.c \ - barrier.c \ - bcast.c \ - get_address.c \ - finalize.c \ - init.c \ - isend.c \ - recv.c \ - reduce.c \ - request_free.c \ - send.c \ - sendrecv.c - -libompitrace_la_LDFLAGS = -version-info $(libompitrace_so_version) diff --git a/ompi/contrib/libompitrace/abort.c b/ompi/contrib/libompitrace/abort.c deleted file mode 100644 index 246e4bea335..00000000000 --- a/ompi/contrib/libompitrace/abort.c +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana - * University Research and Technology - * Corporation. All rights reserved. - * Copyright (c) 2004-2005 The University of Tennessee and The University - * of Tennessee Research Foundation. All rights - * reserved. - * Copyright (c) 2004-2008 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-2009 Cisco Systems, Inc. All rights reserved. - * $COPYRIGHT$ - * - * Additional copyrights may follow - * - * $HEADER$ - */ - -#include "ompi_config.h" - -#include - -#include "ompi/mpi/c/bindings.h" - -int MPI_Abort(MPI_Comm comm, int errorcode) -{ - char commname[MPI_MAX_OBJECT_NAME]; - int len; - int rank; - - PMPI_Comm_rank(MPI_COMM_WORLD, &rank); - PMPI_Comm_get_name(comm, commname, &len); - - fprintf(stderr, "MPI_ABORT[%d]: comm %s errorcode %d\n", rank, commname, errorcode); - fflush(stderr); - - return PMPI_Abort(comm, errorcode); -} diff --git a/ompi/contrib/libompitrace/accumulate.c b/ompi/contrib/libompitrace/accumulate.c deleted file mode 100644 index 1cee619c6fd..00000000000 --- a/ompi/contrib/libompitrace/accumulate.c +++ /dev/null @@ -1,55 +0,0 @@ -/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */ -/* - * Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana - * University Research and Technology - * Corporation. All rights reserved. - * Copyright (c) 2004-2005 The University of Tennessee and The University - * of Tennessee Research Foundation. All rights - * reserved. - * Copyright (c) 2004-2008 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) 2009 Sun Microsystmes, Inc. All rights reserved. - * Copyright (c) 2009 Cisco Systems, Inc. All rights reserved. - * Copyright (c) 2013 Los Alamos National Security, LLC. All rights - * reserved. - * $COPYRIGHT$ - * - * Additional copyrights may follow - * - * $HEADER$ - */ -#include "ompi_config.h" - -#include - -#include "opal_stdint.h" -#include "ompi/op/op.h" -#include "ompi/mpi/c/bindings.h" - -int MPI_Accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, - int target_rank, MPI_Aint target_disp, int target_count, - MPI_Datatype target_datatype, MPI_Op op, MPI_Win win) -{ - - char typename[MPI_MAX_OBJECT_NAME], target_dt[MPI_MAX_OBJECT_NAME]; - char winname[MPI_MAX_OBJECT_NAME]; - int len; - int rank; - - PMPI_Comm_rank(MPI_COMM_WORLD, &rank); - PMPI_Type_get_name(origin_datatype, typename, &len); - PMPI_Type_get_name(target_datatype, target_dt, &len); - PMPI_Win_get_name(win, winname, &len); - - fprintf(stderr, "MPI_ACCUMULATE[%d]: origin_addr %0" PRIxPTR " origin_count %d origin_datatype %s\n" - "\ttarget_rank %d target_disp %" PRIdPTR " target_count %d target_datatype %s op %s win %s\n", - rank, (uintptr_t)origin_addr, origin_count, typename, target_rank, (intptr_t) target_disp, - target_count, target_dt, op->o_name, winname); - fflush(stderr); - - return PMPI_Accumulate(origin_addr, origin_count, origin_datatype, - target_rank, target_disp, target_count, - target_datatype, op, win); -} diff --git a/ompi/contrib/libompitrace/add_error_class.c b/ompi/contrib/libompitrace/add_error_class.c deleted file mode 100644 index 721aa3b1fd8..00000000000 --- a/ompi/contrib/libompitrace/add_error_class.c +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (c) 2004-2007 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) 2006 University of Houston. All rights reserved. - * Copyright (c) 2009 Cisco Systems, Inc. All rights reserved. - * $COPYRIGHT$ - * - * Additional copyrights may follow - * - * $HEADER$ - */ -#include "ompi_config.h" - -#include - -#include "opal_stdint.h" -#include "ompi/mpi/c/bindings.h" - -int MPI_Add_error_class(int *errorclass) -{ - int rank; - - PMPI_Comm_rank(MPI_COMM_WORLD, &rank); - - fprintf(stderr, "MPI_ADD_ERROR_CLASS[%d]: errorclass %0" PRIxPTR "\n", rank, (uintptr_t)errorclass); - fflush(stderr); - - return PMPI_Add_error_class(errorclass); -} - diff --git a/ompi/contrib/libompitrace/add_error_code.c b/ompi/contrib/libompitrace/add_error_code.c deleted file mode 100644 index f1465ab3ba8..00000000000 --- a/ompi/contrib/libompitrace/add_error_code.c +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana - * University Research and Technology - * Corporation. All rights reserved. - * Copyright (c) 2004-2005 The University of Tennessee and The University - * of Tennessee Research Foundation. All rights - * reserved. - * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, - * University of Stuttgart. All rights reserved. - * Copyright (c) 2004-2005 The Regents of the University of California. - * All rights reserved. - * Copyright (c) 2006 University of Houston. All rights reserved. - * Copyright (c) 2009 Cisco Systems, Inc. All rights reserved. - * $COPYRIGHT$ - * - * Additional copyrights may follow - * - * $HEADER$ - */ -#include "ompi_config.h" - -#include - -#include "opal_stdint.h" -#include "ompi/mpi/c/bindings.h" - -int MPI_Add_error_code(int errorclass, int *errorcode) -{ - int rank; - - PMPI_Comm_rank(MPI_COMM_WORLD, &rank); - - fprintf(stderr, "MPI_ADD_ERROR_CODE[%d]: errorclass %d errcode %0" PRIxPTR "\n", rank, errorclass, (uintptr_t)errorcode); - fflush(stderr); - - return PMPI_Add_error_code(errorclass, errorcode); -} diff --git a/ompi/contrib/libompitrace/add_error_string.c b/ompi/contrib/libompitrace/add_error_string.c deleted file mode 100644 index 499607dd9f9..00000000000 --- a/ompi/contrib/libompitrace/add_error_string.c +++ /dev/null @@ -1,39 +0,0 @@ -/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */ -/* - * Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana - * University Research and Technology - * Corporation. All rights reserved. - * Copyright (c) 2004-2005 The University of Tennessee and The University - * of Tennessee Research Foundation. All rights - * reserved. - * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, - * University of Stuttgart. All rights reserved. - * Copyright (c) 2004-2005 The Regents of the University of California. - * All rights reserved. - * Copyright (c) 2006 University of Houston. All rights reserved. - * Copyright (c) 2013 Los Alamos National Security, LLC. All rights - * reserved. - * $COPYRIGHT$ - * - * Additional copyrights may follow - * - * $HEADER$ - */ -#include "ompi_config.h" - -#include - -#include "ompi/mpi/c/bindings.h" - -int MPI_Add_error_string(int errorcode, const char *string) -{ - int rank; - - PMPI_Comm_rank(MPI_COMM_WORLD, &rank); - - fprintf(stderr, "MPI_ADD_ERROR_STRING[%d]: errorcode %d string %s\n", - rank, errorcode, string); - fflush(stderr); - - return PMPI_Add_error_string(errorcode, string); -} diff --git a/ompi/contrib/libompitrace/allgather.c b/ompi/contrib/libompitrace/allgather.c deleted file mode 100644 index 858da501aeb..00000000000 --- a/ompi/contrib/libompitrace/allgather.c +++ /dev/null @@ -1,61 +0,0 @@ -/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */ -/* - * Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana - * University Research and Technology - * Corporation. All rights reserved. - * Copyright (c) 2004-2005 The University of Tennessee and The University - * of Tennessee Research Foundation. All rights - * reserved. - * Copyright (c) 2004-2008 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-2022 Cisco Systems, Inc. All rights reserved - * Copyright (c) 2013 Los Alamos National Security, LLC. All rights - * reserved. - * $COPYRIGHT$ - * - * Additional copyrights may follow - * - * $HEADER$ - */ - -#include "ompi_config.h" - -#include - -#include "opal_stdint.h" - -#include "ompi/mpi/c/bindings.h" - -int MPI_Allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, - void *recvbuf, int recvcount, MPI_Datatype recvtype, - MPI_Comm comm) -{ - char sendtypename[MPI_MAX_OBJECT_NAME], recvtypename[MPI_MAX_OBJECT_NAME]; - char commname[MPI_MAX_OBJECT_NAME]; - int len; - int rank; - - PMPI_Comm_rank(MPI_COMM_WORLD, &rank); - if (sendtype != MPI_DATATYPE_NULL) { - PMPI_Type_get_name(sendtype, sendtypename, &len); - } else { - strncpy(sendtypename, "MPI_DATATYPE_NULL", - sizeof(sendtypename)); - } - if (recvtype != MPI_DATATYPE_NULL) { - PMPI_Type_get_name(recvtype, recvtypename, &len); - } else { - strncpy(recvtypename, "MPI_DATATYPE_NULL", - sizeof(recvtypename)); - } - PMPI_Comm_get_name(comm, commname, &len); - - fprintf(stderr, "MPI_ALLGATHER[%d]: sendbuf %0" PRIxPTR " sendcount %d sendtype %s\n\trecvbuf %0" PRIxPTR " recvcount %d recvtype %s comm %s\n", - rank, (uintptr_t) sendbuf, sendcount, sendtypename, (uintptr_t) recvbuf, recvcount, recvtypename, commname); - fflush(stderr); - - return PMPI_Allgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm); -} - diff --git a/ompi/contrib/libompitrace/allgatherv.c b/ompi/contrib/libompitrace/allgatherv.c deleted file mode 100644 index 1623b6d0822..00000000000 --- a/ompi/contrib/libompitrace/allgatherv.c +++ /dev/null @@ -1,61 +0,0 @@ -/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */ -/* - * Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana - * University Research and Technology - * Corporation. All rights reserved. - * Copyright (c) 2004-2005 The University of Tennessee and The University - * of Tennessee Research Foundation. All rights - * reserved. - * Copyright (c) 2004-2008 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) 2009-2022 Cisco Systems, Inc. All rights reserved - * Copyright (c) 2013 Los Alamos National Security, LLC. All rights - * reserved. - * $COPYRIGHT$ - * - * Additional copyrights may follow - * - * $HEADER$ - */ - -#include "ompi_config.h" - -#include - -#include "opal_stdint.h" - -#include "ompi/mpi/c/bindings.h" - -int MPI_Allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, - void *recvbuf, const int recvcounts[], const int displs[], - MPI_Datatype recvtype, MPI_Comm comm) -{ - char sendtypename[MPI_MAX_OBJECT_NAME], recvtypename[MPI_MAX_OBJECT_NAME]; - char commname[MPI_MAX_OBJECT_NAME]; - int len; - int rank; - - PMPI_Comm_rank(MPI_COMM_WORLD, &rank); - if (sendtype != MPI_DATATYPE_NULL) { - PMPI_Type_get_name(sendtype, sendtypename, &len); - } else { - strncpy(sendtypename, "MPI_DATATYPE_NULL", - sizeof(sendtypename)); - } - if (recvtype != MPI_DATATYPE_NULL) { - PMPI_Type_get_name(recvtype, recvtypename, &len); - } else { - strncpy(recvtypename, "MPI_DATATYPE_NULL", - sizeof(recvtypename)); - } - PMPI_Comm_get_name(comm, commname, &len); - - fprintf(stderr, "MPI_ALLGATHERV[%d]: sendbuf %0" PRIxPTR " sendcount %d sendtype %s\n\trecvbuf %0" PRIxPTR " recvtype %s comm %s\n", - rank, (uintptr_t) sendbuf, sendcount, sendtypename, (uintptr_t) recvbuf, recvtypename, commname); - fflush(stderr); - - return PMPI_Allgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm); -} - diff --git a/ompi/contrib/libompitrace/alloc_mem.c b/ompi/contrib/libompitrace/alloc_mem.c deleted file mode 100644 index 59c0de39a32..00000000000 --- a/ompi/contrib/libompitrace/alloc_mem.c +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana - * University Research and Technology - * Corporation. All rights reserved. - * Copyright (c) 2004-2005 The University of Tennessee and The University - * of Tennessee Research Foundation. All rights - * reserved. - * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, - * University of Stuttgart. All rights reserved. - * Copyright (c) 2004-2005 The Regents of the University of California. - * All rights reserved. - * Copyright (c) 2007 Cisco Systems, Inc. All rights reserved. - * $COPYRIGHT$ - * - * Additional copyrights may follow - * - * $HEADER$ - */ - -#include "ompi_config.h" - -#include - -#include "ompi/mpi/c/bindings.h" - -int MPI_Alloc_mem(MPI_Aint size, MPI_Info info, void *baseptr) -{ - - int rank; - - PMPI_Comm_rank(MPI_COMM_WORLD, &rank); - - fprintf(stderr, "MPI_Alloc_mem[%d]: size %0ld\n", rank, (long)size); - fflush(stderr); - - return PMPI_Alloc_mem(size, info, baseptr); -} - diff --git a/ompi/contrib/libompitrace/allreduce.c b/ompi/contrib/libompitrace/allreduce.c deleted file mode 100644 index 547fbca9a15..00000000000 --- a/ompi/contrib/libompitrace/allreduce.c +++ /dev/null @@ -1,51 +0,0 @@ -/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */ -/* - * Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana - * University Research and Technology - * Corporation. All rights reserved. - * Copyright (c) 2004-2005 The University of Tennessee and The University - * of Tennessee Research Foundation. All rights - * reserved. - * Copyright (c) 2004-2008 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) 2009-2022 Cisco Systems, Inc. All rights reserved - * Copyright (c) 2013 Los Alamos National Security, LLC. All rights - * reserved. - * $COPYRIGHT$ - * - * Additional copyrights may follow - * - * $HEADER$ - */ - -#include "ompi_config.h" - -#include - -#include "opal_stdint.h" -#include "ompi/op/op.h" -#include "ompi/mpi/c/bindings.h" - -int MPI_Allreduce(const void *sendbuf, void *recvbuf, int count, - MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) -{ - char typename[MPI_MAX_OBJECT_NAME], commname[MPI_MAX_OBJECT_NAME]; - int len; - int rank; - - PMPI_Comm_rank(MPI_COMM_WORLD, &rank); - if (datatype != MPI_DATATYPE_NULL) { - PMPI_Type_get_name(datatype, typename, &len); - } else { - strncpy(typename, "MPI_DATATYPE_NULL", sizeof(typename)); - } - PMPI_Comm_get_name(comm, commname, &len); - - fprintf(stderr, "MPI_ALLREDUCE[%d]: sendbuf %0" PRIxPTR " recvbuf %0" PRIxPTR " count %d datatype %s op %s comm %s\n", - rank, (uintptr_t)sendbuf, (uintptr_t)recvbuf, count, typename, op->o_name, commname); - fflush(stderr); - - return PMPI_Allreduce(sendbuf, recvbuf, count, datatype, op, comm); -} diff --git a/ompi/contrib/libompitrace/barrier.c b/ompi/contrib/libompitrace/barrier.c deleted file mode 100644 index 0a1c58ed179..00000000000 --- a/ompi/contrib/libompitrace/barrier.c +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana - * University Research and Technology - * Corporation. All rights reserved. - * Copyright (c) 2004-2005 The University of Tennessee and The University - * of Tennessee Research Foundation. All rights - * reserved. - * Copyright (c) 2004-2008 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) 2009 Cisco Systems, Inc. All rights reserved. - * $COPYRIGHT$ - * - * Additional copyrights may follow - * - * $HEADER$ - */ - -#include "ompi_config.h" - -#include - -#include "ompi/mpi/c/bindings.h" - -int MPI_Barrier(MPI_Comm comm) -{ - char commname[MPI_MAX_OBJECT_NAME]; - int len; - int rank; - - PMPI_Comm_rank(MPI_COMM_WORLD, &rank); - PMPI_Comm_get_name(comm, commname, &len); - - fprintf(stderr, "MPI_BARRIER[%d]: comm %s\n", rank, commname); - fflush(stderr); - - return PMPI_Barrier(comm); -} diff --git a/ompi/contrib/libompitrace/bcast.c b/ompi/contrib/libompitrace/bcast.c deleted file mode 100644 index 5a0664e3be7..00000000000 --- a/ompi/contrib/libompitrace/bcast.c +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana - * University Research and Technology - * Corporation. All rights reserved. - * Copyright (c) 2004-2005 The University of Tennessee and The University - * of Tennessee Research Foundation. All rights - * reserved. - * Copyright (c) 2004-2008 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) 2009-2022 Cisco Systems, Inc. All rights reserved - * $COPYRIGHT$ - * - * Additional copyrights may follow - * - * $HEADER$ - */ - -#include "ompi_config.h" - -#include - -#include "opal_stdint.h" - -#include "ompi/mpi/c/bindings.h" - - -int MPI_Bcast(void *buffer, int count, MPI_Datatype datatype, - int root, MPI_Comm comm) -{ - char typename[MPI_MAX_OBJECT_NAME], commname[MPI_MAX_OBJECT_NAME]; - int len; - int rank; - - PMPI_Comm_rank(MPI_COMM_WORLD, &rank); - if (datatype != MPI_DATATYPE_NULL) { - PMPI_Type_get_name(datatype, typename, &len); - } else { - strncpy(typename, "MPI_DATATYPE_NULL", sizeof(typename)); - } - PMPI_Comm_get_name(comm, commname, &len); - - fprintf(stderr, "MPI_BCAST[%d]: buffer %0" PRIxPTR " count %d datatype %s root %d comm %s\n", - rank, (uintptr_t) buffer, count, typename, root, commname); - fflush(stderr); - - return PMPI_Bcast(buffer, count, datatype, root, comm); -} diff --git a/ompi/contrib/libompitrace/configure.m4 b/ompi/contrib/libompitrace/configure.m4 deleted file mode 100644 index a55b6590785..00000000000 --- a/ompi/contrib/libompitrace/configure.m4 +++ /dev/null @@ -1,27 +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 (c) 2007-2010 Cisco Systems, Inc. All rights reserved. -# $COPYRIGHT$ -# -# Additional copyrights may follow -# -# $HEADER$ -# - -# OMPI_contrib_libompitrace_CONFIG([action-if-can-compile], -# [action-if-cant-compile]) -# ------------------------------------------------ -AC_DEFUN([OMPI_contrib_libompitrace_CONFIG],[ - AC_CONFIG_FILES([ompi/contrib/libompitrace/Makefile]) - $1 -])dnl diff --git a/ompi/contrib/libompitrace/finalize.c b/ompi/contrib/libompitrace/finalize.c deleted file mode 100644 index 30b4df110cd..00000000000 --- a/ompi/contrib/libompitrace/finalize.c +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana - * University Research and Technology - * Corporation. All rights reserved. - * Copyright (c) 2004-2005 The University of Tennessee and The University - * of Tennessee Research Foundation. All rights - * reserved. - * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, - * University of Stuttgart. All rights reserved. - * Copyright (c) 2004-2005 The Regents of the University of California. - * All rights reserved. - * Copyright (c) 2009 Cisco Systems, Inc. All rights reserved. - * $COPYRIGHT$ - * - * Additional copyrights may follow - * - * $HEADER$ - */ - -#include "ompi_config.h" - -#include - -#include "ompi/mpi/c/bindings.h" - -int MPI_Finalize(void) -{ - int rank; - - PMPI_Comm_rank(MPI_COMM_WORLD, &rank); - - fprintf(stderr, "MPI_FINALIZE[%d]\n", rank); - fflush(stderr); - - return PMPI_Finalize(); -} diff --git a/ompi/contrib/libompitrace/get_address.c b/ompi/contrib/libompitrace/get_address.c deleted file mode 100644 index bef3d347967..00000000000 --- a/ompi/contrib/libompitrace/get_address.c +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana - * University Research and Technology - * Corporation. All rights reserved. - * Copyright (c) 2004-2005 The University of Tennessee and The University - * of Tennessee Research Foundation. All rights - * reserved. - * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, - * University of Stuttgart. All rights reserved. - * Copyright (c) 2004-2005 The Regents of the University of California. - * All rights reserved. - * Copyright (c) 2009 Cisco Systems, Inc. All rights reserved. - * Copyright (c) 2018 Los Alamos National Security, LLC. All - * rights reserved. - * $COPYRIGHT$ - * - * Additional copyrights may follow - * - * $HEADER$ - */ - -#include "ompi_config.h" - -#include - -#include "opal_stdint.h" -#include "ompi/mpi/c/bindings.h" - -int MPI_Get_address(const void *location, MPI_Aint *address) -{ - - int rank; - - PMPI_Comm_rank(MPI_COMM_WORLD, &rank); - - fprintf(stderr, "MPI_GET_ADDRESS[%d]: location %0" PRIxPTR " address %0" PRIxPTR "\n", - rank, (uintptr_t)location, (uintptr_t)address); - fflush(stderr); - - return PMPI_Get_address(location, address); -} diff --git a/ompi/contrib/libompitrace/init.c b/ompi/contrib/libompitrace/init.c deleted file mode 100644 index a92f384048c..00000000000 --- a/ompi/contrib/libompitrace/init.c +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana - * University Research and Technology - * Corporation. All rights reserved. - * Copyright (c) 2004-2005 The University of Tennessee and The University - * of Tennessee Research Foundation. All rights - * reserved. - * Copyright (c) 2004-2006 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-2009 Cisco Systems, Inc. All rights reserved. - * Copyright (c) 2007-2008 Sun Microsystems, Inc. All rights reserved. - * $COPYRIGHT$ - * - * Additional copyrights may follow - * - * $HEADER$ - */ - -#include "ompi_config.h" - -#include - -#include "ompi/mpi/c/bindings.h" - -int MPI_Init(int *argc, char ***argv) -{ - fprintf(stderr, "MPI_INIT: argc %d\n", (0 < *argc) ? *argc : 0); - fflush(stderr); - - return PMPI_Init(argc, argv); -} diff --git a/ompi/contrib/libompitrace/isend.c b/ompi/contrib/libompitrace/isend.c deleted file mode 100644 index 8d4ac195853..00000000000 --- a/ompi/contrib/libompitrace/isend.c +++ /dev/null @@ -1,51 +0,0 @@ -/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */ -/* - * Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana - * University Research and Technology - * Corporation. All rights reserved. - * Copyright (c) 2004-2005 The University of Tennessee and The University - * of Tennessee Research Foundation. All rights - * reserved. - * Copyright (c) 2004-2008 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-2022 Cisco Systems, Inc. All rights reserved - * Copyright (c) 2013 Los Alamos National Security, LLC. All rights - * reserved. - * $COPYRIGHT$ - * - * Additional copyrights may follow - * - * $HEADER$ - */ - -#include "ompi_config.h" - -#include - -#include "opal_stdint.h" - -#include "ompi/mpi/c/bindings.h" - -int MPI_Isend(const void *buf, int count, MPI_Datatype type, int dest, - int tag, MPI_Comm comm, MPI_Request *request) -{ - char typename[MPI_MAX_OBJECT_NAME], commname[MPI_MAX_OBJECT_NAME]; - int len; - int rank; - - PMPI_Comm_rank(MPI_COMM_WORLD, &rank); - if (type != MPI_DATATYPE_NULL) { - PMPI_Type_get_name(type, typename, &len); - } else { - strncpy(typename, "MPI_DATATYPE_NULL", sizeof(typename)); - } - PMPI_Comm_get_name(comm, commname, &len); - - fprintf(stderr, "MPI_ISEND[%d]: buf %0" PRIxPTR " count %d datatype %s dest %d tag %d comm %s\n", - rank, (uintptr_t) buf, count, typename, dest, tag, commname); - fflush(stderr); - - return PMPI_Isend(buf, count, type, dest, tag, comm, request); -} diff --git a/ompi/contrib/libompitrace/recv.c b/ompi/contrib/libompitrace/recv.c deleted file mode 100644 index 61b312d5c5b..00000000000 --- a/ompi/contrib/libompitrace/recv.c +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana - * University Research and Technology - * Corporation. All rights reserved. - * Copyright (c) 2004-2005 The University of Tennessee and The University - * of Tennessee Research Foundation. All rights - * reserved. - * Copyright (c) 2004-2008 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) 2009-2022 Cisco Systems, Inc. All rights reserved - * $COPYRIGHT$ - * - * Additional copyrights may follow - * - * $HEADER$ - */ - -#include "ompi_config.h" - -#include - -#include "opal_stdint.h" - -#include "ompi/mpi/c/bindings.h" - -int MPI_Recv(void *buf, int count, MPI_Datatype type, int source, - int tag, MPI_Comm comm, MPI_Status *status) -{ - char typename[MPI_MAX_OBJECT_NAME], commname[MPI_MAX_OBJECT_NAME]; - int len; - int rank; - - PMPI_Comm_rank(MPI_COMM_WORLD, &rank); - if (type != MPI_DATATYPE_NULL) { - PMPI_Type_get_name(type, typename, &len); - } else { - strncpy(typename, "MPI_DATATYPE_NULL", sizeof(typename)); - } - PMPI_Comm_get_name(comm, commname, &len); - - fprintf(stderr, "MPI_RECV[%d]: buf %0" PRIxPTR " count %d datatype %s source %d tag %d comm %s\n", - rank, (uintptr_t) buf, count, typename, source, tag, commname); - fflush(stderr); - - return PMPI_Recv(buf, count, type, source, tag, comm, status); -} diff --git a/ompi/contrib/libompitrace/reduce.c b/ompi/contrib/libompitrace/reduce.c deleted file mode 100644 index cd38a065cf9..00000000000 --- a/ompi/contrib/libompitrace/reduce.c +++ /dev/null @@ -1,52 +0,0 @@ -/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */ -/* - * Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana - * University Research and Technology - * Corporation. All rights reserved. - * Copyright (c) 2004-2005 The University of Tennessee and The University - * of Tennessee Research Foundation. All rights - * reserved. - * Copyright (c) 2004-2008 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-2022 Cisco Systems, Inc. All rights reserved - * Copyright (c) 2013 Los Alamos National Security, LLC. All rights - * reserved. - * $COPYRIGHT$ - * - * Additional copyrights may follow - * - * $HEADER$ - */ - -#include "ompi_config.h" - -#include - -#include "opal_stdint.h" - -#include "ompi/op/op.h" -#include "ompi/mpi/c/bindings.h" - -int MPI_Reduce(const void *sendbuf, void *recvbuf, int count, - MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm) -{ - char typename[MPI_MAX_OBJECT_NAME], commname[MPI_MAX_OBJECT_NAME]; - int len; - int rank; - - PMPI_Comm_rank(MPI_COMM_WORLD, &rank); - if (datatype != MPI_DATATYPE_NULL) { - PMPI_Type_get_name(datatype, typename, &len); - } else { - strncpy(typename, "MPI_DATATYPE_NULL", sizeof(typename)); - } - PMPI_Comm_get_name(comm, commname, &len); - - fprintf(stderr,"MPI_REDUCE[%d]: sendbuf %0" PRIxPTR " recvbuf %0" PRIxPTR " count %d datatype %s op %s root %d comm %s\n", - rank, (uintptr_t) sendbuf, (uintptr_t) recvbuf, count, typename, op->o_name, root, commname); - fflush(stderr); - - return PMPI_Reduce(sendbuf, recvbuf, count, datatype, op, root, comm); -} diff --git a/ompi/contrib/libompitrace/request_free.c b/ompi/contrib/libompitrace/request_free.c deleted file mode 100644 index cc740582e8e..00000000000 --- a/ompi/contrib/libompitrace/request_free.c +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana - * University Research and Technology - * Corporation. All rights reserved. - * Copyright (c) 2004-2005 The University of Tennessee and The University - * of Tennessee Research Foundation. All rights - * reserved. - * Copyright (c) 2004-2008 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-2009 Cisco Systems, Inc. All rights reserved. - * $COPYRIGHT$ - * - * Additional copyrights may follow - * - * $HEADER$ - */ - -#include "ompi_config.h" - -#include - -#include "ompi/mpi/c/bindings.h" - -int MPI_Request_free(MPI_Request *request) -{ - int rank; - - PMPI_Comm_rank(MPI_COMM_WORLD, &rank); - - fprintf(stderr, "MPI_REQUEST_FREE[%d]\n", rank); - fflush(stderr); - - return PMPI_Request_free(request); -} diff --git a/ompi/contrib/libompitrace/send.c b/ompi/contrib/libompitrace/send.c deleted file mode 100644 index 3517c82884a..00000000000 --- a/ompi/contrib/libompitrace/send.c +++ /dev/null @@ -1,51 +0,0 @@ -/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */ -/* - * Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana - * University Research and Technology - * Corporation. All rights reserved. - * Copyright (c) 2004-2005 The University of Tennessee and The University - * of Tennessee Research Foundation. All rights - * reserved. - * Copyright (c) 2004-2008 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) 2009-2022 Cisco Systems, Inc. All rights reserved - * Copyright (c) 2013 Los Alamos National Security, LLC. All rights - * reserved. - * $COPYRIGHT$ - * - * Additional copyrights may follow - * - * $HEADER$ - */ - -#include "ompi_config.h" - -#include - -#include "opal_stdint.h" - -#include "ompi/mpi/c/bindings.h" - -int MPI_Send(const void *buf, int count, MPI_Datatype type, int dest, - int tag, MPI_Comm comm) -{ - char typename[MPI_MAX_OBJECT_NAME], commname[MPI_MAX_OBJECT_NAME]; - int len; - int rank; - - PMPI_Comm_rank(MPI_COMM_WORLD, &rank); - if (type != MPI_DATATYPE_NULL) { - PMPI_Type_get_name(type, typename, &len); - } else { - strncpy(typename, "MPI_DATATYPE_NULL", sizeof(typename)); - } - PMPI_Comm_get_name(comm, commname, &len); - - fprintf(stderr, "MPI_SEND[%d]: : buf %0" PRIxPTR " count %d datatype %s dest %d tag %d comm %s\n", - rank, (uintptr_t) buf, count, typename, dest, tag, commname); - fflush(stderr); - - return PMPI_Send(buf, count, type, dest, tag, comm); -} diff --git a/ompi/contrib/libompitrace/sendrecv.c b/ompi/contrib/libompitrace/sendrecv.c deleted file mode 100644 index c3096ed70bf..00000000000 --- a/ompi/contrib/libompitrace/sendrecv.c +++ /dev/null @@ -1,70 +0,0 @@ -/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */ -/* - * Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana - * University Research and Technology - * Corporation. All rights reserved. - * Copyright (c) 2004-2005 The University of Tennessee and The University - * of Tennessee Research Foundation. All rights - * reserved. - * Copyright (c) 2004-2008 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) 2009-2022 Cisco Systems, Inc. All rights reserved - * Copyright (c) 2013 Los Alamos National Security, LLC. All rights - * reserved. - * $COPYRIGHT$ - * - * Additional copyrights may follow - * - * $HEADER$ - */ - -#include "ompi_config.h" - -#include -#include - -#include "opal_stdint.h" - -#include "ompi/mpi/c/bindings.h" - -int MPI_Sendrecv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, - int dest, int sendtag, void *recvbuf, int recvcount, - MPI_Datatype recvtype, int source, int recvtag, - MPI_Comm comm, MPI_Status *status) -{ - char sendtypename[MPI_MAX_OBJECT_NAME], recvtypename[MPI_MAX_OBJECT_NAME]; - char commname[MPI_MAX_OBJECT_NAME]; - int len; - int rank; - int size; - - PMPI_Comm_rank(MPI_COMM_WORLD, &rank); - if (sendtype != MPI_DATATYPE_NULL) { - PMPI_Type_get_name(sendtype, sendtypename, &len); - } else { - strncpy(sendtypename, "MPI_DATATYPE_NULL", - sizeof(sendtypename)); - } - if (recvtype != MPI_DATATYPE_NULL) { - PMPI_Type_get_name(recvtype, recvtypename, &len); - } else { - strncpy(recvtypename, "MPI_DATATYPE_NULL", - sizeof(recvtypename)); - } - PMPI_Comm_get_name(comm, commname, &len); - PMPI_Type_size(recvtype, &size); - - fprintf(stderr, "MPI_SENDRECV[%d]: sendbuf %0" PRIxPTR " sendcount %d sendtype %s dest %d sendtag %d\n\t" - "recvbuf %0" PRIxPTR " recvcount %d recvtype %s source %d recvtag %d comm %s\n", - rank, (uintptr_t) sendbuf, sendcount, sendtypename, dest, sendtag, - (uintptr_t) recvbuf, recvcount, recvtypename, source, recvtag, commname); - fflush(stderr); - - memset(recvbuf, 0, recvcount*size); - - return PMPI_Sendrecv(sendbuf, sendcount, sendtype, dest, sendtag, - recvbuf, recvcount, recvtype, source, recvtag, - comm, status); -}