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

48 Коммитов

Автор SHA1 Сообщение Дата
Brian Barrett
e0555889a9 * RMA_SYNC is a more appropriate error message for these than RmA_CONFLICT
* Print a warning error message if a target is not in an exposure epoch
    and an update is received.  This results in the app continuing with
    that call having never happened, rather than evil hangs.

refs trac:325

This commit was SVN r11514.

The following Trac tickets were found above:
  Ticket 325 --> https://svn.open-mpi.org/trac/ompi/ticket/325
2006-08-31 21:07:52 +00:00
George Bosilca
e33c35112b Correct the conversion between int and bool. Apply it on all files except
the one that will be modified by Ralph for the ORTE 2.0. The missing ones
are in the rsh PLS.

This commit was SVN r11476.
2006-08-28 18:59:16 +00:00
Brian Barrett
c1a77b921d Need to add/subtract modes when dealing with PWSC, since a given window
can be in both a Post and Start state.  Also, the asserts were only
correct assuming that we were never in the post and start state at the
same time, which was obviously silly.

refs trac:303

This commit was SVN r11428.

The following Trac tickets were found above:
  Ticket 303 --> https://svn.open-mpi.org/trac/ompi/ticket/303
2006-08-25 20:39:33 +00:00
George Bosilca
c8daf226b6 Export the RDMA OSC.
This commit was SVN r11417.
2006-08-24 21:17:31 +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
31a51c73d9 * fix dumb typo
This commit was SVN r11246.
2006-08-17 15:57:49 +00:00
Brian Barrett
df84dbad00 * use the osc base debugging stream for all output, and do the whole
verbose MCA param thing instead of changing -1 to 0 and back in the
  output stream param.

This commit was SVN r11245.
2006-08-17 14:52:20 +00:00
Brian Barrett
9f28258b3f * squelch stupid compiler warning
This commit was SVN r11111.
2006-08-03 14:42:05 +00:00
Brian Barrett
f98d4cd706 * this is now safe to use
This commit was SVN r11105.
2006-08-03 00:20:02 +00:00
Brian Barrett
0ba0a60ada * Merge in new version of the pt2pt one-sided communication component,
implemented entirely on top of the PML.  This allows us to have a
  one-sided interface even when we are using the CM PML and MTLs for
  point-to-point transport (and therefore not using the BML/BTLs)
* Old pt2pt component was renamed "rdma", as it will soon be having
  real RDMA support added to it.

Work was done in a temporary branch.  Commit is the result of the
merge command:

  svn merge -r10862:11099 https://svn.open-mpi.org/svn/ompi/tmp/bwb-osc-pt2pt

This commit was SVN r11100.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r10862
  r11099
2006-08-03 00:10:19 +00:00
Brian Barrett
28b99299b2 * add new component (RDMA) for RDMA one-sided communication
This commit was SVN r10861.
2006-07-17 22:08:55 +00:00
Brian Barrett
2185c059e8 * use opal_free_list_item_t as the type of items stored in an opal_free_list_t,
rather than assuing it's an opal_list_item_t.

This commit was SVN r10860.
2006-07-17 21:51:50 +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
George Bosilca
c5209aad93 The return value is random. Let's return something that make sense.
This commit was SVN r9805.
2006-05-03 18:17:00 +00:00
Brian Barrett
56f48357b3 * don't try to register callback at init time (will do at window creation time
anyway), so that we can run without ob1

This commit was SVN r9785.
2006-05-01 20:03:03 +00:00
Brian Barrett
1da22f9099 * silence a bunch of compiler warnings on Solaris when using the Sun
compilers.

  This should go to the v1.1 branch

This commit was SVN r9693.
2006-04-23 21:15:09 +00:00
George Bosilca
46c442fe0d We do not have direct access to the module. Grab the one attached to the
window instead.

This commit was SVN r9434.
2006-03-28 05:06:40 +00:00
Brian Barrett
01671f2991 * allow user to set "no_locks" info argument as MCA parameter to override the
default
* Add ability to start Put and Get requests immediately instead of queuing
  until synchronizaion when using Fence.  Not entirely sure this is
  completely safe, so it must be explicitly enabled by the user, either with
  an MCA parameter or info argument to Win_create.

This commit was SVN r9418.
2006-03-24 18:56:59 +00:00
Brian Barrett
6cc582b20e * Fix "make dist" for peruse
* Install peruse.h in $includedir, since applications need to be able
  to include it as <peruse.h>
* Fix issue with onesided code always installing it's headers

