call to the _UNPACK macro, in the case where the length of the received data
is zero. This might happens on the PUT protocol.
This commit was SVN r10431.
We support all the events in the PERUSE specifications, but right now only one event
of each type can be attached to a communicator. This will be worked out in the future.
The events were places in such a way, that we will be able to measure the overhead
for our threading implementation (the cost of the synchronization objects).
This commit was SVN r9500.
only as a pointer reference completely confuse some compilers (gcc 4.1
included). Removing the inline (it was there before when the function
was used in the same file) seems to solve the problem. However, the most
strange thing is that the bug only appear when we compile directly in
the trunk directory. It just don't happens when we're using the VPATH
build.
This commit was SVN r9408.
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.
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.
- 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.
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
- 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.
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.
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.
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.
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.
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
- 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.
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.
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.
- corrected memory hook callback to catch all allocations (need to optimize this)
- don't attempt to consolidate allocations
This commit was SVN r7600.