1
1

1929 Коммитов

Автор SHA1 Сообщение Дата
George Bosilca
6b7467ea4d NULL is not an option ...
This commit was SVN r10779.
2006-07-13 07:38:35 +00:00
George Bosilca
7602066c4d The next and prev items cannot be NULL. The limit is the sentinel item.
This commit was SVN r10778.
2006-07-13 07:32:13 +00:00
George Bosilca
a43eb4b43e It's not about how much memory we use, but about how we use it.
Keeping the cache misses as low as possible is always a good approach.
The opal_list_t is widely used, it should be a highly optimized class.
The same functionality can be reached with one one sentinel instead
of 2 currently used.
I don't have anything against the STL version, but so far nothing can
compare with the Knuth algorithm. I replace the current implementation
with a modified version of the Knuth algorithm (the one described in
The Art of Computer Programming). As expected, the latency went down.

This commit was SVN r10776.
2006-07-13 04:56:15 +00:00
George Bosilca
9f927dc7c1 Minor cleanups. On the OB1 PML the endpoint is not used => remove it from the build.
There was some old code regarding the convertor which does not have to be there
(the problem was corrected a while ago). In the PML we already know how the progress
function is defined, so call the BML progress instead, which will save one function
call. 

The macro MCA_PML_OB1_COMPUTE_SEGMENT_LENGTH is already defined in the pml_ob1.h
so it should not be in the endpoint.h.
Remove a double definition of the mca_pml_ob1_progress function in the pml_ob1.h.

This commit was SVN r10775.
2006-07-13 00:07:13 +00:00
George Bosilca
d00e6e29e8 Create a close function for the mpool SM module, in order to allow the cleanup. The
mca_common_sm_mmap file was left over by the SM mpool, and there was nobody able
to unmap and unlink it.

This commit was SVN r10770.
2006-07-12 22:12:07 +00:00
Brian Barrett
ca5bd805db * add missing continuation line
This commit was SVN r10758.
2006-07-12 14:33:08 +00:00
George Bosilca
fd39203262 As the self proc is marked as local, there will always be at least one local
proc. Don't create the SM file until we really know there is someone lse on
the same node.

This commit was SVN r10740.
2006-07-11 17:05:13 +00:00
George Bosilca
a08f087447 Add the last value to the switch.
This commit was SVN r10738.
2006-07-11 15:59:38 +00:00
George Bosilca
623dd3357d Create another enum item that means the attribute is not initialized. The problem,
was that the compilers complain about setting a variable of an enum type to something
not in the enum.

This commit was SVN r10737.
2006-07-11 15:28:32 +00:00
George Bosilca
40f7d054f2 No more unused variables ...
This commit was SVN r10735.
2006-07-11 15:24:57 +00:00
Jeff Squyres
80597b9d08 George found that a whole bunch of lines still had tabs in them
(apparently from long, long ago).  This commit is solely changing tabs
to spaces -- no functionality or other changes.

This commit was SVN r10731.
2006-07-11 13:57:39 +00:00
George Bosilca
e2ebd1efcc Protect header file.
This commit was SVN r10720.
2006-07-11 05:38:12 +00:00
George Bosilca
ee6fab783d SwitchToThread is not defined by any library. Not even by the kernel32.lib
as noted in the MSDN documentation. At least not on my WinXP Pro box.

