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

491 Коммитов

Автор SHA1 Сообщение Дата
Jeff Squyres
add3909096 Back out 13076 and 13077 in favor of a much simpler approach.
Sorry for the configure change -- hopefully it's early enough in the
morning that it won't affect people... (new approach won't have a
configure change).

Refs trac:739.

This commit was SVN r13080.

The following Trac tickets were found above:
  Ticket 739 --> https://svn.open-mpi.org/trac/ompi/ticket/739
2007-01-11 14:07:15 +00:00
Jeff Squyres
f0932a0701 A workaround for a bug in the PGI 6.2 compiler series. This bug has
been fixed in the 7.0 PGI series, but is unlikely to be fixed in the
6.2 series:

 * Add a configure test looking for the bad behavior (the PGI compiler
   chokes on C code where structs containing bool's are copied by
   value)
 * Set OMPI_BOOL_STRUCT_COPY to 1 if it's ok, 0 if it's not (i.e., PGI
   6.2 series will have this value set to 0)
 * In two places in the code base -- orte-clean and btl_openib_ini.h,
   we have a struct that contains a bool that is copied by value.  In
   these two places, check OMPI_BOOL_STRUCT_COPY and if it's 1, use
   the "int" type instead of "bool".

Fixes trac:739

This commit was SVN r13076.

The following Trac tickets were found above:
  Ticket 739 --> https://svn.open-mpi.org/trac/ompi/ticket/739
2007-01-11 02:21:26 +00:00
George Bosilca
416e5b5f6a Enable the MX extensions if and only if the mx_extensions.h header
is installed on the system.

This commit was SVN r12937.
2006-12-29 00:31:32 +00:00
George Bosilca
3eeecc3838 Add support for faster small messages. While sending a message, we check if
the data was buffered by the MX library. If it's the case then we declare
the send as completed and disable the completion event for the mx request.

This commit was SVN r12935.
2006-12-28 22:34:24 +00:00
George Bosilca
3903009b8b Add a check for the unexpected handler. If enabled, allow the zero-copy
protocol over the MX BTL. Now, we have only one matching, the one in Open
MPI.

The problem is that when the unexpected handler is triggered, not all the
message is on the host memory. In the best case we get one MX fragment (internal
MX fragment), in the worst we get NULL. The only way to fit this with the
design of the PML is to force the eager protocol at the MX internal fragment
size, and to limit the send/receive protocol at the same size. Tests show
the outcome is not far from optimal (if the pipeline depth is increased
a little bit).

Set MX_PIPELINE_LOG in order to allow MX to use internal fragments of 4K.

This commit was SVN r12930.
2006-12-28 03:35:41 +00:00
Li-Ta Lo
eac3520d00 update xcpu autoconfig checks for libxcpu and friends
This commit was SVN r12903.
2006-12-20 22:56:25 +00:00
Brian Barrett
bf38c9d8e2 Configure changes... woopie...
* Check that the C++, Fortran 77, and Objective C comilers emit code
    that can link against object files emitted by the C compiler.
    Moves some built / run time errors to configure time, which is
    nice and should help with the debugging
  * Remove unneeded -F option when building the XGrid components, 
    which started causing problems with LT 2.0.
  * Try to use the XGridFoundation library, rather than just seeing
    if we can give -framework XGridFoundation.  Should make the
    test slightly more accurate
  * Don't assume XGrid is unavailable on 64 bit platforms, as that
    won't be true on Leopard
  * Require AM 1.10 or newer if using AC 2.60 or newer, so that
    we don't have a split of AC supporting Objective C and AM
    not doing so

This commit was SVN r12701.
2006-11-30 01:59:44 +00:00
Rainer Keller
2fc3ce8efc - Get -restrict check to work
This commit was SVN r12432.
2006-11-05 20:38:44 +00:00
Brian Barrett
9534bb27d9 dont' remove .m4 files during make maintainer-clean as it prevents
the target from completing due to dependency issues 

