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

625 Коммитов

Автор SHA1 Сообщение Дата
Jeff Squyres
97b97f84b8 Next checkpoint in the sm btl fixes:
- Add big comment about a general overview of what the sm btl is doing
- random small code cleanups
- fix instances of mca_btl_sm[0] to mca_btl_sm[1] where relevant
- remove a lot of unused, confusing, and incorrect interface functions
  from ompi_fifo.h and ompi_circular_buffer.h.  These functions, if
  they were used, would not work properly with the scheme that the sm
  btl uses with the fifos (i.e., receiver makes right -- if necessary)
- add some missing offset computations in the fifo and circular buffers
- change the types of offsets to be ssize_t, not size_t
- remove an offset parameter from a function that didn't need it

This commit was SVN r8135.
2005-11-12 22:32:09 +00:00
Jeff Squyres
6444887373 - Add copyright headers to btl_sm_frag.h
- Ensure to convert base_shared_mem_flags to be a relative offset in
  the global storage, and then to convert that back to an absolute
  virtual address before we try to use it
- Don't double increment n_local_procs when calculating the peer rank
  during bootstrapping of the different base address case

Something else is still wrong; if mmap() returns a different base
address, things don't work (i.e., segv or hang forever when you try to
send a message).  More specifically, the bootstrapping now seems to
correctly handle the case when mmap() base addresses are different,
but the message passing does *not* -- it always assumes that the
mmap() base addresses are the same.

Still working on the fix for that -- want to checkpoint what has been
done so far to facilitate working on different machines...

This commit was SVN r8134.
2005-11-12 14:04:46 +00:00
George Bosilca
d8d13f879f When --disable-debug is specified we have to explicitly include the optl/util/output.h header.
This commit was SVN r8133.
2005-11-12 04:03:19 +00:00
Galen Shipman
5a4b1ebdd4 in mca_btl_openib_endpoint_post_send: set opcode on work request before potentially inserting it on pending list..
This commit was SVN r8127.
2005-11-12 02:11:14 +00:00
George Bosilca
e297b58fbd Add more MCA arguments.
Make some of them system (not seems by the user) and read-only.
Small cleanups.

This commit was SVN r8126.
2005-11-12 00:31:59 +00:00
Galen Shipman
5cf2d8d40c default to first available IP address if no matching subnets found..
This commit was SVN r8125.
2005-11-12 00:31:34 +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
Graham Fagg
877f7bbe6a File based dynamic up and tested...
Lots of misc fixes: printfs->opal_output, handles fanin/out correctly for forced ops
unused vars, correct calculations on meaning of 'msgsize' for decision functions
(varies depending on algorithm), etc

This commit was SVN r8113.
2005-11-11 04:49:29 +00:00
Brian Barrett
878676218e Rename opal/memory to opal/memoryhooks because XLC++ on Mac OS X is broken.
When compiling C++ code that includes something that looks for the C++
header file "memory" (stupid C++ headers not having .h extensions), it
goes through the header file search path, which includes $(topsrcdir)/opal,
so it finds the directory $(topsrcdir)/opal/memory/ and tries to load
that as the memory header file and all goes downhill.

This commit was SVN r8111.
2005-11-11 00:26:27 +00:00
Tim Woodall
654ba6d262 srq cleanup
This commit was SVN r8106.
2005-11-10 23:29:54 +00:00
Tim Woodall
2013104d1a SRQ cleanup
This commit was SVN r8104.
2005-11-10 20:51:56 +00:00
Tim Woodall
4a06e8463c port of flow control from mvapi
This commit was SVN r8102.
2005-11-10 20:15:02 +00:00
Tim Woodall
985c2ca943 cleanup
This commit was SVN r8093.
2005-11-10 15:40:27 +00:00
George Bosilca
3507d5e9cd opal/util/output.h is required for optimized builds.
This commit was SVN r8076.
2005-11-10 01:19:27 +00:00
George Bosilca
8119c970db Improve the connection algorithm for MX. There are 2 problems here:
- first we setup the connections in the begining with all the peers
- MX does not handle well the case where several peers make connections to the same
  destination simultaneously.

So I change the order in which we connect. First we compute our rank in the array,
then in a round-robin fashion we setup connection starting with our left neighboard.

This commit was SVN r8075.
2005-11-10 01:15:49 +00:00
George Bosilca
dc1ad885d1 Move the output message outside the loop. We print an error message only once when we fail to
connect to a peer. Bonus, we print some additional informations like its MAC Address or name
if it's on our tables.

