1
1
Граф коммитов

680 Коммитов

Автор SHA1 Сообщение Дата
Josh Hursey
3e847c19f0 Per RFC: MPI Interface Extensions Infrastructure
Add infrastructure for MPI Interface Extensions. This allows a developer to create new MPI interfaces that are non-standard.

The following email thread describes the functionality proposed in the RFC:
  http://www.open-mpi.org/community/lists/devel/2009/05/5997.php

The following wiki page describes how to use and enable the extensions:
  https://svn.open-mpi.org/trac/ompi/wiki/MPIExtensions

This commit was SVN r21272.
2009-05-26 20:49:35 +00:00
Jeff Squyres
a67d67b2b9 Disable argument checking in sub-configure scripts to avoid annoying messages about how sub-configures don't support all the same options as the top-level configure script
This commit was SVN r21264.
2009-05-22 21:45:23 +00:00
Rainer Keller
916eb1fb1e - As proposed in RFC and telcon, warn the user about deprecated
functionality (per MPI-2.1). This warning can be toggled using
   --enable-mpi-interface-warning (default OFF), but can be
   selectively turned on passing
       mpicc -DOMPI_WANT_MPI_INTERFACE_WARNING

   Using icc, gcc < 4.5, warnings (such as in mpi2basic_tests) show:
     type_vector.c:83: warning: ‘MPI_Type_hvector’ is deprecated
     (declared at /home/../usr/include/mpi.h:1379)

   Using gcc-4.5 (gcc-svn) these show up as:
     type_vector.c:83: warning: ‘MPI_Type_hvector’ is deprecated
     (declared at /home/../usr/include/mpi.h:1379):
     MPI_Type_hvector is superseded by MPI_Type_create_hvector in MPI-2.0


   Jeff and I propose to turn such warnings on with Open MPI-1.7 by default.


 - Detection of user-level compiler is handled using the preprocessor
   checks of GASnet's other/portable_platform.h (thanks to Paul Hargrove
   and Dan Bonachea) adapted into ompi/include/mpi_portable_platform.h
   (see comments).

   The OMPI-build time detection is output (Familyname and Version)
   with ompi_info.

   This functionality (actually any upcoming __attribute__) are turned
   off, if a different compiler (and version) is being detected.


 - Note, that any warnings regarding (user-compiler!=build-compiler)
   as discussed in the RFC are _not_ included for now.


 - Tested on Linux with --enable-mpi-interface-warning on
   Linux, gcc-4.5 (deprecated w/ specific msg)
   Linux, gcc-4.3 (deprecated w/o specific msg)
   Linux, pathscale 3.1 (deprecated w/o specific msg)
   Linux, icc-11.0 (deprecated w/o specific msg)

   Linux, PGI-8.0.6 accepts __deprecated__ but does not issue a warning,
   further investigation needed...

This commit was SVN r21262.
2009-05-22 04:39:43 +00:00
Rainer Keller
5c80033aa2 - Eliminate icc warning w/ regard to __attribute__((__format__)) on
function pointers... Needed checking in opal_check_attributes.m4

This commit was SVN r21254.
2009-05-20 00:39:22 +00:00
Greg Koenig
e4e064542f This change goes along with r21180 to move files into
the correct names.

This commit was SVN r21181.

The following SVN revision numbers were found above:
  r21180 --> open-mpi/ompi@60485ff95f
2009-05-06 20:15:34 +00:00
Greg Koenig
60485ff95f This is a very large change to rename several #define values from
OMPI_* to OPAL_*.  This allows opal layer to be used more independent
from the whole of ompi.

NOTE: 9 "svn mv" operations immediately follow this commit.

This commit was SVN r21180.
2009-05-06 20:11:28 +00:00
Terry Dontje
20faf6a1a9 special case xldscope for sun cc compilers so icc doesn't falsely think it
should use the xldscop option.

This commit was SVN r21021.
2009-04-15 18:13:27 +00:00
Jeff Squyres
aed834ef1f Make better help messages for many configure options that take
optional directory arguments.