This commit was SVN r12412.
2006-11-02 18:41:04 +00:00
Pavel Shamis
566667ac61 Adding progress thread support to OpenIB BTL.
Reviewed by Gleb.

This commit was SVN r12411.
2006-11-02 16:15:21 +00:00
George Bosilca
6745e1a7b7 Correctly detect the STDC_HEADERS, before adding flags to the CFLAGS. Now,
that we have the STDC_HEADERS we are able to detect when ptrdiff_t is defined.

This commit was SVN r12254.
2006-10-23 03:55:52 +00:00
Jeff Squyres
533b4db7b5 Fix a problem when $FC/$F77 were multiple tokens.
This commit was SVN r12246.
2006-10-21 14:24:30 +00:00
Tim Prins
45a4f2c7ed Fix a minor problem in variable naming in these configure macros.
Thanks to Martin Audet for reporting this on the users list.

This commit was SVN r12203.
2006-10-19 23:35:14 +00:00
Brian Barrett
204f5b8f52 - Clean up wrapper compiler man pages during maintainer-clean, since
they might require special tools (not sure if sed with multiple -e
    arguments is totally portable)
  - ignore the opalcc.1 man page.  Couldn't do this in the previous
    man page commit (r12192) because I was removing opalcc.1 in that
    commit.

This commit was SVN r12194.

The following SVN revision numbers were found above:
  r12192 --> open-mpi/ompi@581a4b0a4e
2006-10-19 20:14:40 +00:00
Brian Barrett
e7a7a64e4c Implement MPI::SEEK_{SET, END, POS} for the C++ bindings, working around
some issues with the C #defines SEEK_{SET, END, POS}.  The workaround
involves some hackery that should work in almost every common use case
for the C stdio constants (and all the legal issues of the MPI constants).
The one issue is that the C stdio constants are now const ints instead
of #defines, which means that #ifdef checks will fail for the constants.

Behavior can be disabled at either configure time or build time.

Refs trac:387

This commit was SVN r12121.

The following Trac tickets were found above:
  Ticket 387 --> https://svn.open-mpi.org/trac/ompi/ticket/387
2006-10-15 23:50:24 +00:00
Brian Barrett
9adde4f7b8 Allow multilib capability based on compiler flags. See:
https://svn.open-mpi.org/trac/ompi/wiki/compilerwrapper3264
for more information.

Refs trac:374

This commit was SVN r12120.

The following Trac tickets were found above:
  Ticket 374 --> https://svn.open-mpi.org/trac/ompi/ticket/374
2006-10-15 21:21:08 +00:00
Dan Lacher
ba0389723e Ticket: #346
remove requirements on .la files on wrapper scripts

Ticket: #374
  extend compilers to support 32 bit and 64 bit in one version of the wrapper

Submitted by: Dan Lacher
Reviewed by: Rolf Vandevaart

This commit was SVN r11908.
2006-09-29 23:58:58 +00:00
Brian Barrett
bc9c6d65c6 The last of the Alpha fixes. The Alpha sh shell's builtin test doesn't
like == that much...

Refs trac:380

This commit was SVN r11860.

The following Trac tickets were found above:
  Ticket 380 --> https://svn.open-mpi.org/trac/ompi/ticket/380
2006-09-28 03:45:27 +00:00
Brian Barrett
4d7f221f86 There are some compilers (with the right options) that make LOGICALS
8 bytes.  Adjust the configure tests to allow for this case.

Refs trac:427

This commit was SVN r11859.

The following Trac tickets were found above:
  Ticket 427 --> https://svn.open-mpi.org/trac/ompi/ticket/427
2006-09-28 03:25:18 +00:00
Brian Barrett
9111f74627 More escaping fixes in the build system. Anything in the Makefile needs to
have $ escaped to $$.  Also, remove one more place for the shell to
expand those $s in the format string.

This commit was SVN r11809.
2006-09-26 02:37:35 +00:00
Brian Barrett
a546b6834b Only add the ROMIO source directory into DIST_SUBDIRS and SUBDIRS if
the component is configured successfully.  Otherwise, we can end up 
trying to run make in the romio directory without any Makefiles.  This
really only happens on the targets that recurse into DIST_SUBDIRS - ie
dist, maintainer-clean, and distclean

