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

79 Коммитов

Автор SHA1 Сообщение Дата
Jeff Squyres
b17c4334c4 - Remove all vestigates of using the built-in mcb_tree from the
reduce_inorder() function -- we don't use the tree at all.
- Add more relevant "volatile"'s for the control buffers in the
  fragment mpool (and associated casts where necessary)

This commit was SVN r7616.
2005-10-04 14:52:59 +00:00
Jeff Squyres
c7fe54ba44 - Remove some silly compiler warnings
- Move the "process 0" logic out of the main loop in reduce to make
  the code a bit less complex (at the price of slight code
  duplication, but it iss now significantly easier to read)
- Fix problem with uniquenes guarantee in the bootstrap mpool -- using
  the CID alone was not sufficient enough to guarantee uniquenes; now
  use (CID, rank 0 process name) tuple to check for uniqueness
- Made a few debugging help changes in coll_sm.h; especially helps
  debugging on uniprocessors

This commit was SVN r7599.
2005-10-03 21:34:58 +00:00
Jeff Squyres
2cedfeec53 - Eliminate some unused base globals
- Move one base global to the basic component and make it an MCA
  parameter 
- Convert the basic component to use the new MCA param API

This commit was SVN r7598.
2005-10-03 21:07:42 +00:00
Jeff Squyres
57fb96b018 Clarification of a help message
This commit was SVN r7597.
2005-10-03 21:06:13 +00:00
Jeff Squyres
ab099fa8cb Re-indent; real commit with some changes coming shortly.
This commit was SVN r7596.
2005-10-03 19:56:39 +00:00
Jeff Squyres
10064df0e9 Remove compiler warning
This commit was SVN r7578.
2005-10-02 10:43:53 +00:00
Jeff Squyres
37fc944b01 Use the right number of segments per in-use flag when calculating
offsets.

This commit was SVN r7571.
2005-09-30 23:12:23 +00:00
Jeff Squyres
934caaf449 Fix at least one segv; use the right number of segments (i.e., the
number o segments in the fragment pool, not in the bootstrap pool)

This commit was SVN r7565.
2005-09-30 18:01:15 +00:00
Jeff Squyres
fcef1774d5 Per advice from Ralf W., change the pkgdata declarations in
Makefile.am's to be a *slightly* more correct (and, more importantly,
less error-prone) construct.

This commit was SVN r7554.
2005-09-30 13:32:39 +00:00
Jeff Squyres
bc181d7130 Remove the .ompi_ignore so that everyone starts compiling this, but
lower the default priority to 0 so that it's not active unless you
specifically ask for it (this component needs more testing by people
other than me before we unleash it on the public).

This commit was SVN r7545.
2005-09-29 18:05:47 +00:00
Edgar Gabriel
67dd52efb1 making the allreduce and reduce_scatter tests pass as well
This commit was SVN r7532.
2005-09-28 15:12:05 +00:00
Edgar Gabriel
dbbbd416df fixing MPI_IN_PLACE for the log-reduce algorithm.
This commit was SVN r7526.
2005-09-27 21:51:55 +00:00
Jeff Squyres
d67c31f238 Remove useless compiler warnings.
This commit was SVN r7418.
2005-09-17 10:54:48 +00:00
Jeff Squyres
10d02b2110 Make sure to copy the right amount out of the temp buffer.
This commit was SVN r7400.
2005-09-15 22:06:36 +00:00
Jeff Squyres
15d0a95202 - Remove extra whitespace from Makefile.am's from when we removed
Makefile.options
- Sample in each of the three projects of how to link againt the
  relevant libraries so that when components are loaded into a parent
  process' space, we don't rely on the libopal/liborte/libmpi symbols
  being in the parent's public symbol namespace -- instead,
  dynamically link to the relevant libraries, allowing the dynamic
  linker to pull those libraries in at run-time, if needed

This commit was SVN r7397.
2005-09-15 20:56:18 +00:00
Jeff Squyres
3ecfe02b83 - Properly handle MPI_IN_PLACE
- Return MPI_ERR_ARG, not EINVAL

This commit was SVN r7391.
2005-09-15 19:33:54 +00:00
Jeff Squyres
2c1186cd19 Fix up the offsets for the non-root gatherv in the IN_PLACE case.
This commit was SVN r7389.
2005-09-15 18:21:18 +00:00
Jeff Squyres
7ca22d9416 - Correct to use the right offsets
- Copy back to the right location in the non-rank-0-IN_PLACE case

This commit was SVN r7384.
2005-09-15 15:15:23 +00:00
Jeff Squyres
406f0575eb - Remove useless error check
- Ensure err is set to MPI_SUCCESS on the IN_PLACE case