This commit was SVN r10719.
2006-07-11 05:36:04 +00:00
George Bosilca
14b3f141db Nothing relevant !!!
This commit was SVN r10711.
2006-07-11 00:30:26 +00:00
George Bosilca
5666bece6a Don't update the base pointer when we finish unpacking a partial data.
This commit was SVN r10710.
2006-07-11 00:22:58 +00:00
Galen Shipman
68ae99123d fix bsend completion..
This commit was SVN r10709.
2006-07-10 22:27:32 +00:00
Galen Shipman
9a1221bf7d fix buffered sends (don't use blocking sends!)
removed inaccurate comment.. 

This commit was SVN r10703.
2006-07-10 16:11:14 +00:00
Andrew Friedley
b7e0484c37 Give up on dat_ep_query() and instead manually send our address information across the wire after connection establishment.
I've introduced a race condition - seeing occasional LOCAL_LENGTH errors on the receive side.  I think I'm mixing up eager/max somehow - will look at it more on monday.

This commit was SVN r10690.
2006-07-07 21:48:16 +00:00
Galen Shipman
5085061475 don't call unpack when we received directly into the user buffer.. the
convertor doesn't handle it properly
continue peeking until we don't get anything else.. 
close the endpoint before closing the library.. 
add a blocking send that uses mx_test .. 

This commit was SVN r10684.
2006-07-06 19:54:13 +00:00
Brian Barrett
cba9b1e6b7 * the POrtals MTL is now stable enough to not have it ompi ignored
This commit was SVN r10682.
2006-07-06 18:26:48 +00:00
Brian Barrett
58ce434292 * remove the broken, defunct portals PML. Not needed anymore, since we can
do the same basic thing with the MTL design

This commit was SVN r10681.
2006-07-06 18:24:08 +00:00
George Bosilca
476c9e64df Don't keep multiples copies of the datatype and count. The only one we really need
is the one provided by the user. For the buffered send the real datatype used
for the communication is always MPI_BYTE and the count can be retrieved from
the req_bytes_packed field. This will decrease the size of the request by
one pointer and one size_t (8 bytes or 16 bytes depending on the architecture).

This commit was SVN r10680.
2006-07-06 17:58:25 +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
ef6b7e170f * make mtl datatype wrapper code inline functions
This commit was SVN r10678.
2006-07-06 15:58:07 +00:00
Galen Shipman
2217fd4003 reset receive request convertor for persistent requests
We can always call unpack.. 

This commit was SVN r10677.
2006-07-06 15:13:26 +00:00
Brian Barrett
ef8c6a249b * Fix up some direct-calling issues for the PML/MTL
This commit was SVN r10676.
2006-07-06 15:12:38 +00:00
Brian Barrett
95118f83f6 * complete all outstanding Portals events before shutting down
* Remove all knowledge of PML requests from the Portals MTL

This commit was SVN r10675.
2006-07-06 14:33:29 +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
Gleb Natapov
e05ec69dc4 print "flush error" only once.
This commit was SVN r10672.
2006-07-06 08:03:01 +00:00
Gleb Natapov
9b0807e547 Put pending fragment on the right waiting list.
This commit was SVN r10671.
2006-07-06 07:51:23 +00:00
George Bosilca
01a59d68da Do not generate the XFER_BEGIN and XFER_END events if the length of
the data is zero, for both the receives and the sends.

This commit was SVN r10670.
2006-07-05 23:39:13 +00:00
Brian Barrett
c793ad0a3d unpack the amount received, not the amount we had space to receive.
This commit was SVN r10669.
2006-07-05 22:31:29 +00:00
Galen Shipman
c933c0f65f unpack the length actually received, not the length posted..
This commit was SVN r10668.
2006-07-05 22:16:46 +00:00
Brian Barrett
3e29949cc8 * Fix shutdown code in utcp portals code
* make all sends long sends for now in Portals MTL
* More optimized match check

This commit was SVN r10667.
2006-07-05 21:46:45 +00:00
Galen Shipman
fe480cd003 change mask bits and don't call convertor if we received directly into the
user buffer.. 

This commit was SVN r10665.
2006-07-05 21:10:09 +00:00
Jeff Squyres
429c25095e Fix for bug #176.
* Fix for two problems introduced by r10661:
   1. ensure to use the key ''after'' it is initialized (sigh).
   1. handle the case where we free the attrkey before it is fully
      initialized (i.e., some other error causes us to free it).  In
      this case, don't try to remove the key from the hash map,
      because it won't exist.
 * More accurate zeroing in the keyval constructor
   (ompi_attrkey_item_constructor)
 * Widen the scope of the alock such that the attrkey destructor does
   not need to acquire it.  Instead, assume that the caller already
   has it.
 * Add a comment about why the keyval may get destroyed as the result
   of deleting an attribute (so that I don't have to figure it out
   again the next time I read this code :-) )

This commit was SVN r10664.

The following SVN revision numbers were found above:
  r10661 --> open-mpi/ompi@fdba2c9df0
2006-07-05 20:23:08 +00:00
George Bosilca
6265625983 Generate the XFER_CONTINUE PERUSE event (or the receive) before unpacking the data.
This commit was SVN r10663.
2006-07-05 19:45:00 +00:00
Jeff Squyres
fdba2c9df0 Per the analysis in bug #184, move some assignments around to effect
thread safety.  This is likely to be only the first of multiple steps
for complete thread safety in the MPI attribute code.  All tests
[continue to] pass the intel and ibm attribute tests.

Also renamed a variable from "attr" to "attrkey" to reflect that it's
a keyval, not an attribute.

This commit was SVN r10661.
2006-07-05 17:37:17 +00:00
Brian Barrett
4ee4acb6a6 * ignore some Cray-only code when not on the Cray machine
This commit was SVN r10660.
2006-07-05 17:16:27 +00:00
Brian Barrett
043153dad3 * fix opal_list_item_t -> ompi_free_list_item_t type change
This commit was SVN r10659.
2006-07-05 17:02:16 +00:00
Rainer Keller
23d3628691 - Declare and initialize the peruse_handle_list_lock
This commit was SVN r10656.
2006-07-05 13:48:25 +00:00
George Bosilca
d2bf3844e9 Include the header file which define opal_output.
This commit was SVN r10648.
2006-07-04 06:23:01 +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
402a03d229 Add a .h dependency in order to remove a warning when we compile without --enable-debug.
This commit was SVN r10646.
2006-07-04 04:53:38 +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
7d12f9119a * make sure to include post_configure.sh in the dist tarball, so that
direct calling the ob1 pml works properly.

This commit was SVN r10644.
2006-07-04 04:03:58 +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
Graham Fagg
f10c21b746 corrected mca param description and algorithm count
(now to find out why I have disallowed direct calling fo the bm tree)

This commit was SVN r10603.
2006-06-30 23:22:49 +00:00
Josh Hursey
2edf1511fd Closes ticket #173 : Split name linking up for orte/ompi shared tools.
This moves the logic to create the symbolic links for:
 - mpirun
 - mpiexec
 - ompi-ps
 - ompi-clean
and their respective man pages to the ompi level from
the orte layer.

This is a bit pedantic, but orte shouldn't be doing the
work of ompi since that is a bit of an abstraction break.

Note: need to autogen.sh to get this. Sorry :(

This commit was SVN r10602.
2006-06-30 22:01:56 +00:00
Graham Fagg
f64cbbe8f2 ops. some decisions used extent rather than size for decision making
yes this means it WAS possible for two nodes to choice two different algorithms
(discovered by Doug Gregor and figured out by George)
Also changed some names like size to comsize so we know which sizes we are using where
This should be updated in al versions

This commit was SVN r10601.
2006-06-30 21:49:04 +00:00