Commits

Jeff Squyres committed e03b5ab

Up to SVN r28933

Comments (0)

Files changed (854)

 ./opal/mca/if/solaris_ipv6/Makefile.in
 ./opal/mca/backtrace/Makefile.in
 ./opal/mca/backtrace/none/Makefile.in
-./opal/mca/backtrace/darwin/Makefile.in
 ./opal/mca/backtrace/execinfo/Makefile.in
 ./opal/mca/backtrace/printstack/Makefile.in
 ./opal/mca/memchecker/Makefile.in
 ./opal/mca/crs/base/Makefile.in
 ./opal/mca/crs/self/Makefile.in
 ./opal/mca/event/Makefile.in
-./opal/mca/event/libevent2019/Makefile.in
-./opal/mca/event/libevent2019/libevent/stamp-h1
-./opal/mca/event/libevent2019/libevent/Makefile.in
-./opal/mca/event/libevent2019/libevent/config.h
-./opal/mca/event/libevent2019/libevent/libevent.pc
-./opal/mca/event/libevent2019/libevent/libevent_openssl.pc
-./opal/mca/event/libevent2019/libevent/libevent_pthreads.pc
-./opal/mca/event/libevent2019/libevent/compile
-./opal/mca/event/libevent2019/libevent/include/Makefile.in
-./opal/mca/event/libevent2019/libevent/include/event2/event-config.h
-./opal/mca/event/libevent2019/libevent/m4/ltsugar.m4
-./opal/mca/event/libevent2019/libevent/m4/libtool.m4
-./opal/mca/event/libevent2019/libevent/m4/ltversion.m4
-./opal/mca/event/libevent2019/libevent/m4/lt~obsolete.m4
-./opal/mca/event/libevent2019/libevent/m4/ltoptions.m4
 ./opal/mca/event/libevent2021/Makefile.in
 ./opal/mca/event/libevent2021/libevent/stamp-h1
+./opal/mca/event/libevent2021/libevent/config.h.in
 ./opal/mca/event/libevent2021/libevent/Makefile.in
 ./opal/mca/event/libevent2021/libevent/config.h
 ./opal/mca/event/libevent2021/libevent/libevent.pc
 ./ompi/mpi/man/man3/MPI*.3
 ./ompi/mpi/man/man3/OpenMPI.3
 ./ompi/mpi/man/man3/.dir-stamp