This commit was SVN r8074.
2005-11-10 01:13:18 +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
Tim Woodall
62fd74140b decrease socket buffers sizes to same as ptl code
This commit was SVN r8072.
2005-11-10 00:40:55 +00:00
Tim Woodall
2f6d50e0c6 init rdma count
This commit was SVN r8071.
2005-11-10 00:04:25 +00:00
Tim Woodall
b5ed723ea4 - check for null return
- disable debug

This commit was SVN r8070.
2005-11-10 00:02:18 +00:00
Tim Woodall
78c98386d7 should reset the count (for persistent requests)
This commit was SVN r8064.
2005-11-09 22:02:48 +00:00
Tim Woodall
58b46d2da0 return mpool resources when request completes rather than in free
This commit was SVN r8063.
2005-11-09 21:59:01 +00:00
Graham Fagg
6b99301893 extra verbose in debug mode to help occ
This commit was SVN r8061.
2005-11-09 21:01:35 +00:00
Galen Shipman
3079fc2da1 use correct lock for threaded build..
This commit was SVN r8055.
2005-11-09 16:09:05 +00:00
Tim Woodall
78522ed454 send credits on correct qp
This commit was SVN r8050.
2005-11-08 22:59:44 +00:00
Tim Woodall
b4ca28da4b removed debug
This commit was SVN r8046.
2005-11-08 21:41:02 +00:00
Tim Woodall
2d9c509add flow control
This commit was SVN r8039.
2005-11-08 16:50:07 +00:00
Graham Fagg
bcf8744bf6 valgrind saved me from a nasty order of eval error... i.e. derefing slected_data before setting it.
Anyway fixed and no memory leaks in coll tuned so far.

This commit was SVN r8037.
2005-11-08 04:52:30 +00:00
Graham Fagg
5b3ba944a8 Enabled, and running...
todos. turn the debug messages  into ompi ignorables and inot do some ops in ompi_bug mode

This commit was SVN r8036.
2005-11-08 04:43:17 +00:00
Graham Fagg
833b558046 Full configuration file based control of tuned collectives.
(verbose on bad config file and even cleans up after itself enought to make valgrind happy).

This commit was SVN r8035.
2005-11-08 03:36:38 +00:00
Graham Fagg
39207db7cd removed the n-dimmension rule base..
replacing it was simpler code for V1

This commit was SVN r8033.
2005-11-08 03:03:51 +00:00
Graham Fagg
dcd3450e06 simplified the building of different rule sets
(also corrected some prototypes missing 'struct')

This commit was SVN r8003.
2005-11-06 22:05:50 +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
Tim Woodall
e45f4744ee do not return these descriptors to cache
This commit was SVN r7986.
2005-11-03 23:20:38 +00:00
Tim Woodall
26003bc952 fix from release branch - don't use get protocol if more
than one btl is available

This commit was SVN r7984.
2005-11-03 20:52:56 +00:00
Graham Fagg
9547a635a9 snapshot while switching systems
but, dynamic rules from a user defined config file is almost there now

This commit was SVN r7943.
2005-11-01 00:19:05 +00:00
Graham Fagg
fe03e068f2 allow forced algorithms (where the user or *test* suite knows better) to
go through the dynamic decision rule interface.
(forced algorithms are set with MCA params)
fixed some silly verbose output with wrong func name in it etc
updates to fixed dec rules.

This commit was SVN r7940.
2005-10-31 20:45:50 +00:00
Tim Woodall
31eb35c3f1 correct rnr parameter - need to review this code and pass correct data type
This commit was SVN r7936.
2005-10-31 17:18:39 +00:00
Edgar Gabriel
2ec5fa5d24 - The component will remove itself from the list of potential collective
modules, if its priority is zero (the default value). Reason for that is
  + if there is no other module with a priority > 0, the hierarchical
    collective module has a problem anyway, since it has to rely on the coll
    modules of the subcommunicators. On the other hand, if its priority is
    zero, it won't be chosen anyway, and we can simply save the
    allreduce/allgather and comm_split operations which might occur during
    hierarchy detection.
  + to improve the startup times until we have the modex thing which we
    discussed with Jeff and Tim in Knoxville in place

- adding an mca parameter indicating a symmetric configuration. This can 
  speed up startup times, since each process can conclude from its data onto
  the data of the other processes -> no need for the allreduce operations. Per
  default  this parameter is set to "no".

