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

19 Коммитов

Автор SHA1 Сообщение Дата
Brian Barrett
a0b40ce45a Fix race condition in setting MPI_ERROR -- with buffered sends, the
request can complete before the operation, meaning that a bogus MPI_ERROR
is read

This commit was SVN r13401.
2007-01-31 21:40:14 +00:00
Brian Barrett
01e8fc5f91 Redo of r12871, without the preconnect code change:
Move the req_mtl structure back to the end of each of the structures in 
the CM PML. The req_mtl structure is cast into a mtl_*_request_structure 
for each MTL, which is larger than the req_mtl itself. The cast will cause
the *_request to overwrite parts of the heavy requests if the req_mtl
isn't the *LAST* thing on each structure (hence the comment). This was 
moved as an optimization at some point, which caused buffer sends to fail...

Refs trac:669

This commit was SVN r12873.

The following SVN revision numbers were found above:
  r12871 --> open-mpi/ompi@597598b712

The following Trac tickets were found above:
  Ticket 669 --> https://svn.open-mpi.org/trac/ompi/ticket/669
2006-12-15 17:54:14 +00:00
Brian Barrett
bdf0b231b2 Undo r12871, as it contained some code in ompi/runtime that shouldn't have been
committed

Refs trac:669

This commit was SVN r12872.

The following SVN revision numbers were found above:
  r12871 --> open-mpi/ompi@597598b712

The following Trac tickets were found above:
  Ticket 669 --> https://svn.open-mpi.org/trac/ompi/ticket/669
2006-12-15 17:52:13 +00:00
Brian Barrett
597598b712 Move the req_mtl structure back to the end of each of the structures in the
CM PML.  The req_mtl structure is cast into a mtl_*_request_structure for
each MTL, which is larger than the req_mtl itself.  The cast will cause
the *_request to overwrite parts of the heavy requests if the req_mtl
isn't the *LAST* thing on each structure (hence the comment).  This was
moved as an optimization at some point, which caused buffer sends to
fail...

Refs trac:669

This commit was SVN r12871.

The following Trac tickets were found above:
  Ticket 669 --> https://svn.open-mpi.org/trac/ompi/ticket/669
2006-12-15 17:46:53 +00:00
George Bosilca
eb45a5e402 Move things around a little bit. Mainly fields from the send and receive
request in the base request. Rearrange the fields to keep the data
together. Remove some useless tests.

This commit was SVN r12482.
2006-11-08 04:58:23 +00:00
Jeff Squyres
e02114dcf3 Fixes trac:529.
* Create a new request type: NOOP (described below)
 * For all MPI_*_INIT functions, OBJ_NEW an ompi_request_t and set its
   type to NOOP
 * Ensure that the NOOP requests are OBJ_RELEASE'd when they are done
 * MPI_START looks at the request type; if NOOP, just return success. If
   not, call the PML start() function
 * MPI_STARTALL always pass the entire array of requests back to the PML
   (see next point)
 * Make the PMLs only process PML requests (i.e., ignore/skip anything
   that isn't of type PML -- such as the NOOP requests)
 * Add a little more param error checking in STARTALL

This commit was SVN r12338.

The following Trac tickets were found above:
  Ticket 529 --> https://svn.open-mpi.org/trac/ompi/ticket/529
2006-10-27 12:32:36 +00:00
George Bosilca
126a68dc9a Big datatype commit. Remove all unused features of the datatype engine. As the memory
allocation logic is completely done outside the data-type engine (in the PML) there is
no need for any special case inside the data-type engine. There is less arguments for
the ompi_convertor_pack and ompi_convertor_unpack as well (the last field free_after is
not required anymore as there is no memory allocated in the engine itself). This change
affect all components using datatypes. I test most of them, but it might happens that I
miss some ... If it's the case please let me know (don't shoot the pianist!!).

This commit was SVN r12331.
2006-10-26 23:11:26 +00:00
George Bosilca
688a16ea78 A long time waiting patch. Get rid of the comm->c_pml_procs. It was (and that was
long ago) supposed to be used as a cache for accessing the PML procs. But in
all of the PMLs the PML proc contain only one field i.e. a pointer to the ompi_proc.
This pointer can be accessed using the c_remote_group easily. Therefore, there is no
meaning of keeping the PML procs around. Slim fast commit ...

This commit was SVN r11730.
2006-09-20 22:14:46 +00:00
George Bosilca
3f0a7cad9e The last patch for Windows support. Mostly casting and conversion to C++ friendly headers.
This commit was SVN r11400.
2006-08-24 16:38:08 +00:00
Brian Barrett
f0afe38293 * Need to retain / release datatype and communicator so that the MPI layer
handles can be freed before communication completes.

This commit was SVN r11248.
2006-08-17 16:30:03 +00:00
Brian Barrett
74e95bc65f * more fixes for ticket #264. We need to keep the original address around,
so use the req_buff field for keeping track of the bsend buffer and the
  req_addr field for the user buffer, the way the comments suggested we
  were doing it

This commit was SVN r11233.
2006-08-16 20:24:28 +00:00
Brian Barrett
0f47949703 * partial fix for #264... We need to return an MPI_ERR_BUFFER if we've run
out of buffer space

This commit was SVN r11229.
2006-08-16 17:32:31 +00:00
Galen Shipman
6ed255f114 Substantial changes to the CM PML, allows us to have a very thin request for
all but buffered and persistent requests. Unfortunately we were note able to
reuse the pml_base_request_t as it was just too heavy for our needs. Lots of
code for 2/10 usec ;-) 

This commit was SVN r10810.
2006-07-14 19:32:26 +00:00
Galen Shipman
68ae99123d fix bsend completion..
This commit was SVN r10709.
2006-07-10 22:27:32 +00:00
Brian Barrett
b7b93e48f5 * can definitely be optimized more, but add code for calling send for MTL
components that have a blocking send implementation

This commit was SVN r10679.
2006-07-06 16:37:59 +00:00
Brian Barrett
26eee59032 * turns out that you should only call bsend_request_alloc or
bsend_request_init, but not both.  Otherwise, you don't free
  some buffer space and end up leaking buffers and ending in
  badness
* since you only call alloc() or init(), but not both, need to 
  restore reference counting in init()

This commit was SVN r10674.
2006-07-06 14:02:51 +00:00
George Bosilca
2bdb06b549 Force the request to NULL in order to avoid complaints from the compiler.
This commit was SVN r10647.
2006-07-04 06:20:13 +00:00
George Bosilca
9ac1a6cdb3 Remove the warnings. Now they are ompi_free_list_item not opal_list_item_t.
This commit was SVN r10645.
2006-07-04 04:21:16 +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