This commit was SVN r7383.
2005-09-15 15:14:00 +00:00
Jeff Squyres
cbfb062a7d Fix silly mistake for IN_PLACE handling in scan
This commit was SVN r7380.
2005-09-15 12:47:17 +00:00
Jeff Squyres
068b9c72a2 Bunches of changes
- remove redundant OBJ_CONSTRUCT in bcast
- fix up some macros in coll_sm.h
- check to ensure that if there are too many processes in the
  communicator (i.e., if we couldn't fit a flag for each of them in
  the control segment), then fail selection
- setup the in_use flags properly
- adapt to new mpool API
- first working copy of reduce -- not tree-baed (but still
  NUMA-aware), and only processes in order from process 0 to process
  N-1 -- do not have a tree-based and/or commutative version yet
  (i.e., process the results in whatever order they arrive)

Reduce now passes the new ibm reduce_big.c test.  Woo hoo!  Time to
declare success for the evening (and run the intel test tomorrow).

This commit was SVN r7379.
2005-09-15 02:18:16 +00:00
Jeff Squyres
5365ae84b9 Remove extra variable. Still working with George / Edgar on
reduce_log_intra().

This commit was SVN r7368.
2005-09-14 11:52:20 +00:00
Jeff Squyres
e0c47dd0bc Fix for allreduce in IN_PLACE cases
This commit was SVN r7364.
2005-09-14 02:42:32 +00:00
Jeff Squyres
0fcd682c4c MPI-2 7.3.3 description of MPI_Allgatherv is wrong -- can't just have
all processes call MPI_Gatherv(MPI_IN_PLACE...) because IN_PLACE is
only allowed to be used at the root.  Non-root processes must use
their receive buf as the send buf.

This commit was SVN r7363.
2005-09-14 02:21:33 +00:00
Graham Fagg
0f75381e56 Added various barrier routines: recursive doubling, bruck, double ring, 2proc etc
all pass tests

This commit was SVN r7355.
2005-09-13 20:58:42 +00:00
Jeff Squyres
5dca18f903 First cut of handling MPI_IN_PLACE:
- added relevant logic for everything except
  mca_coll_basic_reduce_log_intra() -- need some help from George /
  Edgar on this one...
- replaced ompi_ddt_sndrcv() with ompi_ddt_copy_content_same_ddt()
  where relevant
- removed some "if (size > 1)" conditionals, because the self coll
  module will always be chosen for collectives where size==1

Waiting for BA's tests to check the validity of this IN_PLACE stuff.
We'll see how it goes!

This commit was SVN r7351.
2005-09-13 20:06:54 +00:00
Jeff Squyres
bd95f5d474 Arrgh -- check the right argument for IN_PLACE.
This commit was SVN r7350.
2005-09-13 19:56:43 +00:00
Jeff Squyres
7c09923751 Updates:
- Handle MPI_IN_PLACE
- Use ompi_ddt_copy_content_same_ddt() where relevant

This commit was SVN r7349.
2005-09-13 19:39:49 +00:00
Graham Fagg
9053790973 fixed bruck alltoall bug. now passes ibm tests
This commit was SVN r7346.
2005-09-13 18:35:45 +00:00
Jeff Squyres
47a1a2b7ec Arrgh. Compile *before* commit.
Sorry folks -- stupid typo fixed.

This commit was SVN r7345.
2005-09-13 18:12:10 +00:00
Jeff Squyres
da87169d17 Add support for MPI_IN_PLACE for the easy operations.
This commit was SVN r7344.
2005-09-13 18:02:36 +00:00
Graham Fagg
f354140587 Multiple changes
-added some alltoall calls (pairwise checked ok, bruck testing)
-changes in use of data hung of communicator
-making sendrecv call a true inline function
-more use ompi_ddt routines

This commit was SVN r7337.
2005-09-13 04:28:18 +00:00
George Bosilca
fd1431bf0f Dependencies fixes.
This commit was SVN r7318.
2005-09-12 20:21:53 +00:00
Graham Fagg
00842ad87c Fixed reduce bugs
(added some temp debug routines)

This commit was SVN r7283.
2005-09-09 23:05:17 +00:00
Graham Fagg
9596d6e2f3 use correct names or cannot call functions...
use correct ddt calls (and params ext vs lb etc)

This commit was SVN r7243.
2005-09-09 02:39:57 +00:00
Jeff Squyres
881851604b Update the docs on the actual algorithms used
This commit was SVN r7216.
2005-09-07 15:46:33 +00:00
Jeff Squyres
9302f924ea simplify the bcast code by taking abstract actions and making them
macros -- will help with the other algorithms