+./ompi/mpi/tool/Makefile.in
+./ompi/mpi/tool/profile/Makefile.in
+./ompi/mpi/tool/profile/*.c
 ./ompi/mpi/fortran/configure-fortran-output.h
 ./ompi/mpi/fortran/use-mpi-ignore-tkr/Makefile.in
 ./ompi/mpi/fortran/use-mpi-ignore-tkr/mpi-ignore-tkr-interfaces.h
 ./ompi/mca/fbtl/posix/Makefile.in
 ./ompi/mca/fbtl/pvfs2/Makefile.in
 ./ompi/mca/topo/Makefile.in
-./ompi/mca/topo/unity/Makefile.in
-./ompi/mca/topo/unity/topo-unity-version.h*
+./ompi/mca/topo/basic/Makefile.in
 ./ompi/mca/pubsub/Makefile.in
 ./ompi/mca/pubsub/pmi/Makefile.in
 ./ompi/mca/pubsub/orte/Makefile.in
 ./ompi/mca/dpm/orte/Makefile.in
 ./ompi/mca/dpm/base/Makefile.in
 ./ompi/mca/fcoll/Makefile.in
-./ompi/mca/fcoll/ylib/Makefile.in
 ./ompi/mca/fcoll/static/Makefile.in
 ./ompi/mca/fcoll/individual/Makefile.in
 ./ompi/mca/fcoll/dynamic/Makefile.in
 ./ompi/mca/coll/Makefile.in
 ./ompi/mca/coll/sm/Makefile.in
 ./ompi/mca/coll/sm/coll-sm-version.h*
+./ompi/mca/coll/portals4/Makefile.in
 ./ompi/mca/coll/demo/Makefile.in
 ./ompi/mca/coll/demo/acinclude.m4
 ./ompi/mca/coll/demo/configure.ac
 ./ompi/mca/coll/demo/stamp-h1*
 ./ompi/mca/coll/demo/.lam*
 ./ompi/mca/coll/demo/coll-demo-version.h*
+./ompi/mca/coll/hcoll/Makefile.in
 ./ompi/mca/coll/ml/Makefile.in
 ./ompi/mca/coll/ml/coll_ml_lex.c
 ./ompi/mca/coll/basic/Makefile.in
 ./ompi/mca/coll/hierarch/Makefile.in
 ./ompi/mca/btl/Makefile.in
 ./ompi/mca/btl/sm/Makefile.in
+./ompi/mca/btl/usnic/Makefile.in
+./ompi/mca/btl/portals4/Makefile.in
 ./ompi/mca/btl/mx/Makefile.in
 ./ompi/mca/btl/ugni/Makefile.in
 ./ompi/mca/btl/tcp/Makefile.in
 ./ompi/mca/fs/ufs/Makefile.in
 ./ompi/mca/fs/pvfs2/Makefile.in
 ./ompi/mca/sharedfp/Makefile.in
-./ompi/mca/sharedfp/dummy/Makefile.in
+./ompi/mca/sharedfp/lockedfile/Makefile.in
+./ompi/mca/sharedfp/sm/Makefile.in
+./ompi/mca/sharedfp/individual/Makefile.in
+./ompi/mca/sharedfp/addproc/Makefile.in
+./ompi/mca/sharedfp/addproc/mca_sharedfp_addproc_control
 ./ompi/mca/pml/Makefile.in
 ./ompi/mca/pml/ob1/Makefile.in
 ./ompi/mca/pml/bfo/Makefile.in
 ./ompi/mca/pml/v/Makefile.in
 ./ompi/mca/pml/v/autogen.vprotocols
 ./ompi/mca/pml/v/mca_vprotocol_config_output
-./ompi/mca/pml/dr/Makefile.in
 ./ompi/mca/sbgp/Makefile.in
 ./ompi/mca/sbgp/basesmuma/Makefile.in
 ./ompi/mca/sbgp/basesmsocket/Makefile.in
 
 Username    Name                        Affiliation(s)
 ----------- --------------------------- -------------------------
-Anya        Anya Tatashina              Sun
 abbyz       Abhishek Kulkarni           IU
 adi         Adrian Knoth                UJ
 adkulkar    Abhishek Kulkarni           IU
 afriedle    Andrew Friedley             IU, SNL
+alekseys    Aleksey Senin               Mellanox
+alex        Alex Margolin               Mellanox
+amikheev    Alex Mikheev                Mellanox
 angskun     Thara Angskun               UTK
+Anya        Anya Tatashina              Sun
 apant       Avneesh Pant                QLogic
 bbenton     Brad Benton                 IBM
 bosilca     George Bosilca              UTK
 ddd         David Daniel                LANL
 derbeyn     Nadia Derby                 Bull
 dgdimick    Denis Dimick                LANL
+dgoodell    Dave Goodell                Cisco
 dkerr       Donald Kerr                 Sun, Oracle
 dlacher     Dan Lacher                  Sun
 dorons      Doron Shoham                Mellanox
 hpcstork    Sven Stork                  HLRS
 htor        Torsten Hoefler             IU, TUC
 igb         Iain Bason                  Sun, Oracle
+igoru       Igor Usarov                 Mellanox
 jdmason     Jon Mason                   Chelsio
 jjhursey    Josh Hursey                 IU, ORNL, LANL, LBNL, UWL
+jladd       Joshua Ladd                 Mellanox
 jnysal      Nysal Jan                   IBM
 jsquyres    Jeff Squyres                Cisco, IU
 jurenz      Matthias Jurenz             ZIH
 mitch       Mitch Sukalski              SNL
 mschaara    Mohamad Chaarawi            UH
 mt          Mark Taylor                 LANL
+naughtont   Tom Naughton                ORNL
 ollie       Li-Ta Lo                    LANL
 paklui      Pak Lui                     Sun
 pasha       Pavel Shamis                Mellanox, ORNL
 pkambadu    Prabhanjan Kambadur         IU
 rasmussn    Craig Rasmussen             LANL, UO
 rbbrigh     Ron Brightwell              SNL
-rhc         Ralph Castain               LANL, Cisco
+rhc         Ralph Castain               LANL, Cisco, Intel
 rlgraham    Rich Graham                 ORNL, LANL, Mellanox
 rolfv       Rolf Vandevaart             Sun, Oracle, NVIDIA
 rta         Rob Awles                   LANL
 rusraink    Rainer Keller               HLRS, ORNL
 sami        Sami Ayyorgun               LANL
 samuel      Samuel K. Gutierrez         LANL
+santhana    Gopal Santhanaraman         OSU
 sboehm      Swen Boehm                  ORNL
-santhana    Gopal Santhanaraman         OSU
 sharonm     Sharon Melamed              Voltaire
 shiqing     Shiqing Fan                 HLRS
 sjeaugey    Sylvain Jeaugey             Bull
 vvenkatesan Vishwanath Venkatesan       UH
 wbland      Wesley Bland                UTK
 yaeld       Yael Dalen                  Mellanox
+yosefe      Yossi Etigin                Mellanox
 yuw         Weikuan Yu                  LANL, OSU
 
 Affiliaion abbreviations:

Makefile.man-page-rules

 #
 
 .1in.1:
-	@ echo Creating $@ man page...
+	@ echo "  SED      $@"
 	@ sed -e 's/#PACKAGE_NAME#/@PACKAGE_NAME@/g' \
 	  -e 's/#PACKAGE_VERSION#/@PACKAGE_VERSION@/g' \
 	  -e 's/#OMPI_DATE#/@OMPI_RELEASE_DATE@/g' \
 	  > $@ < $<
 
 .3in.3:
-	@ echo Creating $@ man page...
+	@ echo "  SED      $@"
 	@ sed -e 's/#PACKAGE_NAME#/@PACKAGE_NAME@/g' \
 	  -e 's/#PACKAGE_VERSION#/@PACKAGE_VERSION@/g' \
 	  -e 's/#OMPI_DATE#/@OMPI_RELEASE_DATE@/g' \
 	  > $@ < $<
 
 .7in.7:
-	@ echo Creating $@ man page...
+	@ echo "  SED      $@"
 	@ sed -e 's/#PACKAGE_NAME#/@PACKAGE_NAME@/g' \
 	  -e 's/#PACKAGE_VERSION#/@PACKAGE_VERSION@/g' \
 	  -e 's/#OMPI_DATE#/@OMPI_RELEASE_DATE@/g' \
 Trunk (not on release branches yet)
 -----------------------------------
 
+- Add support for MPI_Dist_graph functionality (MPI 2.2).
 - Do not build the MPI C++ bindings by default.  They must be enabled
   via --enable-mpi-cxx.
 - Adding a new parallel I/O component and multiple new frameworks to 
 - Native Windows support has been removed. A cygwin package is
   available from that group for Windows-based use.
 - Added MPI Java bindings
-
+- Added new usnic BTL to support the Cisco usNIC device
 - Wrapper compilers now add rpath support by default to generated
   executables on systems that support it.  This behavior can be
   disabled via --disable-wrapper-rpath.  See note in README about ABI
 
 1.7.2
 -----
+- Major VampirTrace update to 5.14.4.2.
+  (** also appeared: 1.6.5)
+- Fix to set flag==1 when MPI_IPROBE is called with MPI_PROC_NULL.
+  (** also appeared: 1.6.5)
+- Set the Intel Phi device to be ignored by default by the openib BTL.
+  (** also appeared: 1.6.5)
+- Decrease the internal memory storage used by intrinsic MPI datatypes
+  for Fortran types.  Thanks to Takahiro Kawashima for the initial
+  patch.
+  (** also appeared: 1.6.5)
+- Fix total registered memory calculation for Mellanox ConnectIB and
+  OFED 2.0.
+  (** also appeared: 1.6.5)
+- Fix possible data corruption in the MXM MTL component.
+  (** also appeared: 1.6.5)
+- Remove extraneous -L from hwloc's embedding.  Thanks to Stefan
+  Friedel for reporting the issue.
+  (** also appeared: 1.6.5)
+- Fix contiguous datatype memory check.  Thanks to Eric Chamberland
+  for reporting the issue.
+  (** also appeared: 1.6.5)
+- Make the openib BTL more friendly to ignoring verbs devices that are
+  not RC-capable.
+  (** also appeared: 1.6.5)
+- Fix some MPI datatype engine issues.  Thanks to Thomas Jahns for
+  reporting the issue.
+  (** also appeared: 1.6.5)
+- Add INI information for Chelsio T5 device.
+  (** also appeared: 1.6.5)
+- Integrate MXM STREAM support for MPI_ISEND and MPI_IRECV, and other
+  minor MXM fixes.
+  (** also appeared: 1.6.5)
+- Fix to not show amorphous "MPI was already finalized" error when
+  failing to MPI_File_close an open file.  Thanks to Brian Smith for
+  reporting the issue.
+  (** also appeared: 1.6.5)
+- Add a distance-based mapping component to find the socket "closest"
+  to the PCI bus.
 - Fix an error that caused epoll to automatically be disabled
   in libevent.
 - Upgrade hwloc to 1.5.2.
+- *Really* fixed XRC compile issue in Open Fabrics support.
 - Fix MXM connection establishment flow.
-- Lots of VampirTrace upgrades and fixes; upgrade to v5.14.8.
+- Fixed parallel debugger ability to attach to MPI jobs.
 - Fixed some minor memory leaks.
-- Add retransmit framework for unreliable networks.
 - Fixed datatype corruption issue when combining datatypes of specific
   formats.
 - Added Location Aware Mapping Algorithm (LAMA) mapping component.
-- Fixes for MPI_STATUS handling in corner cases.-
+- Fixes for MPI_STATUS handling in corner cases.
 
 
 1.7.1
   for chasing it down.
 
 
+1.6.6 (unreleased)
+------------------
+
+- Update VT to 5.14.4.3:
+  - Fix support for building RPMs on Fedora with CUDA libraries.
+- Add openib part number for ConnectX3-Pro HCA.
+- Ensure to check that all resolved IP addresses are local.
+- Fix MPI_COMM_SPAWN via rsh when mpirun is on a different server.
+- Add Gentoo "sandbox" memory hooks override.
+
+
+1.6.5
+-----
+
+- Updated default SRQ parameters for the openib BTL.
+  (** also to appear: 1.7.2)
+- Major VampirTrace update to 5.14.4.2.
+  (** also to appear: 1.7.2)
+- Fix to set flag==1 when MPI_IPROBE is called with MPI_PROC_NULL.
+  (** also to appear: 1.7.2)
+- Set the Intel Phi device to be ignored by default by the openib BTL.
+  (** also to appear: 1.7.2)
+- Decrease the internal memory storage used by intrinsic MPI datatypes
+  for Fortran types.  Thanks to Takahiro Kawashima for the initial
+  patch.
+  (** also to appear: 1.7.2)
+- Fix total registered memory calculation for Mellanox ConnectIB and
+  OFED 2.0.
+  (** also to appear: 1.7.2)
+- Fix possible data corruption in the MXM MTL component.
+  (** also to appear: 1.7.2)
+- Remove extraneous -L from hwloc's embedding.  Thanks to Stefan
+  Friedel for reporting the issue.
+  (** also to appear: 1.7.2)
+- Fix contiguous datatype memory check.  Thanks to Eric Chamberland
+  for reporting the issue.
+  (** also to appear: 1.7.2)
+- Make the openib BTL more friendly to ignoring verbs devices that are
+  not RC-capable.
+  (** also to appear: 1.7.2)
+- Fix some MPI datatype engine issues.  Thanks to Thomas Jahns for
+  reporting the issue.
+  (** also to appear: 1.7.2)
+- Add INI information for Chelsio T5 device.
+  (** also to appear: 1.7.2)
+- Integrate MXM STREAM support for MPI_ISEND and MPI_IRECV, and other
+  minor MXM fixes.
+  (** also to appear: 1.7.2)
+- Improved alignment for OpenFabrics buffers.
+- Fix to not show amorphous "MPI was already finalized" error when
+  failing to MPI_File_close an open file.  Thanks to Brian Smith for
+  reporting the issue.
+  (** also to appear: 1.7.2)
+
+
 1.6.4
 -----
 
 Network Support
 ---------------
 
-- There are three MPI network models available: "ob1", "csum", and
-  "cm".  "ob1" and "csum" use BTL ("Byte Transfer Layer") components
-  for each supported network.  "cm" uses MTL ("Matching Tranport
-  Layer") components for each supported network.
+- There are two MPI network models available: "ob1", and "cm". "ob1"
+  uses BTL ("Byte Transfer Layer") components for each supported network.
+  "cm" uses MTL ("Matching Tranport Layer") components for each supported
+  network.
 
   - "ob1" supports a variety of networks that can be used in
     combination with each other (per OS constraints; e.g., there are
     - Loopback (send-to-self)
     - Myrinet MX and Open-MX
     - Portals
-    - Quadrics Elan
     - Shared memory
     - TCP
     - SCTP
     - uDAPL
-    - Windows Verbs
-
-  - "csum" is exactly the same as "ob1", except that it performs
-    additional data integrity checks to ensure that the received data
-    is intact (vs. trusting the underlying network to deliver the data
-    correctly).  csum supports all the same networks as ob1, but there
-    is a performance penalty for the additional integrity checks.
+    - Cisco usNIC
+    - uGNI (Cray Gemini, Ares)
+    - vader (XPMEM)
 
   - "cm" supports a smaller number of networks (and they cannot be
-    used together), but may provide better better overall MPI
-    performance:
+    used together), but may provide better overall MPI performance:
 
     - Myrinet MX and Open-MX
     - InfiniPath PSM
 
     Open MPI will, by default, choose to use "cm" when the InfiniPath
     PSM or the Mellanox MXM MTL can be used.  Otherwise, "ob1" will be
-    used and the corresponding BTLs will be selected.  "csum" will never
-    be selected by default.  Users can force the use of ob1 or cm if
-    desired by setting the "pml" MCA parameter at run-time:
+    used and the corresponding BTLs will be selected. Users can force
+    the use of ob1 or cm if desired by setting the "pml" MCA parameter
+    at run-time:
 
       shell$ mpirun --mca pml ob1 ...
       or
-      shell$ mpirun --mca pml csum ...
-      or
       shell$ mpirun --mca pml cm ...
 
 - MXM is a MellanoX Messaging library utilizing full range of IB
   - Shared memory communication
   - Hardware-assisted reliability
 
+- The usnic BTL is support for Cisco's usNIC device ("userspace NIC")
+  on Cisco UCS servers with the Virtualized Interface Card (VIC).
+  Although the usNIC is accessed via the OpenFabrics / Verbs API
+  stack, this BTL is specific to the Cisco usNIC device.
+
+- uGNI is a Cray library for communicating over the Gemini and Ares
+  interconnects.
+
 - The OpenFabrics Enterprise Distribution (OFED) software package v1.0
   will not work properly with Open MPI v1.2 (and later) due to how its
   Mellanox InfiniBand plugin driver is created.  The problem is fixed
   resulting in lower performances in case of non-contiguous
   data-types.
 
-  The "ob1" and "csum" PMLs and BTL components use Open MPI's internal
+  The "ob1" PML and BTL components use Open MPI's internal
   on-node shared memory and process loopback devices for high
   performance.  The BTL interface allows multiple devices to be used
   simultaneously.  For the MX BTL it is recommended that the first
 
   See http://runtime.bordeaux.inria.fr/knem/ for details on Knem.
 
+- XPMEM is used by the vader shared-memory BTL when the XPMEM
+  libraries are installed. XPMEM allows Open MPI to map pages from
+  other processes into the current process' memory space. This
+  allows single-copy semantics for shared memory without the need
+  for a system call.
 
 Open MPI Extensions
 -------------------
   This option is generally only necessary if the verbs headers and
   libraries are not in default compiler/linker search paths.
 
-  "OpenFabrics" refers to iWARP-, RoCE- (aka "IBoIP"), and
-  InfiniBand-based networks.
+  "OpenFabrics" refers to operating system bypass networks, such as
+  InfiniBand, usNIC, iWARP, and RoCE (aka "IBoIP").
 
 --with-verbs-libdir=<directory>
   Look in directory for the verbs libraries.  By default, Open
 --without-memory-manager
   Disable building Open MPI's memory manager.  Open MPI's memory
   manager is usually built on Linux based platforms, and is generally
-  only used for optimizations with OpenFabrics-based networks (it is
-  not *necessary* for OpenFabrics networks, but some performance loss
-  may be observed without it).
+  only used for optimizations with some OpenFabrics-based networks (it
+  is not *necessary* for OpenFabrics networks, but some performance
+  loss may be observed without it).
 
   However, it may be necessary to disable the memory manager in order
   to build Open MPI statically.
 libmca_common_portals_so_version=0:0:0
 libmca_common_cuda_so_version=0:0:0
 libmca_opal_common_hwloc_so_version=0:0:0
+libmca_opal_common_pmi_so_version=0:0:0

config/ompi_check_gm.m4

-# -*- 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) 2009      Cisco Systems, Inc.  All rights reserved.
-# $COPYRIGHT$
-# 
-# Additional copyrights may follow
-# 
-# $HEADER$
-#
-
-
-AC_DEFUN([_OMPI_CHECK_GM_CONFIG],[
-    u_OMPI_CHECK_GM_CONFIG_SAVE_CPPFLAGS="$CPPFLAGS"
-    u_OMPI_CHECK_GM_CONFIG_SAVE_LDFLAGS="$LDFLAGS"
-    u_OMPI_CHECK_GM_CONFIG_SAVE_LIBS="$LIBS"
-
-    CPPFLAGS="$CPPFLAGS $$1_CPPFLAGS"
-    LDFLAGS="$LDFLAGS $$1_LDFLAGS"
-    LIBS="$LIBS $$1_LIBS"
-
-    #
-    # See if we have GM_API_VERSION.  If we do, use it.  If not, find the
-    # highest one available.  It seems that GM_API_VERSION was introduced
-    # somewhere after 1.3 but before 1.6. :-\
-    #
-    AC_MSG_CHECKING(for GM_API_VERSION)
-    AC_TRY_COMPILE([#include<gm.h>],
-    [int foo = GM_API_VERSION;], 
-        have_gm_api_ver_msg=yes gm_api_ver=GM_API_VERSION,
-        have_gm_api_ver_msg=no  gm_api_ver="")
-    AC_MSG_RESULT([$have_gm_api_ver_msg])
-    if test "$gm_api_ver" = ""; then
-        found=0
-        for val in 5 4 3; do
-            if test "$found" = "0"; then
-                var="GM_API_VERSION_1_$val"
-                AC_MSG_CHECKING(for $var)
-                AC_TRY_COMPILE([#include<gm.h>],
-                    [int foo = $var;], 
-                    msg=yes found=1 gm_api_ver=$var,
-                    msg=no found=0 gm_api_ver="")
-                AC_MSG_RESULT($msg)
-            fi
-        done
-    fi
-    if test "$gm_api_ver" = ""; then
-        AC_MSG_WARN([*** Could not find a supported GM_API_VERSION])
-        AC_MSG_ERROR([*** Cannot continue])
-    fi
-    AC_DEFINE_UNQUOTED([OMPI_MCA_]m4_translit([$1], [a-z], [A-Z])[_API_VERSION], $gm_api_ver,
-        [Version of the GM API to use])
-    unset gm_api_ver have_gm_api_ver_msg found val msg
-
-    #
-    # Do we have gm_put()?
-    # gm_put() was introduced in gm 2.0, and is exactly identical to gm
-    # 1.6's gm_directed_send_with_callback().  The name was simply changed
-    # for consistency/symmtery with gm_get().
-    #
-    AC_MSG_CHECKING([for gm_put()])
-    AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include<gm.h>
-    ]], 
-    [[gm_put(0, 0, 0, 0, 0, 0, 0, 0, 0);]])], 
-        [HAVE_RDMA_PUT=1 MSG=yes], 
-        [HAVE_RDMA_PUT=0 MSG="no, use gm_directed_send_with_callback()"])
-    AC_DEFINE_UNQUOTED([OMPI_MCA_]m4_translit([$1], [a-z], [A-Z])[_HAVE_RDMA_PUT], $HAVE_RDMA_PUT,
-        [Whether we have gm_put() or gm_directed_send_with_callback()])
-    AC_MSG_RESULT([$MSG])
-
-    #
-    # Do we have gm_get()?
-    # gm_get() was introduced in gm 2.0.
-    #
-    AC_MSG_CHECKING([for gm_get()])
-    AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include<gm.h>
-    ]], 
-    [[gm_get(0, 0, 0, 0, 0, 0, 0, 0, 0);]])], 
-        [HAVE_RDMA_GET=1 MSG=yes], 
-        [HAVE_RDMA_GET=0 MSG=no])
-    AC_DEFINE_UNQUOTED([OMPI_MCA_]m4_translit([$1], [a-z], [A-Z])[_HAVE_RDMA_GET], $HAVE_RDMA_GET,
-        [Whether we have get_get() or not])
-    AC_MSG_RESULT([$MSG])
-
-    # Now test to see if the targetted GM is a broken one broken gm builds
-    AC_MSG_CHECKING([for broken GM 2.x RDMA gets build])
-    AC_TRY_COMPILE([
-        #include <gm.h>
-        ], [
-        #if GM_API_VERSION_2_0 &&                                 \
-           ((GM_API_VERSION_2_1_0 && GM_API_VERSION < 0x20102) || \
-             GM_API_VERSION < 0x2000c)
-          #error GM build is broken
-        #endif         ],
-       [ mca_gm_broken=0 gm_build_broken=no ],
-       [ mca_gm_broken=1 gm_build_broken=yes ]) 
-    AC_MSG_RESULT( [$gm_build_broken] )
-    AC_DEFINE_UNQUOTED( [OMPI_MCA_]m4_translit([$1], [a-z], [A-Z])[_GET_BROKEN], $mca_gm_broken,
-                        [The GM build has or not a broker gm_get function] )
-    unset gm_build_broken mca_gm_broken
-
-    AC_DEFINE_UNQUOTED( [OMPI_MCA_]m4_translit([$1], [a-z], [A-Z])[_SUPPORT_REGISTERING], 1,
-                        [The OS support or not the virtal page registration] )
-
-    CPPFLAGS="$u_OMPI_CHECK_GM_CONFIG_SAVE_CPPFLAGS"
-    LDFLAGS="$u_OMPI_CHECK_GM_CONFIG_SAVE_LDFLAGS"
-    LIBS="$u_OMPI_CHECK_GM_CONFIG_SAVE_LIBS"
-])dnl
-
-# OMPI_CHECK_GM(prefix, [action-if-found], [action-if-not-found])
-# --------------------------------------------------------
-# check if GM support can be found.  sets prefix_{CPPFLAGS, 
-# LDFLAGS, LIBS} as needed and runs action-if-found if there is
-# support, otherwise executes action-if-not-found
-AC_DEFUN([OMPI_CHECK_GM],[
-    AC_ARG_WITH([gm],
-        [AC_HELP_STRING([--with-gm(=DIR)],
-             [Build GM (Myrinet) support, optionally adding DIR/include, DIR/lib, and DIR/lib64 to the search path for headers and libraries])])
-    OMPI_CHECK_WITHDIR([gm], [$with_gm], [include/gm.h])
-    AC_ARG_WITH([gm-libdir],
-        [AC_HELP_STRING([--with-gm-libdir=DIR],
-             [Search for GM (Myrinet) libraries in DIR])])
-    OMPI_CHECK_WITHDIR([gm-libdir], [$with_gm_libdir], [libgm.*])
-
-    AS_IF([test "$with_gm" != "no"],
-          [AS_IF([test ! -z "$with_gm" -a "$with_gm" != "yes"],
-                 [ompi_check_gm_dir="$with_gm"])
-           AS_IF([test ! -z "$with_gm_libdir" -a "$with_gm_libdir" != "yes"],
-                 [ompi_check_gm_libdir="$with_gm_libdir"])
-
-           OMPI_CHECK_PACKAGE([$1],
-                              [gm.h],
-                              [gm],
-                              [gm_init],
-                              [],
-                              [$ompi_check_gm_dir],
-                              [$ompi_check_gm_libdir],
-                              [ompi_check_gm_happy="yes"],
-                              [ompi_check_gm_happy="no"])],
-          [ompi_check_gm_happy="no"])
-
-    AS_IF([test "$ompi_check_gm_happy" = "yes"],
-          [_OMPI_CHECK_GM_CONFIG($1)
-           $2],
-          [AS_IF([test ! -z "$with_gm" -a "$with_gm" != "no"],
-                 [AC_MSG_ERROR([GM support requested but not found.  Aborting])])
-           $3])
-])
-

config/ompi_check_libhcoll.m4

+# -*- shell-script -*-
+#
+# Copyright (c) 2011 Mellanox Technologies. All rights reserved.
+
+# $COPYRIGHT$
+# 
+# Additional copyrights may follow
+# 
+# $HEADER$
+#
+
+# OMPI_CHECK_HCOLL(prefix, [action-if-found], [action-if-not-found])
+# --------------------------------------------------------
+# check if hcoll support can be found.  sets prefix_{CPPFLAGS, 
+# LDFLAGS, LIBS} as needed and runs action-if-found if there is
+# support, otherwise executes action-if-not-found
+AC_DEFUN([OMPI_CHECK_HCOLL],[
+    AC_ARG_WITH([hcoll],
+        [AC_HELP_STRING([--with-hcoll(=DIR)],
+             [Build hcoll (Mellanox Hierarchical Collectives) support, searching for libraries in DIR])])
+    OMPI_CHECK_WITHDIR([hcoll], [$with_hcoll], [lib/libhcoll.so])
+
+    AS_IF([test "$with_hcoll" != "no"],
+          [AS_IF([test ! -z "$with_hcoll" -a "$with_hcoll" != "yes"],
+			  [ompi_check_hcoll_dir=$with_hcoll
+			   ompi_check_hcoll_libdir="$ompi_check_hcoll_dir/lib"
+			   ompi_check_hcoll_incdir="$ompi_check_hcoll_dir/include"
+			   ompi_check_hcoll_libs=hcoll
+
+			   CPPFLAGS_save=$CPPFLAGS
+			   LDFLAGS_save=$LDFLAGS
+			   LIBS_save=$LIBS
+			   CPPFLAGS="$CPPFLAGS -I$ompi_check_hcoll_dir/include -I$ompi_check_hcoll_dir/include/hcoll -I$ompi_check_hcoll_dir/include/hcoll/api"
+
+			   OPAL_LOG_MSG([$1_CPPFLAGS : $$1_CPPFLAGS], 1)
+			   OPAL_LOG_MSG([$1_LDFLAGS  : $$1_LDFLAGS], 1)
+			   OPAL_LOG_MSG([$1_LIBS     : $$1_LIBS], 1)
+
+			   OMPI_CHECK_PACKAGE([$1],
+				   [hcoll_api.h],
+				   [$ompi_check_hcoll_libs],
+				   [hcoll_get_version],
+				   [],
+				   [$ompi_check_hcoll_dir],
+				   [$ompi_check_hcoll_libdir],
+				   [ompi_check_hcoll_happy="yes"],
+				   [ompi_check_hcoll_happy="no"])
+
+			   CPPFLAGS=$CPPFLAGS_save
+			   LDFLAGS=$LDFLAGS_save
+			   LIBS=$LIBS_save],
+			   [ompi_check_hcoll_happy="no"])
+          ])
+
+
+
+    AS_IF([test "$ompi_check_hcoll_happy" = "yes" -a "$enable_progress_threads" = "yes"],
+          [AC_MSG_WARN([hcoll driver does not currently support progress threads.  Disabling HCOLL.])
+           ompi_check_hcoll_happy="no"])
+
+    AS_IF([test "$ompi_check_hcoll_happy" = "yes"],
+          [$2],
+          [AS_IF([test ! -z "$with_hcoll" -a "$with_hcoll" != "no"],
+                 [AC_MSG_ERROR([HCOLL support requested but not found.  Aborting])])
+           $3])
+])
+

config/ompi_check_portals4.m4

     LDFLAGS="$ompi_check_portals4_$1_save_LDFLAGS"
     LIBS="$ompi_check_portals4_$1_save_LIBS"
 
+    max_md_size=0
+    AC_ARG_WITH([portals4-max-md-size],
+      [AC_HELP_STRING([--with-portals4-max-md-size=SIZE],
+         [Log base 2 of the maximum size in bytes of a memory descriptor.  Should only be set for implementations which do not support binding all of virtual address space.])])
+    AS_IF([test "$with_portals4_max_md_size" = "yes" -o "$with_portals4_max_md_size" = "no"],
+          [AC_MSG_ERROR([--with-portals4-max-md-size requires an integer argument])],
+          [AS_IF([test -n "$with_portals4_max_md_size"],
+                 [max_md_size="$with_portals4_max_md_size"])])
+    AC_DEFINE_UNQUOTED([OMPI_PORTALS4_MAX_MD_SIZE], [$max_md_size],
+      [Log base 2 of the maximum size in bytes of a memory descriptor.  Set to 0 if MD can bind all of memory.])
+
+    max_va_size=0
+    AC_ARG_WITH([portals4-max-va-size],
+      [AC_HELP_STRING([--with-portals4-max-va-size=SIZE],
+         [Log base 2 of the maximum size in bytes of the user virtual address space.  Should only be set for implementations which do not support binding all of virtual address space.])])
+    AS_IF([test "$with_portals4_max_va_size" = "yes" -o "$with_portals4_max_va_size" = "no"],
+          [AC_MSG_ERROR([--with-portals4-max-va-size requires an integer argument])],
+          [AS_IF([test -n "$with_portals4_max_va_size"],
+                 [max_va_size="$with_portals4_max_va_size"])])
+    AC_DEFINE_UNQUOTED([OMPI_PORTALS4_MAX_VA_SIZE], [$max_va_size],
+      [Log base 2 of the maximum size in bytes of the user virtual address space.  Set to 0 if MD can bind all of memory.])
+
+    AS_IF([test \( $max_md_size -eq 0 -a $max_va_size -ne 0 \) -o \( $max_md_size -ne 0 -a $max_va_size -eq 0 \)],
+          [AC_ERROR([If either --with-portals4-max-md-size or --with-portals4-max-va-size is set, both must be set.])])
+    AS_IF([test $max_md_size -ge $max_va_size],
+          [max_md_size=0
+           max_va_size=0])
+    AS_IF([test $max_md_size -ne 0 -a $max_va_size -ne 0],
+          [AC_MSG_NOTICE([Portals 4 address space size: $max_md_size, $max_va_size])])
+
     AS_IF([test "$ompi_check_portals4_happy" = "yes"],
           [$2],
           [AS_IF([test ! -z "$with_portals4" -a "$with_portals4" != "no"],

config/ompi_config_files.m4

         ompi/mpi/fortran/use-mpi-f08/Makefile
         ompi/mpi/fortran/use-mpi-f08-desc/Makefile
         ompi/mpi/fortran/mpiext/Makefile
+        ompi/mpi/tool/Makefile
+        ompi/mpi/tool/profile/Makefile
     
         ompi/tools/ompi_info/Makefile
         ompi/tools/wrappers/Makefile

config/ompi_setup_mpi_fortran.m4

     OMPI_MPI_OFFSET_KIND=$OMPI_FORTRAN_C_INT64_T_KIND
     AC_SUBST(OMPI_MPI_OFFSET_KIND)
 
+    # Get the kind value for Fortran MPI_COUNT_KIND (corresponding to
+    # INTEGER*8)
+    OMPI_MPI_COUNT_KIND=$OMPI_FORTRAN_C_INT64_T_KIND
+    AC_SUBST(OMPI_MPI_COUNT_KIND)
+
     #--------------------------------------------------------
     # This is all we need for the Fortran mpif.h MPI bindings
     #--------------------------------------------------------

config/opal_check_cuda.m4

+dnl -*- shell-script -*-
+dnl
+dnl Copyright (c) 2004-2010 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) 2006-2010 Cisco Systems, Inc.  All rights reserved.
+dnl Copyright (c) 2007      Sun Microsystems, Inc.  All rights reserved.
+dnl Copyright (c) 2009      IBM Corporation.  All rights reserved.
+dnl Copyright (c) 2009      Los Alamos National Security, LLC.  All rights
+dnl                         reserved.
+dnl Copyright (c) 2009-2011 Oak Ridge National Labs.  All rights reserved.
+dnl Copyright (c) 2011-2013 NVIDIA Corporation.  All rights reserved.
+dnl
+dnl $COPYRIGHT$
+dnl 
+dnl Additional copyrights may follow
+dnl 
+dnl $HEADER$
+dnl
+AC_DEFUN([OPAL_CHECK_CUDA],[
+#
+# Check to see if user wants CUDA support
+#
+AC_ARG_WITH([cuda],
+            [AC_HELP_STRING([--with-cuda(=DIR)],
+            [Build cuda support, optionally adding DIR/include])])
+AC_MSG_CHECKING([if --with-cuda is set])
+
+# Note that CUDA support is off by default.  To turn it on, the user has to
+# request it.  The user can just ask for --with-cuda and it that case we
+# look for the cuda.h file in /usr/local/cuda.  Otherwise, they can give
+# us a directory.  If they provide a directory, we will look in that directory
+# as well as the directory with the "include" string appended to it.  The fact
+# that we check in two directories precludes us from using the OMPI_CHECK_DIR
+# macro as that would error out after not finding it in the first directory.
+# Note that anywhere CUDA aware code is in the Open MPI repository requires
+# us to make use of AC_REQUIRE to ensure this check has been done.
+AS_IF([test "$with_cuda" = "no" -o "x$with_cuda" = "x"],
+      [opal_check_cuda_happy="no"
+       AC_MSG_RESULT([not set (--with-cuda=$with_cuda)])],
+      [AS_IF([test "$with_cuda" = "yes"],
+             [AS_IF([test "x`ls /usr/local/cuda/include/cuda.h 2> /dev/null`" = "x"],
+                    [AC_MSG_RESULT([not found in standard location])
+                     AC_MSG_WARN([Expected file /usr/local/cuda/include/cuda.h not found])
+                     AC_MSG_ERROR([Cannot continue])],
+                    [AC_MSG_RESULT([found])
+                     opal_check_cuda_happy=yes
+                     opal_cuda_incdir=/usr/local/cuda/include])],
+             [AS_IF([test ! -d "$with_cuda"],
+                    [AC_MSG_RESULT([not found])
+                     AC_MSG_WARN([Directory $with_cuda not found])
+                     AC_MSG_ERROR([Cannot continue])],
+                    [AS_IF([test "x`ls $with_cuda/include/cuda.h 2> /dev/null`" = "x"],
+                           [AS_IF([test "x`ls $with_cuda/cuda.h 2> /dev/null`" = "x"],
+                                  [AC_MSG_RESULT([not found])
+                                   AC_MSG_WARN([Could not find cuda.h in $with_cuda/include or $with_cuda])
+                                   AC_MSG_ERROR([Cannot continue])],
+                                  [opal_check_cuda_happy=yes
+                                   opal_cuda_incdir=$with_cuda
+                                   AC_MSG_RESULT([found ($with_cuda/cuda.h)])])],
+                           [opal_check_cuda_happy=yes
+                            opal_cuda_incdir="$with_cuda/include"
+                            AC_MSG_RESULT([found ($opal_cuda_incdir/cuda.h)])])])])])
+
+# If we have CUDA support, check to see if we have CUDA 4.1 support
+AS_IF([test "$opal_check_cuda_happy"="yes"],
+    AC_CHECK_HEADER([$opal_cuda_incdir/cuda.h])
+    AC_CHECK_MEMBER([struct CUipcMemHandle_st.reserved], [CUDA_SUPPORT_41=1], [CUDA_SUPPORT_41=0],
+        [#include <$opal_cuda_incdir/cuda.h>]),
+    [])
+
+AC_MSG_CHECKING([if have cuda support])
+if test "$opal_check_cuda_happy" = "yes"; then
+    AC_MSG_RESULT([yes (-I$with_cuda)])
+    CUDA_SUPPORT=1
+    opal_datatype_cuda_CPPFLAGS="-I$opal_cuda_incdir"
+    AC_SUBST([opal_datatype_cuda_CPPFLAGS])
+else
+    AC_MSG_RESULT([no])
+    CUDA_SUPPORT=0
+fi
+
+AM_CONDITIONAL([OPAL_cuda_support], [test "x$CUDA_SUPPORT" = "x1"])
+AC_DEFINE_UNQUOTED([OPAL_CUDA_SUPPORT],$CUDA_SUPPORT,
+                   [Whether we want cuda device pointer support])
+
+AM_CONDITIONAL([OPAL_cuda_support_41], [test "x$CUDA_SUPPORT_41" = "x1"])
+AC_DEFINE_UNQUOTED([OPAL_CUDA_SUPPORT_41],$CUDA_SUPPORT_41,
+                   [Whether we have CUDA 4.1 support available])
+
+])

config/opal_check_pmi.m4

                 [AC_HELP_STRING([--with-pmi],
                                 [Build PMI support (default: no)])],
 	                        [], with_pmi=no)
-    AC_ARG_WITH([cray-pmi2-ext],
-                [AC_HELP_STRING([--with-cray-pmi-ext],
-                                [Include Cray PMI2 extensions (default: no)])],
-                                [], with_cray_pmi2_ext=no)
 
     opal_enable_pmi=0
-    opal_use_cray_pmi2_ext=0
+    opal_pmi_rpath=
+    opal_have_pmi2=0
+    opal_have_pmi1=0
 
     # save flags
     opal_check_pmi_$1_save_CPPFLAGS="$CPPFLAGS"
     opal_check_pmi_$1_LIBS=
 
     AC_MSG_CHECKING([if user requested PMI support])
+    opal_have_pmi_support=no
     AS_IF([test "$with_pmi" = "no"],
           [AC_MSG_RESULT([no])
-           opal_use_cray_pmi2_ext=0
            $3],
           [AC_MSG_RESULT([yes])
-           AC_MSG_CHECKING([if PMI support installed])
+           AC_MSG_CHECKING([if PMI or PMI2 headers installed])
            # cannot use OMPI_CHECK_PACKAGE as its backend header
            # support appends "include" to the path, which won't
            # work with slurm :-(
            AS_IF([test ! -z "$with_pmi" -a "$with_pmi" != "yes"],
                  [AS_IF([test -d "$with_pmi/lib64"],
                         [opal_check_pmi_$1_LDFLAGS="-L$with_pmi/lib64"
-                         opal_check_pmi_$1_LIBS="-lpmi -Wl,-rpath=$with_pmi/lib64"],
+                         opal_pmi_rpath="$with_pmi/lib64"],
                         [opal_check_pmi_$1_LDFLAGS="-L$with_pmi/lib"
-                         opal_check_pmi_$1_LIBS="-lpmi -Wl,-rpath=$with_pmi/lib"])
-                  AS_IF([test -f "$with_pmi/include/pmi.h"],
-                        [opal_check_pmi_$1_CPPFLAGS="-I$with_pmi/include"],
-                        [AS_IF([test -f "$with_pmi/include/slurm/pmi.h"],
-                               [opal_check_pmi_$1_CPPFLAGS="-I$with_pmi/include/slurm"],
+                         opal_pmi_rpath="$with_pmi/lib"])
+                  # look for required headers - both pmi.h AND/OR pmi2.h
+                  # may be present
+                  AS_IF([test -f "$with_pmi/include/pmi2.h" -o -f "$with_pmi/include/pmi.h"],
+                        [opal_check_pmi_$1_CPPFLAGS="-I$with_pmi/include"