This commit was SVN r9405.
2006-03-23 23:41:49 +00:00
Brian Barrett
0750a8a118 * fix (incorrect) GCC warning about using ret uninitialized. Bloody compilers.
This commit was SVN r9353.
2006-03-21 14:10:07 +00:00
Tim Woodall
bd870519fd - modified convertor copy_and_prepare routines to accept an addition
flag, new flags to be included when convertor is initialized
- modified pml/btl module defs and added stub functions for diagnostic
  output routines to dump state of queues / endpoints
- updates to data reliability pml

This commit was SVN r9329.
2006-03-17 18:46:48 +00:00
Brian Barrett
234adb292b * add ability to try a couple of different collectives for fence
synchronization to see which gives the best performance

This commit was SVN r9314.
2006-03-16 18:40:42 +00:00
George Bosilca
612570134f The request management framework has been redesigned. The main idea is
to let the PML (or io, more generally the low level request manager)
to have it's own release function (what was before the req_fini). This
function will only be called from the low level while the req_free will
be called from the upper level (MPI layer) in order to mark the request
as not used by the user anymore.

From the request point of view the requests will be marked as inactive
everytime we read their status (true for persistent as well). As 
MPI_REQUEST_NULL is already marked as inactive, the test and wait functions
are simpler. The drawback is that now we have to change in the
ompi_request_{test|wait} the req_status of the request once we get it's
status.

This commit was SVN r9290.
2006-03-15 22:53:41 +00:00
Brian Barrett
eafdfba0d4 * remove useless debugging output
This commit was SVN r9252.
2006-03-11 03:04:12 +00:00
Brian Barrett
bbfd10fb39 * check for 0 byte movement should happen before trying to allocate a
request, not while trying to allocate a request (duh)

This commit was SVN r9239.
2006-03-10 01:57:01 +00:00
Brian Barrett
e865a751bd * First whack at making the onesided component endian safe. Needs a endian-safe
datatype engine to really give it a whirl ;).

This commit was SVN r9176.
2006-02-27 18:47:00 +00:00
Brian Barrett
285581dff2 More endian-related cleanups:
- moved hton64 and ntoh64 from the bunch of places it had been copied
    into one header file
  - properly set and use the btl_tcp's nbo option to put things in
    network byte order on the wire if both sides don't have the same
    endianness
  - Put the OB1 PML's headers (with a couple exceptions I need to discuss
    with Tim) in network byte order on the wire if both sides don't have
    the same endianness
  - since it was needed for the TCP BTL, move the orte_process_name_t
    HTON and NTOH macros from the TCP OOB to ns_types.h

This commit was SVN r9145.
2006-02-26 00:45:54 +00:00
Brian Barrett
d5e0ea3590 * Post and Start should only check their epoch types for conflicts, otherwise
you can't be in a post and a start at the same time, and that is clearly
  legal to do
* Fix interptretation of when the epochs start for MPI_Fence.  Only start
  an epoch if communication actually occurs, otherwise it isn't actually
  an epoch.  I don't know who thought that wording in the MPI standard
  was a good idea, but can't change it now...

This commit was SVN r9139.
2006-02-24 13:04:15 +00:00
Brian Barrett
27b8430e8f * update MPI_ACCUMULATE to perform it's parameter checking based on what
MPI-2:6.3.4 says about reduction operations
* Have the point-to-point one-sided component spew a warning and return
  an error if a non-predefined datatype is used with an MPI_OP other
  than MPI_REPLACE.  Yes, this violates the MPI standard, but it's the
  best we can do until George and I implement support for figuring out
  where all the locations to update are..

This commit was SVN r9134.
2006-02-23 21:07:49 +00:00
Brian Barrett
c544584387 * fix a race condition where a sendreq could be reused if it was originally
for a Get request and the reply came in before the local completion
  callback was fired from the btl.
* Silence some more debugging output for the moment

This commit was SVN r9130.
2006-02-23 06:02:10 +00:00
Brian Barrett
2db1babd40 * complete the correct group
This commit was SVN r9123.
2006-02-23 02:42:39 +00:00
Brian Barrett
765d2ffc29 * the self btl should set the segment size field on alloc like the other btls
* clean up duplicate free in long message accumulates that looks like it was
  a cut-n-paste error

This commit was SVN r9112.
2006-02-22 16:20:13 +00:00
Brian Barrett
44d13b0bab * add a bunch of (currently disabled) debugging output statements
* fix a silly bug where we weren't adding a long accumulate message to
  the pending long messages list, so we hung if a long accumulate
  occurred.  Still having some memory issues on one of the tests I'm
  running - need to move over to Linux and Valgrind after some sleep.

