1
1

140 Коммитов

Автор SHA1 Сообщение Дата
Tim Woodall
55f9f800b1 attach buffer in start and detach when the request completes - this adds some
overhead to the critical path - but ensures buffer reference counts are released
when requests are not released by the application

This commit was SVN r5311.
2005-04-13 17:28:06 +00:00
George Bosilca
6c79cc3e04 Now we are able to cancel some requests. Not the sends only the receives if they are not matched.
This commit was SVN r5306.
2005-04-13 15:25:28 +00:00
Tim Woodall
a2b1f98444 init tag
This commit was SVN r5301.
2005-04-13 14:09:40 +00:00
George Bosilca
6df8cb0f02 First step toward cancelation. We decided not to allow sends to be cancelled. For the others cases:
a completed request cannot be cancelled and a receive where the match was already realized cannot
be cancelled as well.

This commit was SVN r5295.
2005-04-13 05:20:11 +00:00
Brian Barrett
309ff000a6 * add --enable-mca-static to specify components that should be statically
linked into libmpi
* add --enable-mca-direct to specify components that should be directly
  called (instead of going through component structs and the like).  The
  components and component frameworks must explicitly support this.
  Currently, only the TEG PML does so.
* Updated all the calls to the PML to use a macro so that they can either
  be direct called or called through function pointer interfaces (aka
  the component infrastructure)

This commit was SVN r5291.
2005-04-13 03:19:48 +00:00
Jeff Squyres
e9ae621323 Change the orientation of the thread level determination in
ompi_mpi_init(): we no longer *query* the components to see what they
can support -- instead, we *tell* the components what they need to
support (if they can't support it, they should disqualify themselves
from selection).

This involved a bunch of things:
- pass the configure-time-decided OMPI_ENABLE_PROGRESS_THREADS and
  OMPI_ENABLE_MPI_THREADS constants to each framework selection
  function
- eliminate mca_base_init_select_components()
- eliminate all "allow_multi_user_threads" and "have_hidden_threads"
  kinds of arguments and aggregation from various framework selection
  and component/module functions
- correctly determine the max MPI thread level that we can support and
  limit the final MPI thread level as appropriate during
  ompi_mpi_init()

As a side effect, while editing nearly every MPI component I also did
the following:
- found 2 places (gm and ib ptls) where ompi_set_using_threads() was
  erroneously being called (I think this is left over kruft from
  misunderstandings by the original authors).  I removed these.

This commit was SVN r5055.
2005-03-27 13:05:23 +00:00
Brian Barrett
372434f9dc * Merge in all changes from the mpi-devel branch
This commit was SVN r5040.
2005-03-26 18:49:16 +00:00
Jeff Squyres
3f5541349a Add UC copyright
This commit was SVN r5009.
2005-03-24 12:43:37 +00:00
George Bosilca
0c21202e48 Two major changes:
- DO NOT call matched when we match a probe/iprobe as it's not the real request. This function should be
called only when we match the request that will get the data from the fragment(s).
- DO NOT remove the fragment when we match a probe/iprobe request. The data should be available for the
real receive ...

The others modifs are just for speedup and indentation.

This commit was SVN r4425.
2005-02-14 08:37:54 +00:00
George Bosilca
6037d279a9 For the probe, do not believe the information stored in the fragment. Instead use the one from the
provided header. This header is supposed to be a MATCH header, so it should have the correct
informations.

