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

14 Коммитов

Автор SHA1 Сообщение Дата
Edgar Gabriel
e1406a1d5d adding the code to manage the communicator cid allocation in multithreaded scenarios. The code seems to work in a single threaded scenario (and thus should not generate any errors hopefully), the multithreaded case still to be tested.
This commit was SVN r2792.
2004-09-21 18:39:06 +00:00
Edgar Gabriel
65e4b61ec2 fixes to make comm_join work
This commit was SVN r2745.
2004-09-17 16:28:58 +00:00
Edgar Gabriel
5f29fe41fa fixing a stupid bug
This commit was SVN r2711.
2004-09-16 12:16:21 +00:00
Edgar Gabriel
d2d6379578 fixing a stupid bug in comm_nextcid: forgot to free the value in the pointer_array in case the others did not agree with my suggestion for the cid.
This commit was SVN r2631.
2004-09-13 15:14:09 +00:00
Tim Woodall
a2bc814a08 OOB API changes:
- removed send_hton/recv_ntoh routines as we now have send_packed/recv_packed 
- removed constness from apis
- adding flag (in work) to allow recv to allocate and return recv buffer
- updated edgars communicator code to use pack routines rather than ntoh routines

This commit was SVN r2095.
2004-08-12 22:41:42 +00:00
Edgar Gabriel
ba165b3d8a initializing two variables used in a dummy allreduce
This commit was SVN r1926.
2004-08-06 15:46:44 +00:00
Edgar Gabriel
2e43e4980e a couple of changes:
- because we had the scenario, that fragments for a communicator, which was not 
   not yet set up on all procs, arrived and caused problem, we introduced
   a comm_activate function call, which executes a kind of barrier (using
   the allreduce functions used for the comm_cid allocation).
   Setting up the coll-component has moved *after* this barrier, since 
   some coll-modules (e.g. the MagPIe component) might want to communicate
   using this communicator already (e.g. a comm_split).
-  adding a new file comm_dyn.c, which basically abstracts the required functionality
   for connect-accept, and therefore is the 'magic' code (from the MPI point of view)
   for all dynamically created communicators.

This commit was SVN r1900.
2004-08-05 16:31:30 +00:00
Edgar Gabriel
20a512a9b7 restructuring some of the communicator code.
with a couple of internal tricks, intercomm_create works now.

This commit was SVN r1855.
2004-08-03 22:07:45 +00:00
Edgar Gabriel
e190c49722 - intra-comms tested, several minor bugs fixed
- cid allocation for intra-comms is now enabled and working

This commit was SVN r1750.
2004-07-15 20:55:15 +00:00
Jeff Squyres
a5a712b31f Lots of changes in this commit, mostly having to do with the first
real commit of the collectives.  MPI_SCAN and MPI_EXSCAN are still not
implemented, but lots of other things are in the critical path and
holding up other people, so it's ok to commit without them:

- better checks for sizes in configure, and add defaults for fortran
  sizes if we don't have a fortran compiler
- fix some logic that was accidentally broken for size checks for the
  file type offset_t
- add some C equivalent types for fortran's complex and double complex
  (for use in internal reduction/op functions)
- additionals and slight reorganization of ompi_mpi_init()
  ompi_mpi_finalize()
- fully implement all top-level MPI collective calls, including all
  param checking for both intra- and inter-communicators (woof)
- change the communicator_t type for stuff that we need in coll, and
  update all references throughout the code base to match
- all kinds of updates to the coll framework base
- next cut of the basic coll module -- has all intracommunicator
  collectives implemented except scan and exscan (see note above).
  All intercommunicator functions return ERR_NOT_IMPLEMENTED.
- MPI_Op is a fixed implementation -- not component-ized yet.  So
  there are generic C loops for all implementations.

This commit was SVN r1491.
2004-06-29 00:02:25 +00:00
Edgar Gabriel
deec2c1435 preparing the comm_cid allocation routine for dynamic process management
This commit was SVN r1336.
2004-06-16 22:37:03 +00:00
Edgar Gabriel
f8294ab099 extracting the creation of comm_cid from the comm_set routine.
The reason is, that we had to pass four arguments to comm_sdet, which were just passed to comm_cid. However, for the dynamic case, even these four arguments are not enough. So I extracted it. A typical sequence for a comm-creation will therefore be:

 newcomm = ompi_comm_set (...);
 ompi_comm_nextcid (newcomm, oldcomm,...);

This commit was SVN r1312.
2004-06-16 15:40:52 +00:00
David Daniel
563ac2a338 First pass of lam -> ompi conversion
This commit was SVN r1191.
2004-06-07 15:33:53 +00:00
Edgar Gabriel
536c279529 adding most of the required functionality for handling MPI-1 and most of MPI-2 communicator functions (except dynamic process management). The cid are currently not yet calculated properly, although the functions are checked in.
Still to do:
- make the CID allocation routine thread safe
- add the ACK in lam_comm_free
- fix a bug in lam_comm_split for inter-communicators ( in this
  case we can not have allgather_intra and allgather_inter at the
  same time at this communicators, that's however what
  the current implemention assumes).

Reviewed by Jeff, Rich and Tim.

This commit was SVN r1148.
2004-05-21 19:36:19 +00:00