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

50 Коммитов

Автор SHA1 Сообщение Дата
Brian Barrett
1479a90b39 * assert() that endianness doesn't need to change if we are sending RDMA headers
around, since OB1 currently doesn't do the right thing there, but that should
  not happen in the near future because the R2 BML should not make any RDMA
  networks available between machines with different architectures
* Clean up the #ifs a little bit so that we don't do unneeded work when
  on big endian machines and heterogeneous support is disabled...

This commit was SVN r9184.
2006-02-28 19:54:46 +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
Rainer Keller
45e3415bb5 - With the change from MCA_PML_OB1_FREE in r8945 to the send/recv
counterparts, the reset to MPI_REQUEST_NULL of the upper
   struct ompi_request_t was broken. Nightly mpi_test_suite
   failed, e.g.
   mpirun -np 2 ./mpi_test_suite -t "Ring Isend"

This commit was SVN r9028.

The following SVN revision numbers were found above:
  r8945 --> open-mpi/ompi@83f83e5730
2006-02-14 09:09:05 +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
George Bosilca
a4619b1a11 Remove a compilation warning from the RDMA engine.
Correct the problem introduced by the commit 8933 (thanks Tim). In order to avoid to much
trafic on the bus we do not compute the bytes_delivered (require an atomic size_t add)
we have to set it in the begining or otherwise we will report the wrong count in the
MPI status.

This commit was SVN r8968.
2006-02-10 21:14:08 +00:00
George Bosilca
0376dce258 Keep track of the ompi_proc in the comm_proc. This avoid a lookup for the processor and
simplify the execution path. The peer proc (ompi_proc_t) is set at the matching stage.

This commit was SVN r8962.
2006-02-10 18:55:43 +00:00
Galen Shipman
44fe6c3896 allow pml pipeline to cache memory registrations
to enable this (off by default) use: 
-mca pml_ob1_leave_pinned_pipeline 1 
!!AND!!!
-mca mpool_use_mem_hooks 1 

This commit was SVN r8949.
2006-02-09 15:49:51 +00:00
George Bosilca
83f83e5730 Specialize the MCA_PML_OB1_FREE macro. When we call this macro we already know what kind
of request we are playing with (send or receive). Therefore, it's useless to have another
switch inside this macro and make the code bigger. Now, we have 2 versions
MCA_PML_OB1_SEND_REQUEST_FREE and MCA_PML_OB1_RECV_REQUEST_FREE.

This commit was SVN r8945.
2006-02-08 22:42:00 +00:00
George Bosilca
0775c88a9b Remove all unused variables.--This line, and those below, will be ignored--
M    ob1/pml_ob1_recvreq.c

This commit was SVN r8934.
2006-02-08 07:20:48 +00:00
George Bosilca
e9706e6db0 Remove the macro to compute the length of the segments from the send header
and add a new macro that can be used for both sends and receives.
Move to atomic operations to manage the length of the sended or received
status. There is one instance where the atomic operation is not required
as the code can cannot be executed in same time by 2 differents threads.

This commit was SVN r8933.
2006-02-08 06:03:54 +00:00
George Bosilca
eb1d2dd290 Working down the latency (0.2 micro-sec on a Xeon 2Ghz) by removing the
second instance of the ompi_proc from the send and receive request. This
information is already available on the base request, so there is no
need for duplication. The drawback is that now (in order to avoid a
second lookup in the communicator array of procs) we have to set the base
proc in the PML's _ALLOC macro.

This commit was SVN r8900.
2006-02-05 06:13:07 +00:00
George Bosilca
a2f31b2bf6 Use the MCA_PML_BASE_REQUEST_MPI_COMPLETE macro to set the completed state to true.
Add back the mutex protection around the size computations as they are not yet atomic
operations.