refs trac:411

This commit was SVN r11807.

The following Trac tickets were found above:
  Ticket 411 --> https://svn.open-mpi.org/trac/ompi/ticket/411
2006-09-25 23:51:13 +00:00
Brian Barrett
ad48aa82e9 A number of changes for improved Alpha support:
* Use $31 instead of mnemonic zero for the gcc inline
    assembly test, as the GNU assembler doesn't like
    zero, but both Tru64 and GNU assembler should be fine
    with $31
  * Disable Linux timer component on Alpha.  The CPU timer
    rolls over every 10 seconds or less, so it's kinda
    worthless for our needs.
  * Fix some escaping issues when local functions are
    denoted with a $
  * Remove C++ comments from the Alpha assembly.
  * Add base assembly code for the non-inlined functions
    on Alpha

This commit was SVN r11764.
2006-09-23 03:23:57 +00:00
Brian Barrett
e3497a8bff Fix a number of places where we can cause errors in configure if CFLAGS /
CXXFLAGS are set to -Wall -Werror.  Thanks to Ralf for the patch.

refs trac:290

This commit was SVN r11762.

The following Trac tickets were found above:
  Ticket 290 --> https://svn.open-mpi.org/trac/ompi/ticket/290
2006-09-22 23:58:23 +00:00
Tim Prins
83a7f6e4de Fix for bug #369.
LoadLeveler only sets LOADL_PROCESSOR_LIST when there are 128 or less tasks allocated to a job. The POE RAS relied on this variable so I created a new RAS which uses the LoadLeveler API instead of relying on the environment variable. This still needs some testing, so for now we use the POE RAS whenever LOADL_PROCESSOR_LIST, otherwise we fall back on this component.

Unfortunately, this will require an autogen...

This commit was SVN r11732.
2006-09-21 00:08:49 +00:00
Brian Barrett
8622fe8874 * be more liberal about about which platforms we consider to be alpha,
so that we include all the ev series on platforms that report more than
  just "alpha".  Fixes one of many issues on Alpha reported by a user.

refs trac:380

This commit was SVN r11683.

The following Trac tickets were found above:
  Ticket 380 --> https://svn.open-mpi.org/trac/ompi/ticket/380
2006-09-17 23:14:17 +00:00
Jeff Squyres
8226dab86c Fixes trac:377
Add --enable-orterun-prefix-by-default (and a synonym:
--enable-mpirun-prefix-by-default) to make orterun always behave as if
"--prefix $prefix" was given on the command line (where $prefix is the
value given to the --prefix option to configure).  This prevents many
rsh/ssh users from needing to modify their shell startup files to set
the LD_LIBRARY_PATH for Open MPI (they will still need to set PATH or
otherwise find the OMPI executables to mpicc/mpirun/etc. their MPI
applications).

Also added --noprefix option to orterun to disable this behavior.
Finally, note that even if --enable-orterun-prefix-by-default is
specified, if the user specifies --prefix or /path/to/mpirun, these
options will override the default value of the prefix ($prefix).

This commit was SVN r11669.

The following Trac tickets were found above:
  Ticket 377 --> https://svn.open-mpi.org/trac/ompi/ticket/377
2006-09-15 02:52:08 +00:00
Galen Shipman
877b819ddb Initial commit of QLogic PSM MTL.
This provides support for the Infinipath interconnect using the PSM API. 

Of note: 
This version has a "hackaround" we always return 1 or greater from
the MTL PSM progress function, this should be examined further.

This commit was SVN r11655.
2006-09-14 16:44:02 +00:00
Jeff Squyres
c9d244a298 Rename some OMPI_* macros to be OPAL_* macros.
This commit was SVN r11598.
2006-09-08 23:42:32 +00:00
Jeff Squyres
c068bc155a First steps towards IPv6 support. Mainly to support the guys working
on it, even though there's no other IPv6 code in the tree yet.

