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

393 Коммитов

Автор SHA1 Сообщение Дата
Jeff Squyres
6d75691de3 Remove now-useless variable.
This commit was SVN r17429.
2008-02-12 13:09:34 +00:00
Shiqing Fan
fa79631d41 and fix a miss type.
This commit was SVN r17425.
2008-02-12 08:50:13 +00:00
Shiqing Fan
f5792bbda5 merging the memchecker into trunk.
This commit was SVN r17424.
2008-02-12 08:46:27 +00:00
Dan Lacher
98f70d6318 Convert the C++ Comm, Datatype and Winn keyval creation and intercept callbacks
to *not* use the STL as well as removing the STL use from the error handler
routines.  This was removing the STL from the C++ bindings (Solaris has 2
versions of the STL; if OMPI uses one and an MPI application wants to use
another, Bad Things happen).

The main idea is to wrap up the C++ callback function pointers and the user's
extra_state into our own struct that is passed as the extra_state to the C
keyval registration along with the intercept routines in intercepts.cc. When the
C++ intercepts are activated, they unwrap the user's callback and extra state
and call them.

This commit was SVN r17409.
2008-02-10 19:29:25 +00:00
Jeff Squyres
213679488a Fix F90 interface for MPI_CART_CREATE. Thanks to Michal Charemza for
reporting the problem.

This commit was SVN r17395.
2008-02-07 12:46:32 +00:00
George Bosilca
13de3420ab As the receive buffer is only significant at root, limit the
check only where it makes sense.

This commit was SVN r17366.
2008-02-04 01:44:41 +00:00
Rainer Keller
2b4975de8e - In case of MPI_REQUEST_NULL, set the *status to the empty_status,
by copying structure:

   psendrecv.c:81
   4e7:   cmpl   $0x0,0x34(%ebp)           4e7:   cmpl   $0x0,0x34(%ebp)
   4eb:   je     51e <PMPI_Sendrecv+0x51e> 4eb:   je     517 <PMPI_Sendrecv+0x517>
   psendrecv.c:85
   4ed:   mov    0x34(%ebp),%eax           4ed:   mov    0x34(%ebp),%edx
   4f0:   movl   $0xfffffffe,(%eax)        4f0:   mov    0x38,%eax
   psendrecv.c:86                          4f5:   mov    %eax,(%edx)
   4f6:   mov    0x34(%ebp),%eax           4f7:   mov    0x3c,%eax
   4f9:   movl   $0xffffffff,0x4(%eax)     4fc:   mov    %eax,0x4(%edx)
   psendrecv.c:87                          4ff:   mov    0x40,%eax
   500:   mov    0x34(%ebp),%eax           504:   mov    %eax,0x8(%edx)
   503:   movl   $0x0,0x8(%eax)            507:   mov    0x44,%eax
   psendrecv.c:88                          50c:   mov    %eax,0xc(%edx)
   50a:   mov    0x34(%ebp),%eax           50f:   mov    0x48,%eax
   50d:   movl   $0x0,0xc(%eax)            514:   mov    %eax,0x10(%edx)
   psendrecv.c:89
   514:   mov    0x34(%ebp),%eax
   517:   movl   $0x0,0x10(%eax)
   psendrecv.c:91

This commit was SVN r17230.
2008-01-25 12:58:59 +00:00
Rainer Keller
76b95a4ee7 - Just indentation and spelling
This commit was SVN r17228.
2008-01-25 10:36:42 +00:00
Jeff Squyres
404f8d1076 Nothing substantial: just move the generalized request intercept data
structure up into the MPI::Grequest class (rather than being a struct
definition outside of any class) to be similar to how the keyval
intercept data structures are organized.  Fix one minor compiler
warning in the process.

This commit was SVN r17171.
2008-01-21 15:56:21 +00:00
Jeff Squyres
ab60cfd948 Fix some typos.
This commit was SVN r17168.
2008-01-21 14:34:25 +00:00
Jeff Squyres
72bef32e65 Convert the C++ Comm keyval creation and intercept callbacks to *not*
use the STL.  This is the first step in removing the STL from the C++
bindings (Solaris has 2 versions of the STL; if OMPI uses one and an
MPI application wants to use another, Bad Things happen).