This commit was SVN r9108.
2006-02-22 05:14:34 +00:00
Brian Barrett
eb7e722588 * clean up some of the debugging in the onesided code so that I can understand
what is going on
* Fix a dumb error where if a lock was released and another was pending, I
  would send a lock *request* to the queued process, rather than giving
  him the lock and sending him a lock *ack*.  Turns out requests and
  acks are different things :)

This commit was SVN r9103.
2006-02-21 18:43:28 +00:00
Brian Barrett
566a050c23 Next step in the project split, mainly source code re-arranging
- move files out of toplevel include/ and etc/, moving it into the
    sub-projects
  - rather than including config headers with <project>/include, 
    have them as <project>
  - require all headers to be included with a project prefix, with
    the exception of the config headers ({opal,orte,ompi}_config.h
    mpi.h, and mpif.h)

This commit was SVN r8985.
2006-02-12 01:33:29 +00:00
Brian Barrett
ec7b60d501 * Fix some error checking code for Lock / Unlock at the MPI layer
* Implement win_lock and win_unlock in the pt2pt component.  Not well
  tested, but appears to move bits if properly motivated...

This commit was SVN r8922.
2006-02-07 18:45:18 +00:00
Brian Barrett
340bf14191 * support non-predefined datatypes for all three communication mechanisms
* rework the thread locking so that it at least makes sense to me.  Still
  need to do a bunch of testing before I'm happy with it, but it's a tad
  bit closer...

This commit was SVN r8918.
2006-02-07 12:16:23 +00:00
George Bosilca
e20265bd2b Dont let any external to the data-type code check directly for the predefined
data-types. Instead, use the newly provided data-type function ompi_ddt_is_predefined..

This commit was SVN r8903.
2006-02-06 18:01:45 +00:00
Brian Barrett
44a516d966 * Clean up error checking in the MPI interface for MPI-2 onesided
* Implement fortran handle -> c handle tracking
* Remove some unneeded locking around free lists (the free list
  macros do their own locking)
* Try to be a bit more memory friendly with the w_mode setting /
  checking

This commit was SVN r8865.
2006-01-31 21:40:12 +00:00
Brian Barrett
762fe70bd1 * Fix uninitialized variable warning. Technically, start's group should be
a subset of win's group, so this should never happen.  But users have
  been known to screw up before, so return a reasonable error.

This commit was SVN r8855.
2006-01-31 15:32:40 +00:00
George Bosilca
42516d0785 Look like the name changed from OSC_PT2PT_DATA to P2P_MODULE.
This commit was SVN r8852.
2006-01-31 06:34:36 +00:00
Brian Barrett
0d507ad970 * Fix a bunch of checks for proper access / exposure epochs
* Add implementation of Post/Wait/Start/Complete synchronization

This commit was SVN r8848.
2006-01-31 02:44:08 +00:00
Brian Barrett
58f074816d * declare the variable names the same way they were used... At least at
some point, I realized having a variable name "new" might cause some
  problems for those people using a C++ compiler to compile C code ;).

This commit was SVN r8846.
2006-01-30 12:16:52 +00:00
George Bosilca
418f1b8986 The module name is ompi_osc_pt2pt_module_t not ompi_osc_p2p_module_t.
This commit was SVN r8843.
2006-01-29 18:00:30 +00:00
George Bosilca
9d9fc78d0e Like in the PML the path to the statically included file have to start
with the sub-project name.

This commit was SVN r8842.
2006-01-29 17:33:45 +00:00
Brian Barrett
d7056e6e2a remove some unneeded debugging output
This commit was SVN r8841.
2006-01-28 19:59:54 +00:00
Brian Barrett
05c9de058c * add missing header include
This commit was SVN r8837.
2006-01-28 16:09:35 +00:00
Brian Barrett
b1d2424013 Merge in present work on the MPI-2 onesided chapter. The current code is not
complete, but stable enough that it will have no impact on general development,
so into the trunk it goes.  Changes in this commit include:

 - Remove the --with option for disabling MPI-2 onesided support.  It
   complicated code, and has no real reason for existing
 - add a framework osc (OneSided Communication) for encapsulating
   all the MPI-2 onesided functionality
 - Modify the MPI interface functions for the MPI-2 onesided chapter
   to properly call the underlying framework and do the required
   error checking
 - Created an osc component pt2pt, which is layered over the BML/BTL
   for communication (although it also uses the PML for long message
   transfers).  Currently, all support functions, all communication
   functions (Put, Get, Accumulate), and the Fence synchronization
   function are implemented.  The PWSC active synchronization
   functions and Lock/Unlock passive synchronization functions are
   still not implemented

This commit was SVN r8836.
2006-01-28 15:38:37 +00:00