This commit was SVN r20978.
2009-04-10 22:32:00 +00:00
Jeff Squyres
5e68b0d0b7 Make help strings for configure =DIR types of options better/more accurate
This commit was SVN r20977.
2009-04-10 22:10:07 +00:00
Nysal Jan
8e2b6a8b3c There is no need to set epevin.data.fd as we have already set epevin.data.ptr to 5 earlier
This commit was SVN r20949.
2009-04-07 12:45:19 +00:00
Nysal Jan
2e1d14cafe Add a comment explaining the change made
This commit was SVN r20948.
2009-04-07 03:59:32 +00:00
Nysal Jan
fbba533874 Fix broken epoll detection. Add the write only fd of the pipe to the epoll set and check if the fd is ready for writing. The earlier test works with older linux distros but fails with newer ones.
This commit was SVN r20945.
2009-04-06 21:44:10 +00:00
Terry Dontje
b92bec7c85 Put in a check for visibility attribute support so we don't add the visibility
linker option when there is no visibility attribute support thus no visible 
external variables.  This is to get around a Sun Studio compiler version that
doesn't recognize the visibility attribute but recognizes the -xldscope option.

This commit was SVN r20902.
2009-03-31 14:31:00 +00:00
Ralph Castain
17f51a0389 Add a new PML module that acts as a "mini-dr" - when requested, it performs a dr-like checksum on messages for BTL's that require it, as specified by MCA params.
Add two new configure options that specify:

1. when to add padding to the openib control header - this *only* happens when the configure option is specified

2. when to use the dr-like checksum as opposed to the memcpy checksum. Not selectable at runtime - to eliminate performance impacts, this is a configure-only option

Also removed an unused checksum version from opal/util/crc.h.

The new component still needs a little cleanup and some sync with recent ob1 bug fixes. It was created as a separate module to avoid performance hits in ob1 itself, though most of the code is duplicative. The component is only selectable by either specifying it directly, or configuring with the dr-like checksum -and- setting -mca pml_csum_enable_checksum 1.

Modify the LANL platform files to take advantage of the new module.

This commit was SVN r20846.
2009-03-23 23:52:05 +00:00
Ralph Castain
fb2b41d40a Give up on the pcie BTL and blow it away. The drivers for this initial implementation have been too customized by IBM - too hard to re-integrate the code.
Maybe someday, someone with enough interest/time can start over...

This commit was SVN r20845.
2009-03-23 23:27:57 +00:00
Terry Dontje
d521a7bb71 Add visibility feature for Sun Studio compilers.
This commit was SVN r20833.
2009-03-20 10:13:01 +00:00
Rainer Keller
e4ebd56722 - AC_MSG_RESULT([$OMPI_F90_BUILD_SIZE]), only if F90-bindings enabled.
- All user output is named Fortran...

This commit was SVN r20784.
2009-03-16 02:07:33 +00:00
Jeff Squyres
a210b4ae06 Add new m4 macro: OMPI_SETUP_COMPONENT_PACKAGE.
This macro is a wrapper around OMPI_SETUP_PACKAGE, and provides common
functionality that I found myself doing in multiple components.
Someone may want to convince me that we should just wrap this all in
OMPI_SETUP_PACKAGE, but I did it first as a separate macro because so
many other places are already using OMPI_SETUP_PACKAGE and I didn't
want to update all of them.

This macro does the following:

 * Assumes that this component should be built by default if all
   headers and libraries can be found
 * Adds --with-<name> and --with-<name>-libdir options to configure
 * Sanity checks directory names given to the above options (i.e., look
   for a token file in each, but only if the directory argument is
   given)
 * Assumes that if --with-<name> is supplied and we can't build the
   component, it's a fatal error.
 * Assumes that if --with-<name> is NOT supplied and we can't build the
   component, it's NOT a fatal error.
 * Run OMPI_CHECK_PACKAGE (check for the specific presence of header
   files and/or libraries) to determine if the package is available
 * Set <framework>_<component>_WRAPPER_EXTRA_LDFLAGS
 * Set <framework>_<component>_WRAPPER_EXTRA_LIBS
 * Set and AC_SUBST <framework>_<component>_CPPFLAGS
 * Set and AC_SUBST <framework>_<component>_CFLAGS
 * Set and AC_SUBST <framework>_<component>_LDFLAGS
 * Set and AC_SUBST <framework>_<component>_LIBS

This commit was SVN r20746.
2009-03-06 21:48:36 +00:00
Ralph Castain
9184f2452f Sorry for this being committed in the middle of the day... :-//
However, there is a bug in the config/ompi_check_pcie.m4 that I found this morning which causes those components to always attempt to build. This fixes it so the trunk will build again.