This commit was SVN r7214.
2005-09-07 13:33:43 +00:00
Brian Barrett
ed56e743b7 * update configure.ac to use the modern version of AC_INIT and
AM_INIT_AUTOMAKE, instead of the deprecated version.
* Work around dumbness in modern AC_INIT that requires the version
  number to be set at autoconf time (instead of at configure time, as
  it was before).  Set the version number, minus the subversion r number,
  at autoconf time.  Override the internal variables to include the r
  number (if needed) at configure time.  Basically, the right thing
  should always happen.  The only place it might not is the version
  reported as part of configure --help will not have an r number.
* Since AM_INIT_AUTOMAKE taks a list of options, no need to specify
  them in all the Makefile.am files.
* Addes support for subdir-objects, meaning that object files are put
  in the directory containing source files, even if the Makefile.am is
  in another directory.  This should start making it feasible to
  reduce the number of Makefile.am files we have in the tree, which
  will greatly reduce the time to run autogen and configure.

This commit was SVN r7211.
2005-09-07 05:54:53 +00:00
Jeff Squyres
7bab4ed269 bunches of updates
- finally added "in use" flags -- one flag protects a set of segments
- these flags now used in bcast to protect (for example) when a
  message is so long that the root loops around the segments and has
  to re-use old segments -- now it knows that it has to wait until the
  non-root processes have finished with that set of segments before it
  can start using them
- implement allreduce as a reduce followed by a bcast (per discussion
  with rich)
- removed some redundant data on various data structures
- implemented query MCA param ("coll_sm_shared_mem_used_data") that
  tells you how much shared memory will be used for a given set of MCA
  params (e.g., number of segments, etc.).  For example:

  ompi_info --mca coll_sm_info_num_procs 4 --param coll sm | \
	    grep shared_mem_used_data

  tells you that for the default MCA param values (as of r7172), for 4
  processes, sm will use 548864 bytes of shared memory for its data
  transfer section
- remove a bunch of .c files from the Makefile.am that aren't
  implemented yet (i.e., all they do is return ERR_NOT_IMPLEMENTED)

Now on to the big Altix to test that this stuff really works...

This commit was SVN r7205.

The following SVN revision numbers were found above:
  r7172 --> open-mpi/ompi@bc72a7722b
2005-09-06 21:41:55 +00:00
Graham Fagg
b97305bbcc a few more functions (testing)
This commit was SVN r7190.
2005-09-06 05:21:57 +00:00
Jeff Squyres
bc72a7722b Updates:
- bcast now works properly for root!=0 and multi-fragment messages
- destroy mpool when communicator is destroyed
Still need to implement:
- "in use" flags for groups of fragments so that "wrapping around" in
  the data segment doesn't overwrite not-yet-read data
- ensure that shared memory isn't removed before all processes have
  finished with it (e.g., during COMM_FREE)

This commit was SVN r7172.
2005-09-03 11:49:46 +00:00
Graham Fagg
059d7f26f8 re-enable proper freeing of allocated structures now that I know these
are not causing an error.

This commit was SVN r7170.
2005-09-03 06:19:17 +00:00
Graham Fagg
35447d4c32 underfilling of a only segment and the doing a PML send and esp a recv on it can
cause flipping hard to find memory errors...

This commit was SVN r7169.
2005-09-03 06:14:03 +00:00
Graham Fagg
36eddb6609 checkpoint
This commit was SVN r7168.
2005-09-03 01:41:13 +00:00
Jeff Squyres
647f6a7648 Update data structures
This commit was SVN r7150.
2005-09-02 14:53:14 +00:00
Jeff Squyres
6ef4805729 Tree-based barrier and broadcast seem to be working. Now on to reduce
/ allreduce...

This commit was SVN r7149.
2005-09-02 12:57:47 +00:00
Graham Fagg
25787c4ca7 added segmented binary
renamed split so we know its a split binary tree
(tested, chain/bin/splitbin all pass simple and ibm tests)

This commit was SVN r7138.
2005-09-02 02:19:59 +00:00
Graham Fagg
a7a20e1a57 corrected first seg recv for intermediate nodes (or else we lose a request)
This commit was SVN r7137.
2005-09-02 00:55:47 +00:00
Graham Fagg
d78e9d0e9e get/handle extent correctly
last rank in comm is not always last in tree structure for nonzero roots

This commit was SVN r7135.
2005-09-01 22:56:47 +00:00
Graham Fagg
f4de8776a6 ops
This commit was SVN r7133.
2005-09-01 17:12:28 +00:00