The main idea is to wrap up the C++ callback function pointers and the
user's extra_state into our own struct that is passed as the
extra_state to the C keyval registration along with the intercept
routines in intercepts.cc.  When the C++ intercepts are activated,
they unwrap the user's callback and extra state and call them.

It got a little more complicated than that, however:

 * I realized that we were returning errors back from
   Comm::create_keyval() incorrectly, so I fixed that.
 * Instead of using STL maps to store associations, we now use an
   opal_list_t which has to be guaranteed to be initialized correctly
   and only once in a multi-threaded environment.
 * Because of whackyness in the C++ bindings, it is possible to call
   Comm::Create_keyval with C callbacks (!).  If both registered
   callbacks are C functions, then ensure to avoid all the C++
   machinery.

This commit was SVN r17125.
2008-01-12 13:20:38 +00:00
George Bosilca
25814c07e0 Update the checks in the reduce family collectives.
This commit was SVN r17096.
2008-01-09 20:40:57 +00:00
George Bosilca
ebad33ad86 Amazing that no compilers so far have identified this little
copy/paste mistake. Thanks VC !

This commit was SVN r17057.
2008-01-05 00:19:08 +00:00
Jeff Squyres
728eccda87 Found this compatibility code yesterday when reviewing some of the C++
bindings with Dan: it's no longer necessary since we're firmly tied to
Open MPI (I'm not sure it was ever necessary, actually...).

This commit was SVN r17017.
2007-12-21 16:23:13 +00:00
George Bosilca
906e8bf1d1 Replace the ompi_pointer_array with opal_pointer_array. The next step
(sometimes after the merge with the ORTE branch), the opal_pointer_array
will became the only pointer_array implementation (the orte_pointer_array
will be removed).

This commit was SVN r17007.
2007-12-21 06:02:00 +00:00
George Bosilca
aee802ddfa Include the intercept_extra_state_t_class in the library. The logic I
added there on my last commit was wrong. This variable should be included
only once, and here is the right way of doing:
- if we have weak symbols we compile each file once, so the variable should
  [always] get included.
- if we don't have weak symbols, then each file will get compiled multiple
  times (if profiling is enabled). In this case include the variable only
  when we build the generic layer (not the profile one).

This commit was SVN r16950.
2007-12-13 01:06:55 +00:00
George Bosilca
148916b3e4 Avoid a compiler warning about the function being defined but not
used when we compile the profiling layer.

This commit was SVN r16909.
2007-12-10 00:19:58 +00:00
George Bosilca
90e337f2fc Correct the prototype of the profiling functions. Make sure the _class variable is
only defined when we build the normal version (not in the profiling compilation step).
Make sure the conversion_null function compil in all cases.

This commit was SVN r16908.
2007-12-09 15:51:10 +00:00
Jeff Squyres
26d8fe70c3 Fixes trac:1029: add in support for MPI_CONVERSION_FN_NULL.
This commit brings over all the work from the /tmp-public/datarep
branch.  See commits r16855, r16859, r16860 for the highlights of what
was done.

This commit was SVN r16891.

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

The following Trac tickets were found above:
  Ticket 1029 --> https://svn.open-mpi.org/trac/ompi/ticket/1029
2007-12-07 13:09:07 +00:00
Jeff Squyres
b9106a0d25 Back out r16836 and put in a big comment why.
This commit was SVN r16872.

The following SVN revision numbers were found above:
  r16836 --> open-mpi/ompi@6b9048fc6d
2007-12-06 18:45:21 +00:00
Jeff Squyres
a5798803aa Remove kruft
This commit was SVN r16852.
2007-12-05 14:03:12 +00:00
Edgar Gabriel
6b9048fc6d check for MPI_GROUP_EMPTY before freeing a group.
fixes: 1110

This commit was SVN r16836.
2007-12-04 16:13:27 +00:00
Jeff Squyres
33b3d802a6 Oops -- meant to say 10^-6, not 10^-3.
This commit was SVN r16776.
2007-11-27 22:36:52 +00:00
Jeff Squyres
cf98657adb * Clean up a little #if logic in MPI_WTICK / MPI_WTIME
* Update MPI_WTICK / MPI_WTIME man pages:
   * Fix C++ declarations
   * Note that we may use better than gettimeofday() on some platforms
 * Add "MPI_WTIME support" ("options:mpi-wtime") flag in ompi_info
   output indicating whether we use "native" or "gettimeofday" for
   MPI_WTIME

This commit was SVN r16774.
2007-11-26 18:23:53 +00:00
Ethan Mallove
005652c9d4 * Embed ident strings into the Open MPI libraries using one of the following
methods (in order of precedence):
  1. #pragma ident <ident string> (e.g., Intel and Sun)
  1. #ident <ident string> (e.g., GCC)
  1. static const char ident[] = <ident string> (all others)
By default, the ident string used is the standard Open MPI version string. Only
the following libraries will get the embedded version strings (e.g., DSOs will
not):
  * libmpi.so
  * libmpi_cxx.so
  * libmpi_f77.so
  * libopen-pal.so
  * libopen-rte.so
* Added two new configure options:
  * `--with-package-name="STRING"` (defaults to "Open MPI username@hostname
    Distribution"). `STRING` is displayed by `ompi_info` next to the "Package"
    heading.
  * `--with-ident-string="STRING"` (defaults to the standard Open MPI version
    string - e.g., X.Y.Zr######). `%VERSION%` will expand to the Open MPI
    version string if it is supplied to this configure option.

This commit was SVN r16644.
2007-11-03 02:40:22 +00:00
Josh Hursey
7437f37e96 This commit contains the following:
* Fix some missing includes in a few places.
 * Add the cr_request() functionality to the BLCR CRS component.
   We are now dependent upon the 0.6.* series of BLCR.
 * Made the CR notification mechanism a registered function.
   This way we can have an OPAL-only version and it can be replaced at
   runtime with the ORTE version.
 * Add a 'opal_cr_allow_opal_only' parameter that will enable OPAL-only
   CR functionality when the user wants it. Default: Disabled.
 * Fix the placement of a checkpoint request check in MPI_Init
 * Pull the OPAL notification mechanism into the SnapC framework.
   * We no longer fork/exec the 'opal-checkpoint' command for local
   checkpointing, the Local coordinator in the orted does this directly.
   * The Local and Application coordinator talk together bypassing the OPAL
   notifiation mechanism.
   * Optimized the Local <-> App Coordinator communication.
   * Improved the structure used to track vpid_snapshots in the local coord.
 * Fix a race condition in which an application under heavy communication load
   may produce an inconsistent global checkpoint.

This commit was SVN r16389.
2007-10-08 20:53:02 +00:00
Andrew Friedley
069e6dc4a0 Fix a bug introduced when the collective selection logic was changed to allow for a different component to be used for each collective.
Passing the barrier module to the bcast function is a bad idea when barrier is using a different component from bcast..

This commit was SVN r16212.
2007-09-25 17:09:52 +00:00
Tim Prins
38fde640ad Fix builds on FreeBSD by renaming strings.h to f77_strings.h so that our file does not get accidently included by FreeBSD's string.h.
Thanks to Karol Mroz for pointing out the problem.

This commit was SVN r16164.
2007-09-19 23:24:23 +00:00
Tim Prins
4033a40e4e Coding standards...
This commit was SVN r16118.
2007-09-13 14:00:59 +00:00
George Bosilca
bfb4ddc3e2 Coverty: remove dead code.
This commit was SVN r16106.
2007-09-12 17:56:33 +00:00
George Bosilca
8622beda54 This commit should fix the issues with ticket 1065. Now, we correctly
duplicate the MPI_UB and MPI_LB datatypes.

This commit was SVN r16083.
2007-09-10 22:13:42 +00:00
George Bosilca
756eee571e Fix Coverty #24. This test didn't make sense in this branch of the if.
This commit was SVN r16001.
2007-08-29 02:02:19 +00:00
Jeff Squyres
f08cce16db Fix Coverity CID 468: remove unused variable.
This commit was SVN r15996.
2007-08-29 01:21:17 +00:00
Jeff Squyres
b69c7688a0 Fix Coverity defect 676: possible NULL dereference in an error
condition.

This commit was SVN r15956.
2007-08-25 12:17:02 +00:00
Brian Barrett
af4e86c25f Update collectives selection logic to allow for multiple components to be
used at nce (up to one unique collective module per collective function).
Matches r15795:15921 of the tmp/bwb-coll-select branch

This commit was SVN r15924.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r15795
  r15921
2007-08-19 03:37:49 +00:00
Brian Barrett
2b8af283de Add ability to completely turn off MPI one-sided support, so that users
can experiment with using ROMIO directly.

This commit was SVN r15922.
2007-08-18 21:35:51 +00:00
Mohamad Chaarawi
8c458b0ee7 removing unused variables, that cause warnings..
This commit was SVN r15791.
2007-08-07 15:13:46 +00:00
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
Shiqing Fan
0f468f3668 - Remove the solution and project files, will commit them later.
This commit was SVN r15705.
2007-07-31 17:07:02 +00:00
Sven Stork
27422e05ac - add parameter check for NULL pointer
This commit was SVN r15697.
2007-07-31 09:01:39 +00:00
Sven Stork
80cdafb8f4 - remove dead code found by coverity
This commit was SVN r15685.
2007-07-30 15:36:00 +00:00
Sven Stork
855434de59 - fixes several coverty issues
- add missing initialisation for variables
  - use strncpy instead of strcpy

This commit was SVN r15683.
2007-07-30 14:44:37 +00:00
Jeff Squyres
327576b2a3 Fix incorrect behavior noted by Lisandro Dalcini: when MPI_COMM_SELF is
passed to MPI_COMM_FREE, it invoked the error handler on
MPI_COMM_WORLD, not on MPI_COMM_FREE.  This commit changes the
behavior: if MPI_COMM_SELF is passed to MPI_COMM_FREE, we invoke the
error handler on MPI_COMM_SELF (not MPI_COMM_WORLD).  Fixes trac:1109.

This commit was SVN r15682.

The following Trac tickets were found above:
  Ticket 1109 --> https://svn.open-mpi.org/trac/ompi/ticket/1109
2007-07-30 13:01:33 +00:00
Shiqing Fan
4d7b349cdb - Add VC8 solution and project files.
- If one wants to use this solution, remember to unload the project 'orte-restart' which is currently not working for Windows.

This commit was SVN r15680.
2007-07-30 11:05:34 +00:00
Rainer Keller
1dbbfc04b7 - Rename rank to tmp_rank to get rid of warning
This commit was SVN r15672.
2007-07-29 12:56:02 +00:00
Rainer Keller
bb2d0b45cd - Coverity CID37: if requests == NULL, do not deref requests[i] for
multi-completion calls. Therefore reorder tests where appropriate.
 - Always check for NULL-pointers (flag, index, completed) (yes, we
   use them in the underlying ompi_request_* functions.
 - Break early, if a NULL-request is found

This commit was SVN r15671.
2007-07-29 12:54:21 +00:00
Rainer Keller
4ff78f8e2d - Coverity: Just as init.c -- we do not have a communicator yet;
so do not use OMPI_ERRHANDLER_RETURN which dereferences NULL...

This commit was SVN r15670.
2007-07-29 11:47:19 +00:00
Sven Stork
c0812a8217 - export missing fortran 90 symbols
This commit was SVN r15634.
2007-07-26 12:58:28 +00:00
Jeff Squyres
71d6c5b811 Arf. Remove a debugging printf. Thanks to Christian for noticing...
This commit was SVN r15605.
2007-07-25 11:00:18 +00:00
Jeff Squyres
e80b7e9dde If MPI_ALLOC_MEM is invoked with a 0 sized request, return NULL. If
MPI_FREE_MEM is invoked with NULL, return success.

Fixes trac:1101.

This commit was SVN r15593.

The following Trac tickets were found above:
  Ticket 1101 --> https://svn.open-mpi.org/trac/ompi/ticket/1101
2007-07-25 01:00:30 +00:00