This commit was SVN r7932.
2005-10-30 16:01:13 +00:00
George Bosilca
b0def3f6bf MX has 2 limitations regarding the iovecs. First they do not support iovec witha total size
larger than 32K for inter-nodes transfert ... and then they do not support iovecs larger than
16K for inter-node transfert. Therefore we have to set the size of our first fragment to
16K to match both cases.

This commit was SVN r7926.
2005-10-28 20:37:43 +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
Brian Barrett
bf67c9387b * initialize send request convertor with the correct type (convertor instead
of request).  This fixes at least the bug with NetPIPE in 64bit land that
  Troy was seeing. 

This commit was SVN r7904.
2005-10-27 23:08:27 +00:00
Galen Shipman
4a15761732 add support for srq limit reached async event, even though it doesn't appear
to  be supported by mellanox vapi.. perhaps this will be supported in the near 
future, for now it doesn't hurt to have it in the trunk


Also cleanup the receive descriptor posting macro's.. 

This commit was SVN r7903.
2005-10-27 22:47:19 +00:00
Tim Woodall
3bd5b81dfa Submitted: Gleb Natapov
This commit was SVN r7899.
2005-10-27 17:48:40 +00:00
Tim Woodall
4fc5b2105a this is currently an int - we shouldn't restrict it unless required
This commit was SVN r7895.
2005-10-27 17:06:58 +00:00
Tim Woodall
13409ec53b correction for hang, check for additional fragments before callback,
which may queue a new fragment

This commit was SVN r7889.
2005-10-27 01:39:39 +00:00
Graham Fagg
5bb0d4a053 enable allreduce to be selected
This commit was SVN r7888.
2005-10-26 23:55:37 +00:00
Graham Fagg
2587d7ade9 added some more linear functions.
minor corrections on naming and debug info

This commit was SVN r7887.
2005-10-26 23:51:56 +00:00
Graham Fagg
c3e1dc410d Started to add basic linear functions
Also started to add the allreduce algorithms as I test them
(i.e. if it goes in its after testing from now on)

This commit was SVN r7886.
2005-10-26 23:11:32 +00:00
Jeff Squyres
d47ce065e9 Minor Makefile.am fix for static builds.
This commit was SVN r7882.
2005-10-26 15:57:58 +00:00
Edgar Gabriel
ba3bf6592f fixing some warnings. No idea yet why the static builds fail...
This commit was SVN r7879.
2005-10-26 12:56:56 +00:00
Edgar Gabriel
d009d8de57 opening the hierarchical collective component to the public. I am at this
stage fairly confident that 
- it works in most scenarious (with symmetric hierarchies, with asymmetric
  hierarchies, wihout hierarchies - it just removes itself)
- it does not create too many problems (I am not aware of any at least)
- it does not slow down startup anymore dramatically (thanks to the fixes of
  Brian, Jeff, Tim and a significant reduction in the number of collective
  operations in the comm_query)
Any feedback is highly welcome.

This commit was SVN r7868.
2005-10-25 18:38:43 +00:00
Edgar Gabriel
00c04ab56a moving the hierarch collective component to the new parameter
registration interface.

This commit was SVN r7867.
2005-10-25 18:34:47 +00:00
Graham Fagg
382f05c7ad Infastructure changes.
started to add static (fixed if) statement based decision rules based on gigE numbers
added mca params so that a user can force a certain algorithm/segment/topo on a per collective basis
(this is not in the fixed call path but only in the dynamic (at com create) call path).
(these params can be used by test suites such as OCC to choice which algorithm they are using).

This commit was SVN r7854.
2005-10-25 03:55:58 +00:00
Graham Fagg
d8e32464cb ops. setting/reading mca option from the right varible would help.
This commit was SVN r7850.
2005-10-24 21:33:48 +00:00
Galen Shipman
cb84a57c57 add endpoint and srq flow-control..
Note, we are failing the ring tests in the intel p2p test suite, but we seem
to fail the same tests under the current trunk.. will look into this further. 

This commit was SVN r7823.
2005-10-21 02:21:45 +00:00
Galen Shipman
c4889ac759 update openib mpool to properly deregister and release (carry over from
mvapi). 

Still need to add endpoint and srq flow control as in mvapi 