This commit was SVN r20737.
2009-03-05 16:19:46 +00:00
Ralph Castain
20b81ff634 Add the PCIE BTL. This won't actually work yet - still need to work through issues with system header files, generalize specification of resources, etc. - but it won't build unless specifically directed to do so. Meantime, any more changes that impact these areas of the code base can be reflected here rather than having to be dealt with later.
This commit was SVN r20734.
2009-03-05 02:40:25 +00:00
Jeff Squyres
c731bb25c0 Refs trac:1603
* Significantly improve the check to see if REAL*16 === the back-end
   C type (i.e., not just in size, but also in representation)
 * Add a check to see if Intel compiler's _Quad type === REAL*16
 * Ensure that on the Sun SPARC with the Sun compilers, we get long
   double === REAL*16 

This commit was SVN r20513.

The following Trac tickets were found above:
  Ticket 1603 --> https://svn.open-mpi.org/trac/ompi/ticket/1603
2009-02-11 01:04:58 +00:00
Jeff Squyres
7a3b011f45 Really fix the quoting this time. Really.
This commit was SVN r20430.
2009-02-04 23:04:21 +00:00
Jeff Squyres
35c5e28a8e Up to SVN r20383
This commit was SVN r20384.

The following SVN revision numbers were found above:
  r20383 --> open-mpi/ompi@e0638c84c8
2009-01-29 17:59:04 +00:00
Jeff Squyres
b921629578 Make sure to check for the right header file when a $withdir is
explicitly specified.  This bug has escaped for a long time because
OMPI_CHECK_WITHDIR wasn't working properly until recently (r20289);
the fact that the wrong header file was specified was irrelevant
because OMPI_CHECK_WITHDIR was broken and the wrong header filename
was effectively ignored.

This commit was SVN r20301.

The following SVN revision numbers were found above:
  r20289 --> open-mpi/ompi@ebaf6d5e61
2009-01-20 16:57:19 +00:00
Jeff Squyres
96fdba262b It looks like ftp.gnu.org is disabling the download of repository
versions of config.guess and config.sub right now due to some git
vulnerability.  So make the script a bit more resilient to ensure that
what we get from ftp.gnu.org is actually runnable.

This commit was SVN r20300.
2009-01-20 15:53:18 +00:00
Jeff Squyres
ebaf6d5e61 Add a missing comma, which significantly changes the effect of this macro :-)
This commit was SVN r20289.
2009-01-17 00:15:42 +00:00
Jeff Squyres
d1c6f3f89a * Fix a truckload of Cisco copyrights to be the same as the rest of
the code base.
 * Fix a few misspellings in other copyrights.

This commit was SVN r20241.
2009-01-11 02:30:00 +00:00
Jeff Squyres
1f2b4945e0 Fix a help message.
This commit was SVN r20182.
2009-01-03 01:03:28 +00:00
Jeff Squyres
fb1e368274 Emit a developer-friendly message if you forget to define the proper
MCA m4 macro in configure.params (or, more likely, you copied the
configure.params file from another component and forgot to change the
m4 macro name in the file) instead of just aborting with a cryptic
message.

This commit was SVN r20181.
2009-01-02 23:43:19 +00:00
Jeff Squyres
ba359623e0 Fix a few places where we didn't properly escape []; consolidate all debug/optimization flag checking to use AC quadrigraphs properly
This commit was SVN r20097.
2008-12-09 23:42:28 +00:00
Jeff Squyres
cad0f41391 Also strip out -g[0-9] (in addition to -g) from CCASFLAGS on Leopard. Fixes trac:1701. Thanks to Barry Smith for reporting the problem.
This commit was SVN r20096.

The following Trac tickets were found above:
  Ticket 1701 --> https://svn.open-mpi.org/trac/ompi/ticket/1701
2008-12-09 23:42:16 +00:00
Brian Barrett
8a8cf96b6c Provide configure parameter to allow the disabling of reading parameters
and components from the home directory for platforms that are bad at
reading in files from home directory at scale (like Red Storm)

This commit was SVN r20069.
2008-12-04 01:51:44 +00:00
Ralph Castain
bb25d4e3f3 From Jeff's pen, answering a problem cited by me:
If someone specifies a directory for a config option, then we should respect that designation and error out if the directory isn't found. Implemented first for the --with-openib options.