This commit was SVN r8812.
2006-01-25 23:17:17 +00:00
Jeff Squyres
bd2524378a Remove unused variable
This commit was SVN r8784.
2006-01-22 12:20:01 +00:00
Rainer Keller
a437fd3aaf - As with George's r8771, move lock/unlock of ompi_request_lock into the
if-clause, getting rid of local schedule variable.

This commit was SVN r8778.

The following SVN revision numbers were found above:
  r8771 --> open-mpi/ompi@2fadddebc8
2006-01-21 21:02:35 +00:00
Tim Woodall
d7c1c23e3f corrections for handling probe with out of order delivery
- when processing out of order list - reset match to null on each iteration
- check matched request type and if probe - complete probe and queue fragment
  on unexpected list

This commit was SVN r8339.
2005-11-30 17:57:59 +00:00
George Bosilca
c4e843ae08 A little add to the comment.
This commit was SVN r8143.
2005-11-13 23:01:41 +00:00
Tim Woodall
607f62accd - pass a flag to the peer indicating wether data is contiguous at the soure
- only attempt to schedule rdma if contiguous at both src/dst
- need to review this for next release 

This commit was SVN r8119.
2005-11-11 15:33:25 +00:00
Tim Woodall
4c7c277b0a improve the scalability of MPI_Waitall ...
note that any code that sets a request to a completed state must
now increment a counter for every completed request

This commit was SVN r8073.
2005-11-10 00:45:27 +00:00
Jeff Squyres
42ec26e640 Update the copyright notices for IU and UTK.
This commit was SVN r7999.
2005-11-05 19:57:48 +00:00
George Bosilca
d916e0c5b4 The (I hope) final solution for the convertor problem. As all the PML inherit
the base send and receive request from the pml_base, we can solve our problem
if we construct the convertor attached to any request in the pml_base_construct
function. At the end of the life time for each request (here life time is 
related to one utilisation, without taking in account the cache) we release
all information attached to the convertors in the _FINI macro by calling the
ompi_convertor_cleanup.

This commit was SVN r7910.
2005-10-28 03:26:36 +00:00
George Bosilca
1d75b7972f Solve thee problem with the reference count on the datatype (RT bug 1492). The problem is that the
convertor (when prepared) increase the reference count on the used datatype. This reference count
will be released only when the OBJ_DESTRUCT is called on a convertor. However, having to call
OBJ_CONSTRUCT and OBJ_DESTRUCT on each request every time we want to use it (even when it come
from the cache) is an expensive operation. This can be avoided is the OBJ_DESTRUCT will leave the
convertor in exactly the same state as OBJ_CONSTRUCT. With this approach we just have to call
OBJ_CONSTRUCT for each convertor once when we initially create the request.

This commit was SVN r7813.
2005-10-19 20:57:39 +00:00
Jeff Squyres
f9974f72e0 construct/destruct convertor when requests are
constructed and allocated to free lists

This commit was SVN r7791.
2005-10-18 12:19:43 +00:00
Tim Woodall
22f460bdc5 merge in changes from release branch
This commit was SVN r7737.
2005-10-12 20:24:43 +00:00
Tim Woodall
6da9561ea8 merge in correction from v1.0
This commit was SVN r7732.
2005-10-12 16:40:52 +00:00
Tim Woodall
4a71621410 merge in scheduling changes from release branch
This commit was SVN r7699.
2005-10-11 20:41:51 +00:00
Tim Woodall
c05ef28f6e - added routine to ompi_pointer_array to remove array contents
- corrected memory hook callback to catch all allocations (need to optimize this)
- don't attempt to consolidate allocations

This commit was SVN r7600.
2005-10-03 23:29:26 +00:00
Galen Shipman
c1f5543f62 need to call mpool_release on all registrations obtained in the pml.
sanity checks 

This commit was SVN r7530.
2005-09-28 04:49:40 +00:00
Tim Woodall
9791c066e8 dont attempt to pin the receive buffer if data has
already been received