This commit was SVN r11561.
2006-09-08 00:10:40 +00:00
Sven Stork
78413e62b3 - fix lost compiler flag
This commit was SVN r11451.
2006-08-27 16:28:05 +00:00
George Bosilca
c697a25040 If we want to compile any application on Windows we need at least
these 2 libraries. Save and resotre (to the default values) the LDFLAGS.

This commit was SVN r11439.
2006-08-27 04:52:46 +00:00
Brian Barrett
53925dfd88 * Use AC_TRY_LINK instead of AC_TRY_cOMPILE to see if the compiler hints
for prefetch and branch prediction work.  A non-happy compiler could
  just think these were functions and we wouldn't get the error, because
  we didn't try to link.

  Refs trac:287

This commit was SVN r11333.

The following Trac tickets were found above:
  Ticket 287 --> https://svn.open-mpi.org/trac/ompi/ticket/287
2006-08-22 22:20:12 +00:00
George Bosilca
8db4a55a57 Reorder the C++ compiler discovery stages. Check first the compiler vendor
before checking if we are able to compile the test program. This is required
for windows as the C++ conftest.c file generated by configure cannot be
compiled with the Microsoft cl.exe compiler (because of the exit function
prototype). So if we detect a vendor equal to microsoft we will assume
that the compiler is correctly installed (which is true on Windows most
of the time anyway).

This commit was SVN r11268.
2006-08-20 13:53:27 +00:00
George Bosilca
6b01358cc1 Generate static-component.h file C++ friendly.
This commit was SVN r11267.
2006-08-20 13:48:24 +00:00
Brian Barrett
1daa21e1e3 It appears that most versions of the IBM XL compiler (including the latest
releases on Linux and OS X) don't handle const_cast<> of 2-dimensional 
arrays properly.  If we're using one of the compilers that isn't friendly
to such casts, fall back to a standard C-style cast.

refs: #271

This commit was SVN r11263.
2006-08-19 22:55:59 +00:00
Brian Barrett
43116cd13c * Don't define _GNU_SOURCE if we are using the IBM XL compilers, as it seems
to cause them to miscompile TCP-related code.

  refs trac:276

This commit was SVN r11258.

The following Trac tickets were found above:
  Ticket 276 --> https://svn.open-mpi.org/trac/ompi/ticket/276
2006-08-18 04:12:24 +00:00
Brian Barrett
4176e61049 * Add support for building the F90 bindings library as a shared library
on almost all platforms (except OS X... sigh...).  This is the merge 
  of r10846 - 10894 from the tmp/f90-shared branch to the trunk.