This commit was SVN r20045.
2008-12-01 23:53:18 +00:00
Jeff Squyres
35d10a4794 Add helpful messages to AC_ARG_WITH --help output.
This commit was SVN r20044.
2008-12-01 23:13:13 +00:00
Jeff Squyres
017c0c526b Per ticket #1666, ensure that we check that the value of
--with-f90-max-array-dim is >=1 and <=7.

This commit was SVN r20042.
2008-11-26 02:25:20 +00:00
Ethan Mallove
b409d390bc Add a couple of Libtool tweaks for Sun Studio compatibility:
* Use the (undocumented) `solaris_use_stlport4` libtool variable to
   turn off any Cstd/stlport4 linkage. This allows Open MPI to be C++
   STL agnostic.
 * Patch `config/libtool.m4` in autogen.sh for a bug in Libtool's
   detection of the Sun Studio Fortran compiler. See the below e-mail
   thread for more details:
   http://www.open-mpi.org/community/lists/devel/2008/11/4920.php

This commit was SVN r20036.
2008-11-25 15:59:48 +00:00
Jeff Squyres
4f028171a2 Refs trac:1603:
* Add OMPI_F77_CHECK_REAL16_C_EQUV test whether REAL*16 is bit
   equivalent to long double.  AC_DEFINE OMPI_REAL16_MATCHES_C with
   result (0 or 1).
 * Update ompi_info to only show real16 support if
   OMPI_REAL16_MATCHES_C is 1.
 * Update DDT to only support REAL16 and COMPLEX32 if
   1==OMPI_REAL16_MATCHES_C.
 * MPI Op function pointer tabls will have NULL for the REAL16 and
   COMPLEX32 entries if 0==OMPI_REAL16_MATCHES_C.
 * Slightly cleaned up OMPI_F77_GET_ALIGNMENT and OMPI_F77_CHECK m4
   tests (use OMPI_VAR_SCOPE_PUSH/POP).

This commit was SVN r19948.

The following Trac tickets were found above:
  Ticket 1603 --> https://svn.open-mpi.org/trac/ompi/ticket/1603
2008-11-07 20:37:21 +00:00
Jeff Squyres
3b1a1d75f8 Fix problem on RHEL4U3 when compiling with the PGI 32 bit compiler:
<infiniband/driver.h> cannot be included because it will fail to
compile.  So per advice from Roland, in that case, just put manually
include the one ibv_*() prototype that we need.  Use an undocumented
feature of AC_CHECK_HEADERS to check for <infiniband/driver.h> that I
was told on the autoconf mailing list (see the comment for more
details).

This commit was SVN r19857.
2008-10-29 21:45:06 +00:00
Pavel Shamis
d79775c98c Changing --enable-connect-xrc to --enable-openib-connectx-xrc
Ticket #1608

This commit was SVN r19850.
2008-10-29 17:47:27 +00:00
Jeff Squyres
d2c3a3cede Fix a problem on some distros that have buggy versions of gcc (e.g.,
https://bugs.launchpad.net/ubuntu/+source/gcc-4.2/+bug/284401).
Ensure to test for -Wno-long-* in combination with other CFLAGS that
we added, not just individually.

This commit was SVN r19838.
2008-10-29 12:17:44 +00:00
George Bosilca
d33801c0fa Rollback the last two commits.
svn merge -r 19823:19821 https://svn.open-mpi.org/svn/ompi/trunk ./

I copied the config directory in another location, and the original
.svn directory was replaced by the Open MPI one ... As a result my
first commit, applied the changes on the Open MPI trunk instead of
the other project.

This commit was SVN r19824.
2008-10-28 17:22:29 +00:00
George Bosilca
e0bb777a51 Remove useless files.
This commit was SVN r19823.
2008-10-28 17:02:37 +00:00
George Bosilca
74041562a2 One file at the time ...
This commit was SVN r19822.
2008-10-28 16:56:53 +00:00
Jeff Squyres
fdbb2d01aa Fix the wrapper compiler flags to get the right C++ exceptions flags
(this was missed in #1585).  Also, fix a long-standing problem that
the F90 wrapper compilers were using the F77 wrapper compiler flags.

This commit was SVN r19819.
2008-10-28 14:26:47 +00:00
Jeff Squyres
be21ea2391 Back out r19805 and replace it with something a bit better, based on a
suggestion from George during review.

Refs trac:1595.

This commit was SVN r19818.

The following SVN revision numbers were found above:
  r19805 --> open-mpi/ompi@bc710baa75

The following Trac tickets were found above:
  Ticket 1595 --> https://svn.open-mpi.org/trac/ompi/ticket/1595
2008-10-28 12:25:08 +00:00
Jeff Squyres
bc710baa75 Remove a compiler warning from ompi_info by using 2 macros to record
whether MPI API parameters should be checked never, always, or
determined at run-time.

This commit was SVN r19805.
2008-10-25 20:54:02 +00:00
Terry Dontje
a39d8d62e7 Correct the "default" message for --enable-cxx-exceptions to disabled as the
code is actually coded and correct some F90 comments to f77.

This commit was SVN r19784.
2008-10-21 20:54:08 +00:00
Jeff Squyres
ac698173b9 * Ensure to pass the C++ exceptions flags to the C and Fortran
compilers as well.   Not doing this was causing problems with
   MPI::ERRORS_THROW_EXCEPTIONS with gcc in 32 bit (but not 64 bit!). 
 * Ensure that the C and Fortran compilers actually like the C++
   exceptions flags.  If not, currently just abort.  Let's see if
   anyone complains about this -- I doubt they will because a) C++
   exception support is not enabled by default, and b) I think C++
   exceptions really only make sense within the same compiler family.