This commit was SVN r4424.
2005-02-14 08:33:10 +00:00
George Bosilca
7fdcca0b00 Set the flag to zero if no match was realized. And progress the engine on the iprobe.
This commit was SVN r4423.
2005-02-14 08:30:47 +00:00
George Bosilca
1c2f0876a2 Do not desctruct the request object (as it's a static object). But we still have to call the
MCA_PML_BASE_RECV_REQUEST_RETURN (as we call the MCA_PML_BASE_RECV_REQUEST_INIT) in order to decrease
the ref count of the communicator and datatype.

This commit was SVN r4421.
2005-02-14 03:16:06 +00:00
George Bosilca
874f497b8a Unified reference count framework. For each request (send and receive) we have to manage the ref count
on communicators and datatypes. Now the management is done on the PML base and the others PML's just
have to use the corresponding macros from the base.

This commit was SVN r4406.
2005-02-11 20:32:10 +00:00
Prabhanjan Kambadur
2439244f0c These are some changes which will enable dynamic builds to go through on Windows. Most of the changes are in adding/deleting windows symbol exporting things.
This commit was SVN r4377.
2005-02-10 19:08:35 +00:00
Rich Graham
fa98bd54c7 terminate the shared memory thread cleanly, at the end of the
job.  In mca_ptl_sm_component_close send termination request.

This commit was SVN r3784.
2004-12-11 23:29:47 +00:00
Tim Woodall
73a9e95816 test for null set of procs
This commit was SVN r3769.
2004-12-10 00:04:00 +00:00
Tim Woodall
04cb323004 - corrections for persistent requests
- sm/mx/tcp/self now pass all intel p2p tests (single threaded)

This commit was SVN r3768.
2004-12-09 23:58:23 +00:00
Ralph Castain
b9a1132450 Cleanup a bunch of warnings. Most were innocent enough (things not initialized that probably wouldn't be a problem), but a couple could be problematic.
One warning on my list was left unfixed: the "mca_ptl_tcp_peer_dump" function is defined but not used. It is commented in the file as a diagnostic, so I left it alone since someone may choose to use it for debugging purposes. For now, it is uncalled anywhere in the code.

This commit was SVN r3703.
2004-12-06 02:15:34 +00:00
Tim Woodall
40932065d1 correct for persistent sends
This commit was SVN r3689.
2004-12-02 23:46:37 +00:00
Tim Woodall
add68613f2 return count of items progressed
This commit was SVN r3684.
2004-12-02 21:46:43 +00:00
Tim Woodall
fe0c633862 correction to index the remote group
This commit was SVN r3683.
2004-12-02 21:45:55 +00:00
Tim Woodall
15bf95bb74 ** PLEASE DO NOT CHANGE W/OUT DISCUSSING **
the prior to change to locking was not thread safe

This commit was SVN r3682.
2004-12-02 21:44:56 +00:00
Jeff Squyres
616269a9be Add HLRS copyright
This commit was SVN r3665.
2004-11-28 20:09:25 +00:00
Jeff Squyres
e9ed717748 First cut at copyrights: IU, UTK, and some OSU. LANL and HLRS still
pending.

This commit was SVN r3655.
2004-11-22 01:38:40 +00:00
Jeff Squyres
aa11f9be06 - Fix broken $HEADER$ lines
- Add $HEADER$ lines to files that didn't have them
- Add placeholder LICENSE file

This commit was SVN r3654.
2004-11-22 00:37:56 +00:00
George Bosilca
1dfcf38d3c Atomically increase the size of the req_bytes_sent.
Decrease and limit the locked part of the function.

This commit was SVN r3638.
2004-11-19 21:33:25 +00:00
Tim Woodall
be253609ac changes to support running a non-threaded build on oversubscribed processors
This commit was SVN r3613.
2004-11-18 01:58:30 +00:00
Tim Woodall
70d1c1aafd rather large commit:
- change mca_ptl_base_header_t definition to decrease the
  header size for small messages. note that this requires
  all ptls to be updated. tcp/self/sm/mx have been changed,
  gm/ib/quadrics will be broken by this commit. george and
  mitch have volunteered to make the required changes to gm/ib
- revised matching logic to reduce function call overhead
- changes to tcp/self/sm/mx ptls to support the revised headers

This commit was SVN r3602.
2004-11-17 22:47:08 +00:00
Tim Woodall
73385f189e - use common macro for atomic add
This commit was SVN r3554.
2004-11-11 21:39:48 +00:00
George Bosilca
9659288e74 I hate waiting on the airports. SO I start doing something usefull ...
I remove a lot of inter-dependence, I use the struct_t type.
BEWARE not all the function are ready.

This commit was SVN r3524.
2004-11-05 07:52:30 +00:00
Tim Woodall
85490f00a5 restore previous matching logic until I have more time
to validate the changes

This commit was SVN r3522.
2004-11-05 03:13:21 +00:00
Tim Woodall
705065888f remove some function calls in critical path
This commit was SVN r3516.
2004-11-04 21:39:14 +00:00
Prabhanjan Kambadur
4c8c62204d some additional changes that were made to the code yesterday.
This commit was SVN r3467.
2004-11-02 13:14:34 +00:00
Prabhanjan Kambadur
d8294afea9 forgot to add struct prefi .. sorry ... my bad
This commit was SVN r3402.
2004-10-28 19:40:30 +00:00
Prabhanjan Kambadur
650b04c4b4 changes:
--------
1. malloc casts to the right pointers
2. function parameter casts in the components (eg., recv requires a (char *) typecast 
   else cL compiler barfs)
3. added my own errno indirection. this is only in oob/tcp module. ompi_errno is #defined
   ro errno in unix land and to a function ompi_get_error which returns the equivalent
   error code.
4. implemented our own fcntl to prevent spaghetti coding. this currently only takes
   F_GETFL and F_SETFL arguments, does nothing on F_GETFL and sets the nonblocking 
   option on F_SETFL
5. Moved some extern declarations to global scope since the CL compiler does not do 
   the right things if they are declared and used in static inline functions.
6. Protection around some header files. changed sys/errno to errno.
7. defined in_proto_t (unsigned uint16_t) to DWORD ... comments are welcome

This commit was SVN r3394.
2004-10-28 18:13:43 +00:00
Tim Woodall
3a5cf46856 force this to be inlined
This commit was SVN r3381.
2004-10-28 14:39:39 +00:00
Tim Woodall
79548a9ade corrections to the scheduling logic
This commit was SVN r3376.
2004-10-27 20:28:09 +00:00
Tim Woodall
f6ab31f38d - renamed ACK flag
- first cut at MX support for short messages

This commit was SVN r3369.
2004-10-27 13:52:06 +00:00
Tim Woodall
7c25c4b499 correct the arch setting
This commit was SVN r3348.
2004-10-26 19:12:48 +00:00
Rich Graham
7e55ce2d8c make sure that with the single PTL case, the number of bytes scheduled
does not exceed the max size allowed.

This commit was SVN r3345.
2004-10-26 18:08:51 +00:00
Tim Woodall
32f326a4d6 fix regression
This commit was SVN r3321.
2004-10-25 20:29:25 +00:00
George Bosilca
542630ad68 Remove the fprintf statements.
This commit was SVN r3308.
2004-10-24 23:16:27 +00:00
Rich Graham
2d54712b37 bug fixes.
This commit was SVN r3307.
2004-10-24 00:26:03 +00:00
Rich Graham
c7e6eb7e75 remove incorrect initialization.
This commit was SVN r3304.
2004-10-23 20:38:35 +00:00
Tim Woodall
d9cb8165a5 progress pending requests
This commit was SVN r3298.
2004-10-23 16:21:49 +00:00
George Bosilca
6ee22604a0 Construct/destruct the teg_send_pending list.
This commit was SVN r3293.
2004-10-23 05:57:23 +00:00
George Bosilca
12459e8aed Make the compiler happy ... (ie take care of some unsigned vs. signed comparaisons).
This commit was SVN r3289.
2004-10-22 17:48:48 +00:00
Prabhanjan Kambadur
4257467fec this is the big windows commit. there are more things which have gone into this than i can remember. but basically, we are looking for
1. header file and source file protections using #ifdef WIN32
2. new files and directories to support windows functionality
3. appropritate linkage symbols added (OMPI_DECLSPEC) for windows
4. some functions are unimplemented on the windows side. this is mostly
because there might not be need to implement it in windows land. eg., forking
a daemon off
5. Introduced locking mechanisms for windows

This commit was SVN r3286.
2004-10-22 16:06:05 +00:00
Prabhanjan Kambadur
dac14aaf94 committing the header file fixes for protection against C++ name mangling. This is a hge commit. Please make sure that your files are protected right. There is some redundan protection in that the protection has been added right at teh beginning and at teh end ion some cases even thught typedefs are not requred to be protected. But this was done in order to have teh minimal change to the code base
This commit was SVN r3246.
2004-10-20 22:31:03 +00:00
Tim Woodall
cad5b2c923 - removed req_query from base request - only needed for generalized requests
- fix for persistent recvs

This commit was SVN r3235.
2004-10-20 14:56:52 +00:00