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

544 Коммитов

Автор SHA1 Сообщение Дата
Mohamad Chaarawi
59a7bf8a9f Merging in the Sparse Groups..
This commit includes config changes..

This commit was SVN r15764.
2007-08-04 00:41:26 +00:00
Pak Lui
9af43da1dc * Remove the logic for Solaris to always use the FreeBSD version of qsort.
* Give user the option to configure with the broken qsort fix instead
    of using the native qsort.

This commit was SVN r15716.
2007-07-31 22:43:06 +00:00
Jeff Squyres
8ace07efed This commit brings in two major things:
1. Galen's fine-grain control of queue pair resources in the openib
   BTL.
1. Pasha's new implementation of asychronous HCA event handling.

Pasha's new implementation doesn't take much explanation, but the new
"multifrag" stuff does.  

Note that "svn merge" was not used to bring this new code from the
/tmp/ib_multifrag branch -- something Bad happened in the periodic
trunk pulls on that branch making an actual merge back to the trunk
effectively impossible (i.e., lots and lots of arbitrary conflicts and
artifical changes).  :-(

== Fine-grain control of queue pair resources ==

Galen's fine-grain control of queue pair resources to the OpenIB BTL
(thanks to Gleb for fixing broken code and providing additional
functionality, Pasha for finding broken code, and Jeff for doing all
the svn work and regression testing).

Prior to this commit, the OpenIB BTL created two queue pairs: one for
eager size fragments and one for max send size fragments.  When the
use of the shared receive queue (SRQ) was specified (via "-mca
btl_openib_use_srq 1"), these QPs would use a shared receive queue for
receive buffers instead of the default per-peer (PP) receive queues
and buffers.  One consequence of this design is that receive buffer
utilization (the size of the data received as a percentage of the
receive buffer used for the data) was quite poor for a number of
applications.

The new design allows multiple QPs to be specified at runtime.  Each
QP can be setup to use PP or SRQ receive buffers as well as giving
fine-grained control over receive buffer size, number of receive
buffers to post, when to replenish the receive queue (low water mark)
and for SRQ QPs, the number of outstanding sends can also be
specified.  The following is an example of the syntax to describe QPs
to the OpenIB BTL using the new MCA parameter btl_openib_receive_queues:

{{{
-mca btl_openib_receive_queues \
     "P,128,16,4;S,1024,256,128,32;S,4096,256,128,32;S,65536,256,128,32"
}}}

Each QP description is delimited by ";" (semicolon) with individual
fields of the QP description delimited by "," (comma).  The above
example therefore describes 4 QPs.

The first QP is:

    P,128,16,4

Meaning: per-peer receive buffer QPs are indicated by a starting field
of "P"; the first QP (shown above) is therefore a per-peer based QP.
The second field indicates the size of the receive buffer in bytes
(128 bytes).  The third field indicates the number of receive buffers
to allocate to the QP (16).  The fourth field indicates the low
watermark for receive buffers at which time the BTL will repost
receive buffers to the QP (4).

The second QP is:

    S,1024,256,128,32

Shared receive queue based QPs are indicated by a starting field of
"S"; the second QP (shown above) is therefore a shared receive queue
based QP.  The second, third and fourth fields are the same as in the
per-peer based QP.  The fifth field is the number of outstanding sends
that are allowed at a given time on the QP (32).  This provides a
"good enough" mechanism of flow control for some regular communication
patterns.

QPs MUST be specified in ascending receive buffer size order.  This
requirement may be removed prior to 1.3 release.

This commit was SVN r15474.
2007-07-18 01:15:59 +00:00
Jeff Squyres
b20248709a Next round of LSF commits. Getting farther, but it still doesn't
fully work yet (everything is still .ompi_ignore'ed for everyone).

This commit was SVN r15398.
2007-07-13 11:57:17 +00:00
Ralph Castain
a1bf04f39e First cut at revamping bproc support to separate it out from LANL's configuration.
First cut at adding support for LSF

Lots of ompi_ignores so only Jeff and I will see this stuff

This commit was SVN r15321.
2007-07-10 12:43:05 +00:00
Brian Barrett
1d02b9e7b5 Fix a bunch of issues exposed by Ken Cain in getting Open MPI to work with
VxWorks.  Still some issues remaining, I'm sure.

Refs trac:1010

This commit was SVN r15320.

The following Trac tickets were found above:
  Ticket 1010 --> https://svn.open-mpi.org/trac/ompi/ticket/1010
2007-07-10 03:46:57 +00:00
Brian Barrett
41afd4ebee Clean up the MX configure test a bit. Use AC macros instead of hand
writing them.  Better tests, less code, and caching.  Update the code
to match changes in configure defines.

This commit was SVN r15287.
2007-07-04 22:07:30 +00:00
Brian Barrett
b27b9b5380 * Clean up the ompi_mca macro's support for different configuration
types and add STOP_AT_FIRST_PRIORITY type for framework configuration,
    which allows all components at the highest priority that succeeds to
    succeed
  * Use STOP_AT_FIRST_PRIORITY type for gpr framework, so that the null
    component isn't built when the replica and proxy components are
    available.

This commit was SVN r15286.
2007-07-04 22:00:15 +00:00
George Bosilca
f3f312e8be A new definition for pid_t or Windows (it's a pointer so it should be
an intptr_t).

This commit was SVN r15114.
2007-06-17 04:58:33 +00:00
Jeff Squyres
36679de8d8 Fixes trac:1045.
libsysfs headers are required for libibverbs v1.0 (i.e., OFED 1.0 and
OFED 1.1), meaning that <infiniband/verbs.h> would #include
<sysfs/libsysfs.h>.  Hence, if the libsysfs headers did not exist on a
system, including <verbs.h> would fail.  

With older versions of Autoconf, we would simply test for the
''presence'' of the <infinband/verbs.h> and not actually try to
''use'' it.  This could leave OMPI in a weird situation on systems
that did not have the sysfs headers installed: configure would
complete successfully, but the build of the openib btl would fail.
Some users complained, thinking that there was a real compile error in
the OMPI code base.

Hence, we decided that it would be better to AC_CHECK_HEADER for the
sysfs header files in configure.  If the sysfs header files were not
found, configure would abort.  Users generally understand when
configure aborts, and know how to read the output and fix the
underlying problem; it was ''much'' more obvious than having the OMPI
build fail for nebulous reasons much later.

Note that we also checked for / added -lsysfs, but that wasn't
necessary because libibverbs already run-time linked to it (i.e.,
libibverbs couldn't have been installed if the sysfs libraries weren't
installed).

However, there are now two reasons why the check for sysfs's header
files is no longer necessary:

 * Newer versions of Autoconf are now used for OMPI tarballs that
   check for both the presence '''and''' usability of header files.
   Hence, AC_CHECK_HEADER for <infiniband/verbs.h> will actually try
   to ''use'' it, so if the sysfs header files are not installed,
   AC_CHECK_HEADER will (rightfully) fail.
 * libibverbs v1.1 (i.e., OFED 1.2 and beyond) does not require
   libsysfs at all (headers or libraries).  

When checking for the sysfs header files, OMPI's configure ''forces''
you to have sysfs installed, even though it may not be needed (e.g.,
libibverbs v1.1 and beyond).  Clearly, this is not good (especially
since the sysfs software package is now deprecated, and some Linux
distros no longer install it by default).

So this commit simply removes the check for the sysfs header files and
libraries, allowing OMPI to be build on systems with libibverbs >=1.1 that
do not have sysfs installed.

For systems with libibverbs 1.0, if they do not have the sysfs headers
installed, we'll still fail AC_CHECK_HEADER and therefore still fail
configure properly.  I expanded the warning message to say that if
libibverbs 1.0 is being used, check to ensure that sysfs is installed,
yadda yadda yadda.

This commit was SVN r14971.

The following Trac tickets were found above:
  Ticket 1045 --> https://svn.open-mpi.org/trac/ompi/ticket/1045
2007-06-08 23:34:05 +00:00
George Bosilca
976bad3ae7 The updated m4 file for detecting MX extensions. They are used to retrieve
the mapper MAC.

This commit was SVN r14938.
2007-06-07 00:44:47 +00:00
Brian Barrett
644708a4b4 For modern MACOSX_DEPLOYMENT_TARGETs, allow the Fortran 90 bindings to be
built as shared libraries.

This commit was SVN r14859.
2007-06-05 04:04:44 +00:00
Brian Barrett
a446af5b6b * Remove unneeded SRQ test -- we no longer support OFED builds that don't
have the SRQ interface.
  * Instead of setting AC_DEFINEs per MCA component, set per test.  THe
    answers can never be difference, and this will speed sed just a teeny
    bit

This commit was SVN r14856.
2007-06-05 01:49:26 +00:00
Brian Barrett
8b71f5ceac Fix typo in r14829. Thanks to Bert Wesarg for pointing out my dumbness :).
This commit was SVN r14855.

The following SVN revision numbers were found above:
  r14829 --> open-mpi/ompi@38698adf29
2007-06-05 01:47:48 +00:00
Brian Barrett
beb6dd1924 Include the C++ bindings from mpi.h in a way that doesn't require an extra
-I for ${includedir}/openmpi.  Solves many problems, and with just a tad
bit of hackery.  Don't know why I didn't just do this earlier.

Refs trac:542

This commit was SVN r14853.

The following Trac tickets were found above:
  Ticket 542 --> https://svn.open-mpi.org/trac/ompi/ticket/542
2007-06-05 01:42:47 +00:00
Brian Barrett
38698adf29 Use the AC_PROG_GREP available in AC 2.60 and later. This works around
an issue on Solaris where /usr/bin/grep doesn't understand -q.  The
grep that AC_PROG_GREP finds (/usr/xpg4/bin/grep), which is POSIX
compliant and understands -q.  Also fix one instance where egrep was
used instead of $EGREP.

This commit was SVN r14829.
2007-06-01 02:31:15 +00:00
Rainer Keller
22def7bee5 - Get the TRUE value detection working in case of
intel ifort -i8, i.e. 8-Byte logicals...

This commit was SVN r14819.
2007-05-31 13:03:04 +00:00
Rainer Keller
2cc4e6de85 - Allow detection of weak symbols support with Intel compiler
This commit was SVN r14794.
2007-05-30 13:01:36 +00:00
Pavel Shamis
cd87b05711 Added check for IBV_EVENT_CLIENT_REREGISTER async
event that was not exists in old openib gen2 versions
(Ticket #1025)

This commit was SVN r14658.
2007-05-15 13:53:49 +00:00
Brian Barrett
21e00f6f0c Clean up a couple of configure things:
* Require Autoconf 2.60 or higher and remove some cruft
    required for AC 2.59 or the AC 2.59 / AC 2.60 mix
  * Remove a bunch of now unnecessary AC_SUBST calls
  * Use the libtool-provided variables for the -I and
    library to use when compiling against ltdl

Fixes trac:1000

This commit was SVN r14652.

The following Trac tickets were found above:
  Ticket 1000 --> https://svn.open-mpi.org/trac/ompi/ticket/1000
2007-05-15 04:23:48 +00:00
Brian Barrett
4adca8af77 Fix two errors with r14552:
* Have _ompi_check_package_lib set LIBS, similar to how
    _ompi_check_package_include sets CPPFLAGS.  Fixes an
    issue discovered by Don
  * Need to restore flags after end of TM testing.

This commit was SVN r14602.

The following SVN revision numbers were found above:
  r14552 --> open-mpi/ompi@e63346a633
2007-05-08 02:24:27 +00:00
Brian Barrett
36b5db6b39 Escape $tmpCC, as it will have / in it in many cases, leading to a sed
expression that doesn't work.

Refs trac:1021

This commit was SVN r14600.

The following Trac tickets were found above:
  Ticket 1021 --> https://svn.open-mpi.org/trac/ompi/ticket/1021
2007-05-08 02:17:13 +00:00
Sven Stork
ee2764fdb1 - fix the broken trunk in the case of disabled visibility feature
(sorry about the config stuff change during working time)

This commit was SVN r14584.
2007-05-04 15:58:08 +00:00
Sven Stork
a04c8eb39a - Bring over the visibility feature, for a finer symbol export control
via the visibility feature that is provided by some compilers.

  Per default this feature is disabled, to enable it you need to
  configure with --enable-visibility and obviously you need a compiler
  with visibility support. Please refer to the wiki for more information.
  https://svn.open-mpi.org/trac/ompi/wiki/Visibility

This commit was SVN r14582.
2007-05-04 09:03:37 +00:00
Jeff Squyres
4960aee4b2 Temporary fix for the tm breakage the other day. This restores being
able to compile tm support, but is still "odd" in terms of the way AC
macros are normally structured.  Brian says that he will fix it
properly someday.

This commit was SVN r14573.
2007-05-03 00:04:27 +00:00
Brian Barrett
e63346a633 Clean up a couple of issues with some of the configure tests:
* Remove duplicate calls to ompi_check_package by poking at the
    internals just a bit.  Possibly should make those officially
    exposed, but whatever.
  * Don't build OpenIB with PTMalloc2 and no thread support, as
    this will always lead to badness.
  * minor formatting cleanups

This commit was SVN r14552.
2007-05-01 04:40:31 +00:00
Jeff Squyres
989c4417a1 Fixes trac:982.
Thank God for google-able mailing list archives:

    http://www.mail-archive.com/bug-libtool@gnu.org/msg00899.html

We ran into this exact bug in Libtool that was causing the C++
bindings library to be compiled incorrectly (therefore causing static
initializers to not fire properly when in a shared library, which is
the default installation configuration).  Putting in some libtool
patches to fix the problem -- will be mailing the Libtool crowd
shortly to ask for a better fix...

This commit was SVN r14454.

The following Trac tickets were found above:
  Ticket 982 --> https://svn.open-mpi.org/trac/ompi/ticket/982
2007-04-21 00:56:47 +00:00
Jeff Squyres
5bebd24250 Bring over Brian's installdirs fixes from this afternoon (r14445).
This commit was SVN r14450.

The following SVN revision numbers were found above:
  r14445 --> open-mpi/ompi@13d366b827
2007-04-21 00:16:31 +00:00
Jeff Squyres
0ba47105ed Merge the /tmp/jms-installdirs-trunk branch into the trunk. This
finally brings in functionality that is already on the 1.2 branch, and
was developed and tested in the v1.2ofed branch (and other places).

Short version of new features:

 * Support for ibv_fork_init() 
 * Automatically fill in the openib BTL bandwidth value by 
   querying the HCA port 
 * Installdirs functionality 
 * Fixes to always use -I in the Fortran wrapper compilers (#924) 
 * Gleb's mpool updates 
 * Remove some kruft in btl/openib/configure.m4, therefore 
   fixing the harmless warnings noted in #665 
 * Bunches of updates to the Linux RPM spec file 

I.e., effectively the same thing that r14411 brought to the v1.2
branch.

Also effectively brought in r14432 and r14433 (some fixes on top of
the original r14411 commit to v1.2).  Still need to bring in the moral
equivalent of r14445 after this commit (fixes to installdirs).

This commit was SVN r14449.

The following SVN revision numbers were found above:
  r14411 --> open-mpi/ompi@83b31314ae
  r14432 --> open-mpi/ompi@a48f160595
  r14433 --> open-mpi/ompi@68f346d2bc
  r14445 --> open-mpi/ompi@13d366b827
2007-04-21 00:15:05 +00:00
Jeff Squyres
653bafdc11 Per Brian's review of r14372, he suggested that the output flags be
sent to config.log, not stdout.

This commit was SVN r14389.

The following SVN revision numbers were found above:
  r14372 --> open-mpi/ompi@c9dc918355
2007-04-17 03:13:50 +00:00
Jeff Squyres
c9dc918355 Updates to the TM checks, inspired by Bas van der Viles:
* If pbs-config can be found (either in the PATH or the
   --with-tm=<dir> directory tree), use that to search for the relevant
   compiler / linker flags to get TM support.
 * Fix a long-standing bug that if --without-tm is supplied, we'll
   still try to look for tm support

This commit was SVN r14372.
2007-04-14 13:00:32 +00:00
Josh Hursey
dadca7da88 Merging in the jjhursey-ft-cr-stable branch (r13912 : HEAD).
This merge adds Checkpoint/Restart support to Open MPI. The initial
frameworks and components support a LAM/MPI-like implementation.

This commit follows the risk assessment presented to the Open MPI core
development group on Feb. 22, 2007.

This commit closes trac:158

More details to follow.

This commit was SVN r14051.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r13912

The following Trac tickets were found above:
  Ticket 158 --> https://svn.open-mpi.org/trac/ompi/ticket/158
2007-03-16 23:11:45 +00:00
Brian Barrett
3982be852e Fixed issue with multi-word C compiler variable, where there
was more than one space between tokens.  Thanks to Bert
Wesarg for reporting the issue.

This commit was SVN r14044.
2007-03-16 21:24:12 +00:00
Adrian Knoth
dbb8b8e315 brbarret's fix for hanging configure if $USER is empty. Closes trac:900
This commit was SVN r14005.

The following Trac tickets were found above:
  Ticket 900 --> https://svn.open-mpi.org/trac/ompi/ticket/900
2007-03-11 16:24:46 +00:00
Jeff Squyres
176cecfb3b Fix for LT 2.1 libltdl lt_dlopen behavior of putting loaded DSO's in a
private scope.  Solves the problem of Red Hat-provided OFED not
working properly because the libibverbs plugins are not linked
against libibverbs.

This commit was SVN r13926.
2007-03-05 17:21:42 +00:00
Brian Barrett
ada2316fd3 work around issue where $CC might be multiword and would leave stuff in the
extra linker flags.  Reported by Bert Wesarg.

This commit was SVN r13774.
2007-02-24 22:18:44 +00:00
Brian Barrett
7ce72af158 fix some misuses of various environment variables when running pthread checks
reported by Ake Sandgren on the users list a couple months ago...

This commit was SVN r13773.
2007-02-24 21:22:55 +00:00
Rainer Keller
dbe6100bd2 - As there are other changes to configure-files:
Cleanup check_attributes and comments, get rid of _msg

This commit was SVN r13678.
2007-02-16 07:45:53 +00:00
Josh Hursey
5a0f268ddd fix minor typo
This commit was SVN r13677.
2007-02-16 01:36:59 +00:00
Pavel Shamis
edeab0e912 Adding Mellanox Technologies copyright to files touched by Mellanox.
This commit was SVN r13669.
2007-02-15 18:03:20 +00:00
Rainer Keller
38696e8d32 - Check for attributes, after C and C++ have been set up.
- Set ompi-specific autoconf cache-variables
 - Implement one function to check for availability of an
   attribute with the possibility for a cross-check.
 - Do cross-checks for
     __attribute__(format)
     __attribute__(nonnull)
     __attribute__(sentinel)
     __attribute__(warn_unused_result)
 - Grep the compilers warnings for keywords regarding ignored
   attributes.
 - Include also the no_instrument_function

This commit was SVN r13556.
2007-02-08 13:34:44 +00:00
Rainer Keller
80295b8f68 - Indent one space; this crept up to deliver:
icc -g -finline-functions -fno-strict-aliasing-restrict -c help.c
icc: Command line warning: ignoring option '-fno-strict-aliasing'; no argument required

This commit was SVN r13507.
2007-02-06 13:23:23 +00:00
Jeff Squyres
c91fcd7fbd Fix a bunch of minor typos submitted by Bernhard Fischer.
This commit was SVN r13505.
2007-02-06 12:00:30 +00:00
Rainer Keller
c2c8bdf8ac - Check not only C, but also C++ compiler both at one
go and have proper casting.
   Tested with linux gcc-4, icc-9.0, pathcc-2.2.1 and pgi-6.2.5

   (icc warns on several attributes, that they are ignored;
    same for pathcc and pgi)

This commit was SVN r13485.
2007-02-03 17:35:46 +00:00
Tim Prins
cc896e6292 make way for a better fix...
This commit was SVN r13484.
2007-02-03 16:49:28 +00:00
Tim Prins
0d283cb4d7 Fix for the attribute problems we have been having lately.
Check both the c and cpp compilers for support of attributes, and then check for support for each individual attribute with both compilers. Only if both compilers support a given attribute will we enable it.

This commit was SVN r13483.
2007-02-03 15:58:49 +00:00
Rolf vandeVaart
bf5113198d Update to orte-clean so it will remove files on local and
remote nodes.  It will also kill off rogue orteds and orterun
processes.  The killing of processes is ifdef'ed out for Windows
since I do not know how to do it there.  Note that this change
will requite an autogen.  

This commit was SVN r13477.
2007-02-03 00:25:42 +00:00
Rolf vandeVaart
fd1bf67119 Fix where we initialize some variables if attribute is not
supported by compiler.

This commit was SVN r13410.
2007-02-01 04:01:04 +00:00
Rainer Keller
7d799523e5 - include the attributes for always_inline and sentinel
This commit was SVN r13373.
2007-01-30 21:26:08 +00:00
Rainer Keller
2bda2f5d8c - Fix and extend the attribute checking macros for the
most common attributes. Useful attributes may be:
   - optimization (pure, const, malloc--restrictness)
   - data layout (packed)
   - interface definition, API (deprecated, visibility, weak alias)
   - compiler hint for code analysis and debugging (nonnull, format)

This commit was SVN r13369.
2007-01-30 20:52:46 +00:00