This commit was SVN r19783.
2008-10-21 20:25:20 +00:00
Jeff Squyres
bccd8a6cfc Expand a few configure help string messages, mainly because Terry was
complaining that he didn't know what the defaults were ;-), but also
because it's the Right thing to do.

This commit was SVN r19765.
2008-10-17 23:05:30 +00:00
Jeff Squyres
c42ab8ea37 Fixes trac:1210, #1319
Commit from a long-standing Mercurial tree that ended up incorporating a lot of things:

 * A few fixes for CPC interface changes in all the CPCs
 * Attempts (but not yet finished) to fix shutdown problems in the IB CM CPC
 * #1319: add CTS support (i.e., initiator guarantees to send first message; automatically activated for iWARP over the RDMA CM CPC)
   * Some variable and function renamings to make this be generic (e.g., alloc_credit_frag became alloc_control_frag)
   * CPCs no longer post receive buffers; they only post a single receive buffer for the CTS if they use CTS. Instead, the main BTL now posts the main sets of receive buffers. 
   * CPCs allocate a CTS buffer only if they're about to make a connection
 * RDMA CM improvements:
   * Use threaded mode openib fd monitoring to wait for for RDMA CM events
   * Synchronize endpoint finalization and disconnection between main thread and service thread to avoid/fix some race conditions
   * Converted several structs to be OBJs so that we can use reference counting to know when to invoke destructors
   * Make some new OBJ's have opal_list_item_t's as their base, thereby eliminating the need for the local list_item_t type
   * Renamed many variables to be internally consistent
   * Centralize the decision in an inline function as to whether this process or the remote process is supposed to be the initiator
   * Add oodles of OPAL_OUTPUT statements for debugging (hard-wired to output stream -1; to be activated by developers if they want/need them) 
   * Use rdma_create_qp() instead of ibv_create_qp()
 * openib fd monitoring improvements:
   * Renamed a bunch of functions and variables to be a little more obvious as to their true function
   * Use pipes to communicate between main thread and service thread
   * Add ability for main thread to invoke a function back on the service thread 
   * Ensure to set initiator_depth and responder_resources properly, but putting max_qp_rd_ataom and ma_qp_init_rd_atom in the modex (see rdma_connect(3))
   * Ensure to set the source IP address in rdma_resolve() to ensure that we select the correct OpenFabrics source port
   * Make new MCA param: openib_btl_connect_rdmacm_resolve_timeout
 * Other improvements:
   * btl_openib_device_type MCA param: can be "iw" or "ib" or "all" (or "infiniband" or "iwarp")
   * Somewhat improved error handling
   * Bunches of spelling fixes in comments, VERBOSE, and OUTPUT statements
   * Oodles of little coding style fixes
   * Changed shutdown ordering of btl; the device is now an OBJ with ref counting for destruction
   * Added some more show_help error messages
   * Change configury to only build IBCM / RDMACM if we have threads (because we need a progress thread) 

This commit was SVN r19686.

The following Trac tickets were found above:
  Ticket 1210 --> https://svn.open-mpi.org/trac/ompi/ticket/1210
2008-10-06 00:46:02 +00:00