This commit was SVN r7816.
2005-10-20 03:57:17 +00:00
Galen Shipman
0d1d231169 convert to new mca params, adding description strings.
changed mca param rr_buf_min/max to rd_min/max 
Add bandwidth param to openib 

This commit was SVN r7815.
2005-10-20 02:55:21 +00:00
George Bosilca
75bc3dd43c Dont mess around with the OBJ_DESTRUCT on the communicator. It's quicker (and safer) to call
directly the communicator cleanup function (ompi_convertor_cleanup).

This commit was SVN r7814.
2005-10-19 21:28:52 +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
Brian Barrett
de5e501519 Rather than hard spinning waiting for something to happen when doing shared
memory initialization, call opal_progress() to push any pending events
around and possibly yield the processor if nothing entertaining is happening.

This should probably go to the 1.0 branch.

This commit was SVN r7808.
2005-10-19 00:56:14 +00:00
George Bosilca
d2f831cd18 Construct the convertor attached to the receive request. This should happens only on the first allocation of a request object.
This commit was SVN r7807.
2005-10-18 21:53:05 +00:00
Brian Barrett
bcebd1b6b7 Fix a couple of places where headers didn't get installed correctly when
--with-devel-headers is given to configure:
  * allocator, rcache, and mpool were putting things in the wrong place
  * timer wasn't installing the inline implementations at all

This commit was SVN r7805.
2005-10-18 20:12:55 +00:00
Edgar Gabriel
3a7efaf4d9 fix for reduce and allreduce for an unsymmetric case
This commit was SVN r7802.
2005-10-18 19:20:48 +00:00
Edgar Gabriel
818b4af554 - reverting the logic in the hierarchy detection stuff. This can reduce the
number of collective operations and simplifies the logic significantly.
- introducing a special case if size of comm == 1, avoiding thus collective
 operations as well ( i.e. no need for hierarchies)
- fix for an unsymmetric case. Still to be tested.

This commit was SVN r7799.
2005-10-18 18:17:50 +00:00
Tim Woodall
b570c8cad4 need to specify a size, base address will match
This commit was SVN r7798.
2005-10-18 17:01:36 +00:00
Galen Shipman
4d2d39b0a6 intial checking of SRQ flow control support for mvapi
This commit was SVN r7796.
2005-10-18 14:55:11 +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
Galen Shipman
3efecaaeda convert openib btl to use new mca_param registration.. Also, change rr_buf_min
and rr_buf_max to rd_min and rd_max 

This commit was SVN r7786.
2005-10-17 20:00:34 +00:00
Tim Woodall
c944988b9e merge in changes from release branch - acquire/release send token for put/get
This commit was SVN r7784.
2005-10-17 18:59:28 +00:00
Brian Barrett
1302cb4072 The next in a long line of crazed build system changes from Brian. This was
originally suggested by Ralf Wildenhues, to try to speed autogen, configure,
and make (and possibly even make install).  Use automake's include directive
to drastically reduce the number of Makefile files (although the number of
Makefile.am files is the same - most are just included in a top-level
Makefile.am).  Also use an Automake SUBDIRs feature to eliminate the
dynamic-mca tree, which was no longer really needed.  This makes adding
a framework easier (since you don't have to remember the dynamic-mca
tree) and makes building faster (as make doesn't have to recurse through
the dynamic-mca tree)

This commit was SVN r7777.
2005-10-17 00:21:10 +00:00
Edgar Gabriel
7e45f64065 reduce has now been tested quite extensively for all (predefined) operations
and for all root nodes and passed all tests.
First cut on barrier (which from my perspective does not make sense from the
performance point of view) and on allreduce (which might make sense),

This commit was SVN r7774.
2005-10-15 22:24:44 +00:00
Edgar Gabriel
3fab9c628c switching the root and creating (if necessary) the new local leader sub-communicators seems to work as well. Thoroughly tested with bcast, not yet that exhaustivly tested for the reduction.
This commit was SVN r7773.
2005-10-15 21:13:44 +00:00
Edgar Gabriel
7d34770456 further bugfixes. The hierarchy detection works now as far as I can see (even in unsymmetric sitations). Bcast and reduce work as well. Still to test: the code which generates new local leader communicators, in case the root of the operation is not yet part of the lleader comm.
This commit was SVN r7772.
2005-10-15 19:36:54 +00:00
Edgar Gabriel
63554d245f further bugfixes
This commit was SVN r7771.
2005-10-15 18:44:57 +00:00
Edgar Gabriel
92c7b77cbc minor bug fixes
This commit was SVN r7770.
2005-10-15 18:32:40 +00:00
Edgar Gabriel
ba163c611c checkpoint before moving to a real cluster. Most of the recoding should be
done. This version also doesn't break ompi (at least if its not chosen :-) ).
New features compared to the version from last Thursday (where bcast and
reduce seemed to work in most scenarios):
- clearer internal infrastructure
- ability to handle all root processes with a (hopefully) minimal number of
local leader communicators. 