This commit was SVN r7475.
2005-09-21 23:23:47 +00:00
Tim Woodall
6ae2ae4d1a - code cleanup
- correct mpi semantics

This commit was SVN r7390.
2005-09-15 18:47:59 +00:00
Tim Woodall
ee58631c82 corrections for probe/iprobe
This commit was SVN r7342.
2005-09-13 16:45:41 +00:00
Galen Shipman
d932cfd342 merge of rcache work into the trunk.. lotsa fun ;-)..
I regression tested before the merge, I will regression test tonight and
correct issues that might have crept in. 

This commit was SVN r7329.
2005-09-12 22:28:23 +00:00
Tim Woodall
4fbf7965e3 check for rdma btls when leave pinned is set
This commit was SVN r7151.
2005-09-02 15:04:47 +00:00
Galen Shipman
53a0b37946 free the descriptor, don't cache it.
This commit was SVN r6991.
2005-08-23 23:49:07 +00:00
Tim Woodall
08a90e4318 work in progress
This commit was SVN r6990.
2005-08-23 23:05:01 +00:00
Tim Woodall
95bf77fc8d corrections for rdma pipeline
This commit was SVN r6926.
2005-08-18 17:06:35 +00:00
Tim Woodall
f274f524ab - added get based protocol (if supported by btl) for pre-registered memory
- removed 8 bytes from the majority of the pml headers 

This commit was SVN r6916.
2005-08-17 18:23:38 +00:00
Tim Woodall
dc3e8bf041 ack is not required if we are going to do rdma remainder of the message
This commit was SVN r6893.
2005-08-15 22:30:52 +00:00
Galen Shipman
adb20d6fcf fix sync send..
This commit was SVN r6875.
2005-08-14 22:10:08 +00:00
Galen Shipman
c3c83aa3e1 BML (BTL Managment Layer). Allows BTL's to be used outside of the PML. See
bml.h and PML-OB1 for usage. 

This commit was SVN r6815.
2005-08-12 02:41:14 +00:00
Tim Woodall
e9ca560f16 corrections for probe/iprobe
This commit was SVN r6770.
2005-08-08 21:07:12 +00:00
Brian Barrett
24116a3935 * fix up a bunch of threading issues when progress and/or mpi threads
are enabled.  Mostly just ADD32 -> ADD_SIZE_T issues and naming of
  variables in THREAD_{LOCK,UNLOCK}

This commit was SVN r6706.
2005-08-02 17:36:01 +00:00
Tim Woodall
b2ec71a609 correct for case where eager limit is greater than min_rdma_size
This commit was SVN r6663.
2005-07-28 19:35:47 +00:00
George Bosilca
3b52a31e1f Make some compilers quiet. Otherwise they complain about uninitialized variables even if
the logic inside prevent an execution path where they can be used uninitialized.

This commit was SVN r6560.
2005-07-20 06:47:10 +00:00
Tim Woodall
0423d414ef - correction for sync send
- now passing all of the intel p2p list

This commit was SVN r6543.
2005-07-18 18:54:25 +00:00
Tim Woodall
025dcfa80b dont try and pack zero byte message
This commit was SVN r6532.
2005-07-15 20:58:11 +00:00
Tim Woodall
11f1f067c2 use the btls min rdma size as the cutoff (rdma offset) for the send protocol
This commit was SVN r6372.
2005-07-07 22:08:56 +00:00
Brian Barrett
a13166b500 * rename ompi_output to opal_output
This commit was SVN r6329.
2005-07-03 23:31:27 +00:00
Brian Barrett
39dbeeedfb * rename locking code from ompi to opal
This commit was SVN r6327.
2005-07-03 22:45:48 +00:00
Brian Barrett
761402f95f * rename ompi_list to opal_list
This commit was SVN r6322.
2005-07-03 16:22:16 +00:00
Jeff Squyres
4ab17f019b Rename src -> ompi
This commit was SVN r6269.
2005-07-02 13:43:57 +00:00