This commit was SVN r11103.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r10846
2006-08-03 00:17:31 +00:00
Rainer Keller
12166eb0d7 - The intel-based assembler on ia64 (such as NEC's ecc) needs
.proc/.endp-declarations for functions in order to be able to
   link successfully.
   Currently used in configure, only.
   
   There has not been found another arch, where this is necessary.
   So asm-data.txt and base/default.conf has not been changed.

This commit was SVN r11068.
2006-07-31 22:30:07 +00:00
Rainer Keller
bfadfa9eb6 - Get code-coverage to work with gcc-4.x (needs --coverage flag also
when linking)
   This allows ompi-branch optimization. Works now with mpicc wrappers.

This commit was SVN r11067.
2006-07-31 21:55:01 +00:00
Galen Shipman
c9e0eda190 Initialize the completion queue to a reasonable size based on maximum number
of send/receives outstanding.

Use ibv_cq_resize if available after initial creation of completion queue if
cq_size is too small (based on number of peers). 

This commit was SVN r11053.
2006-07-30 00:58:40 +00:00
Brian Barrett
aaf31c6ade * Make the backtrace printing functionality a framework
* Copy Linux and Solaris backtrace support from util/stacktrace.c
* Added backtrace support for Mac OS X.

This commit was SVN r11023.
2006-07-27 02:56:02 +00:00
Brian Barrett
7ea33eac02 Merge in rest of event library update branch, updating the event library to
libevent-1.1a.

svn merge -r10917:11006 https://svn.open-mpi.org/svn/ompi/tmp/libevent-update

This commit was SVN r11022.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r10917
  r11006
2006-07-27 01:51:18 +00:00
Brian Barrett
dfa1221c3b * AC_CONFIG_LINKS has a minor problem in that it always uses ln -s, rather
than $(LN_S).  This causes problems with with Windows and probably
  elsewhere (re: #200).  So use a slightly different trick to get the
  right header selected for the MEMCPY and TIMER components.

* Using the same trick used to solve the AC_CONFIG_LINKS problem, 
  stop using a separate header file for direct calling in the
  PML and MTL.  This lets me remove some icky code in ompi_mca.m4
  that was more fragile than I really liked.

This commit was SVN r10841.
2006-07-16 04:23:52 +00:00
Jeff Squyres
4eb3ee7835 Another project that has been brewing for a week or so...
We have repeatedly seen users inadvertantly try to use a C compiler
for $CXX (e.g., using icc instead of icpc in recent versions of the
Intel compiler).  Unfortunately, this would "sorta work", meaning that
configure would complete successfully and the build would fail much
later in the process (when $CXX was used to try to link a C++
compiler).  This was further compounded by the fact that many C
compilers will switch into "C++ mode" when they compile files that end
in .cc -- meaning that they'll *compile* C++ codes properly, but they
won't *link* properly.  Hence, users would get all the way down to
compiling the C++ MPI bindings or ompi_info (i.e., very late in the
build process) before the problem became evident.

We already have a test in configure that tries to compile, link, and
run a sample C++ program.  This helped ensure that $CXX was a valid
compiler, but it did not catch if the user accidentally supplied a C
compiler instead of a C++ compiler because the test program was simply
"return 0".  This commit updates the test program to use some
C++-specific constructs (std::string) so that if the user supplies a C
compiler in $CXX, the program may *compile*, but it will definitely
fail to *link*.

Hence, the process will fail early in configure (with a descriptive
message about how the compiler failed to work properly) rather than
late in the build.

This commit was SVN r10829.
2006-07-15 10:27:09 +00:00
Dan Lacher
94d5c9eed5 Defect 166: configure fails to crops libtool extras
Reviewed by: jsquyres, brbarret

This fix allows for support of LT2.0

This commit was SVN r10752.
2006-07-11 23:39:17 +00:00
Brian Barrett
27d9e26721 Fix for ticket #179. Print a reasonable error message if we fail to parse
the compiler data file.  Also, actually fix the bug by expanding out
datarootdir before letting it get in install_dirs.h.

This commit was SVN r10643.
2006-07-04 03:00:01 +00:00
Brian Barrett
47725c9b02 * Add new PML (CM) and network drivers (MTL) for high speed
interconnects that provide matching logic in the library.
  Currently includes support for MX and some support for
  Portals
* Fix overuse of proc_pml pointer on the ompi_proc structuer, 
  splitting into proc_pml for pml data and proc_bml for
  the BML endpoint data
* bug fixes in bsend init code, which wasn't being used by
  the OB1 or DR PMLs...

This commit was SVN r10642.
2006-07-04 01:20:20 +00:00
Brian Barrett
56a86c89b1 * Fix for bug #152. Make --with-FOO-libdir=DIR only check DIR, and not the
DIR/lib and DIR/lib64, which really never made sense.

This commit was SVN r10535.
2006-06-28 03:33:30 +00:00
Brian Barrett
03cc22842c fix error message typo and correct the flag that should be provided to gcc
to force v8+ ABI

This commit was SVN r10438.
2006-06-20 16:25:31 +00:00
Brian Barrett
d96554a482 * Fix for issue #144. With the opal_atomic_lifo code, we can no longer build
on platforms without a 32-bit compare and swap implementation.  There isn't
  such a thing on Sparc v8 chips, so we can't support those platforms right
  now.  Should be possible to make opal_atomic_lifo less atomic on these
  platforms, but not in the time allotted.

This commit was SVN r10407.
2006-06-17 18:45:29 +00:00