This commit was SVN r7769.
2005-10-15 17:04:01 +00:00
Edgar Gabriel
84c070fc0f get rid of the different modes how to store the colorarray for now. Might be
reintroduced later as an optimization.

This commit was SVN r7762.
2005-10-14 18:11:21 +00:00
Edgar Gabriel
6d14440972 checkpoint for moving again to another machine. major rewrite to clean
up internal interfaces in progress.

This commit was SVN r7761.
2005-10-14 17:41:44 +00:00
Edgar Gabriel
770aeaf97b modifications towards adding new local-leader communicators.
This commit was SVN r7760.
2005-10-14 12:18:29 +00:00
Graham Fagg
636b42afff handle non existant recv buf in reduce for non root processes
(basic allreduce does this for mpi_in_place case)

This commit was SVN r7759.
2005-10-14 00:00:37 +00:00
Graham Fagg
61b8218d76 MPI_IN_PLACE fix for reduce.
(actually a work around for an optimisation in the reduce for not saving ops on the first recv of each segment)
Minor change in topo.

This commit was SVN r7758.
2005-10-13 23:38:21 +00:00
Edgar Gabriel
48f2563b4c checkpoint. Moving to another machine.
This commit was SVN r7757.
2005-10-13 20:04:26 +00:00
Edgar Gabriel
4b05359b16 minor fixes when freeing the component
This commit was SVN r7756.
2005-10-13 18:22:16 +00:00
Edgar Gabriel
0a5a346bbb first cut on the reduce operation.
This commit was SVN r7755.
2005-10-13 17:58:13 +00:00
Edgar Gabriel
30af775d40 further fixes. The first hierarchical MPI_Bcast works! Its just ~ 100 times slower then basic at the moment :-)
This commit was SVN r7754.
2005-10-13 17:34:42 +00:00
Edgar Gabriel
460b5cb840 further corrections to the hierarchy detection algorithms. It seems to work now as far as my tests show...
This commit was SVN r7753.
2005-10-13 16:21:13 +00:00
Edgar Gabriel
f5d16419b2 fix in the logic regarding protocol detection.
This commit was SVN r7749.
2005-10-13 15:07:35 +00:00
Edgar Gabriel
5d7fbd9d2e minor change in bml_r2_add_procs: the memory for the bml_endpoints structure
has to be allocated outside of the routine. Thus, the update version of pml/ob1/oml_ob1.c

This commit was SVN r7739.
2005-10-12 20:59:25 +00:00
Edgar Gabriel
3e5ad3e681 Updates
This commit was SVN r7738.
2005-10-12 20:56:29 +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
d859855dea merge in changes from 1.0
This commit was SVN r7728.
2005-10-12 15:54:35 +00:00
Edgar Gabriel
25518b63c5 first version of coll_hierarch which does not crash the rest of the
library as long as its not selected :-)

This commit was SVN r7707.
2005-10-11 22:05:24 +00:00
Edgar Gabriel
0675c22dab updating with Jeff's help to the recent autogen/configure system
This commit was SVN r7705.
2005-10-11 21:50:16 +00:00
Edgar Gabriel
7b07dbc163 another round of fixes. Unfortunatly, I also have to provide a trivial
version of reduce and gather to make all this work....

This commit was SVN r7702.
2005-10-11 21:26:07 +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
Edgar Gabriel
c8adc2e65e coding around the collective operations
This commit was SVN r7698.
2005-10-11 20:34:17 +00:00
Edgar Gabriel
083d0b9630 Checkpoint: most of the coding should be done for the basic
infrastructure.

This commit was SVN r7696.
2005-10-11 19:45:21 +00:00
Graham Fagg
607bdf51b6 Last Cleanup BEFORE adding last two methods and final cross over points.
- new mca param calls
- move printfs to OPAL_OUTPUT

This commit was SVN r7692.
2005-10-11 18:51:03 +00:00