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

1180 Коммитов

Автор SHA1 Сообщение Дата
Galen Shipman
ddc22d8c7e Use endpoint_lock, not ib_lock (copy paste error from openib btl)
This commit was SVN r8806.
2006-01-25 15:04:37 +00:00
Andrew Friedley
0ff8e47075 Checkpoint for the night:
- Updated copyrights
 - First pass at the uDAPL mpool component looks complete - is it really this easy?

This commit was SVN r8803.
2006-01-25 04:08:08 +00:00
Andrew Friedley
f5f8a1b874 Initial commit of uDAPL mpool component. Just a stripped copy of the GM mpool component right now.
This commit was SVN r8802.
2006-01-25 02:22:50 +00:00
Andrew Friedley
ec995160e6 Checkpoint for switch to mpool work:
- Remove printing of CFLAGS in configure.m4
 - Set MCA_BTL_FLAGS_SEND flag
 - Improved error handling during module initialization
 - Extract the address of each interface with dat_ia_query
 - Start playing around with fragment stuff - probably wrong
 - Misc code cleanup (removal of GM-specific code)

This commit was SVN r8801.
2006-01-25 02:21:34 +00:00
Tim Woodall
51ec050647 port of revised flow control from openib
This commit was SVN r8799.
2006-01-24 23:44:30 +00:00
Tim Woodall
e861158fcd - removed debug code
- removed extraneous memset

This commit was SVN r8798.
2006-01-24 23:38:41 +00:00
Galen Shipman
1e0ea9dd6d Major fixes for the RDMA registration cache (leave_pinned).
This commit fixes issues with HPL runs on node counts > 4. 

This commit was SVN r8793.
2006-01-23 22:51:50 +00:00
George Bosilca
83cd8fac9d Now that the free list are correctly destroyed these tests are useless.
This commit was SVN r8792.
2006-01-23 20:33:40 +00:00
Jeff Squyres
bd2524378a Remove unused variable
This commit was SVN r8784.
2006-01-22 12:20:01 +00:00
Brian Barrett
8b2a285f8f * update reference implementation support to match latest release
This commit was SVN r8783.
2006-01-22 04:56:18 +00:00
Rainer Keller
a437fd3aaf - As with George's r8771, move lock/unlock of ompi_request_lock into the
if-clause, getting rid of local schedule variable.

This commit was SVN r8778.

The following SVN revision numbers were found above:
  r8771 --> open-mpi/ompi@2fadddebc8
2006-01-21 21:02:35 +00:00
Rainer Keller
7442a641ea - Fix locking, not related to the current deadlocks.
This commit was SVN r8777.
2006-01-21 13:43:36 +00:00
Brian Barrett
ab6f4de6e5 * Remove the old wrapper compilers and add the correct data files for the
new wrapper compilers for the OMPI layer.  This should require no changes
  at all for anyone (other than running autogen, of course)

This commit was SVN r8772.
2006-01-21 02:05:58 +00:00
George Bosilca
2fadddebc8 Decrease the lock granularity and remove it from the path where we don't need it.
Reorder the code to get rid of some local variables.

This commit was SVN r8771.
2006-01-20 17:19:22 +00:00
George Bosilca
e8ae5d0047 Performance improvements. Remove all useless functions call (like when we already
know that the request is inactive we don't have to call fini). Remove if's from
the critical path. Change a do in while to make sure we do the minimum in all cases.
All in all it decrease the latency for mvapi by something between 0.15 and 0.20
micro-seconds. But it's just a first step ...

This commit was SVN r8770.
2006-01-20 17:17:13 +00:00
George Bosilca
1c667ea45a Start tracking down all useless things. Here the logic is that the MPI request already has
increased the datatype ref count, and there is no way to have a convertor without a valid
request, so there is no need for the convertor to increase the reference count of the datatype
again. Therefore, if one want to use the datatype for something else than MPI request, one
has to manage the reference counts outside the datatype layer.

This commit was SVN r8769.
2006-01-20 17:10:29 +00:00
George Bosilca
8d26696c06 Remove the local variable that shadow the real one.
This commit was SVN r8763.
2006-01-20 02:39:30 +00:00
George Bosilca
29c80875a8 As requested move back the alloc and return to macros instead of static inlined functions.
This commit was SVN r8762.
2006-01-19 23:58:04 +00:00
George Bosilca
d5d16c2162 A slighy faster version. The if outside the for not inside.
This commit was SVN r8761.
2006-01-19 23:57:03 +00:00
George Bosilca
398457fc2a One possible deadlock less. This one was in req_wait_all with a threaded build. If another
thread finish a request between the moment when we check the request status and the moment
when we acquire the lock, and if there are no more pending request on the pipe we will be
stuck foreverr as nobody have any reason to broadcast the request condition. I check the
req_any and it doesn't contain the same bug.

This commit was SVN r8760.
2006-01-19 21:46:53 +00:00
George Bosilca
d247436bea Make the opal_atomic happy by using a signed int instead of an unsigned one.
This commit was SVN r8759.
2006-01-19 19:54:51 +00:00
George Bosilca
ee9b31459b The atomic variable should be signed not unsigned.
This commit was SVN r8757.
2006-01-19 18:47:32 +00:00
George Bosilca
317f8bc4d4 Indentation + print the shared memory file name if we fail to create it.
This commit was SVN r8749.
2006-01-19 07:09:44 +00:00
George Bosilca
1e48ab533a Remove some left-around from long time ago ...
This commit was SVN r8748.
2006-01-19 07:08:32 +00:00
George Bosilca
81de5e7a47 Get a meaningful error message on Windows when the shared memory file cannot
be created.

This commit was SVN r8747.
2006-01-19 07:07:47 +00:00
George Bosilca
770d530e83 Same bug as blm.h. I know that this macros are not used right now but I fix them for later ...
This commit was SVN r8742.
2006-01-19 06:48:45 +00:00
George Bosilca
be64d98687 We're thread safe again. The atomic compare-and-swap was not used in the correct way allowing
the descriptors to vanish. The PML was thinking that they are in the btl_cache when they
weren't ... It lead to memory consumption on most environments when compiled with
thread enabled. After modification the latency went down by nearly 0.5 microseconds.

Simple way to trigger the bug: limit the number of maximum items in the free list and run
any communication intensive application (like Netpipe).

This commit was SVN r8741.
2006-01-19 06:45:29 +00:00
Galen Shipman
d657052510 misc cleanup..
This commit was SVN r8731.
2006-01-18 16:20:50 +00:00
Galen Shipman
84a09e4f4e use #if not #ifdef..
This commit was SVN r8720.
2006-01-17 21:07:34 +00:00
Galen Shipman
0c81c0a6ce use ibv_get_device_list if present
(submitted from roland)

This commit was SVN r8712.
2006-01-17 16:23:35 +00:00
Andrew Friedley
5ccab7bcda Checkpoint:
- Move mca_btl_udapl_error/mca_btl_module_init to mca_btl_udapl.c and rename it
 - White space cleanups
 - Free the uDAPL evd and ia handles in mca_btl_udapl_finalize

This commit was SVN r8705.
2006-01-16 21:54:50 +00:00
Brian Barrett
17d2c907fc Some changes to better support cross-compiling OMPI:
- fall back to compile test for windows paffinity component
    when cross compiling
  - fall back to platform guess when checking for threads having
    different pids with pthreads (yes on linux, no elsewhere)
  - pass the proper host, target, and build flags to the
    ROMIO configure script

With these changes, cross-compiling should be possible with the exception
of the Fortran 77 and Fortran 90 bindings.  Fortran 77 can be cross-
compiled if cache values are provided for type sizes and alignment.

This commit was SVN r8702.
2006-01-16 04:00:44 +00:00
Andrew Friedley
a4abe3bdbe Checkpoint:
- Borrow configure.m4 from the mvapi btl.  One of the uDAPL headers emits a
   warning when -pedantic is enabled, so strip it out.
 - Change function check in ompi_check_dapl.m4 from dat_ia_open to
   dat_registry_list_providers.. dat_ia_open wasn't working right
 - Make the references to prepare_dst, put, and get NULL for now
 - Add opal_output() calls in all the udapl interface functions for debugging
 - Add evd_qlen component parameter to control event dispatcher queue length
 - First stab at component_init and module_init
 - Misc cleanups - whitespace, dead code removal
 - Update copyrights to 2006

This commit was SVN r8701.
2006-01-16 03:01:12 +00:00
Brian Barrett
c96f870674 * Merge of wrapper compiler updates from the bwb-wrapper-fix branch (r8690 -
r8698), with changes below:

  - Split wrapper flags into those required for each of the three projects,
    and cleaned up some cruft (including the LIBMPI_EXTRA_*FLAGS) through-
    out the build system
  - Added opal_init_util and opal_finalize_util to allow init / cleanup
    of all the opal code that doesn't require the MCA system
  - Create standalone key=value file parser, based on the one that used
    to be in the mca param parser, so that it can be shared in multiple
    places
  - Add wrapper datafiles for opal, orte, and ompi wrappers, and add
    wrapper compiler with support for all the old features

This commit was SVN r8699.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r8690
  r8698
2006-01-16 01:48:03 +00:00
George Bosilca
d4699037f7 Protect an assert if the endpoint cache is not activated.
This commit was SVN r8695.
2006-01-14 21:10:09 +00:00
George Bosilca
3317bf81ad A better implementation for the TCP endpoint cache + few comments.
This commit was SVN r8692.
2006-01-14 20:21:44 +00:00
George Bosilca
bf266c6109 Rollback the 8682 commit until we figure out the correct way to do it. It break several things
inside (like MPI_Wait* functions).

This commit was SVN r8686.
2006-01-13 22:02:40 +00:00
Tim Woodall
a584c60dbe re-worked flow control logic to take into account the return
of credits from the peer prior to local completion, so that
we don't overrun the number of send wqes available.

This commit was SVN r8683.
2006-01-12 23:42:44 +00:00
Rainer Keller
95f886b6ab - Protect callers of opal/ompi_condition_wait from spurious wakeups,
possible when with building with pthreads.
   Compiled on Linux ia32 with and without
   --enable-progress-threads

This commit was SVN r8682.
2006-01-12 17:13:08 +00:00
Andrew Friedley
c0bad339af - Use the GM BTL as a template instead, per Tim's suggestion
- Begin adding uDAPL-specific stuff
- Added config/ompi_check_udapl.m4 - hopefully I did this right

This commit was SVN r8681.
2006-01-12 04:05:02 +00:00
Brian Barrett
60ac1cb5f4 print stack traces (when available) for opal and orte processes, as well as
ompi processes.  Also add SIGABRT to the list of signals that are intercepted
to print out pretty messages.

This commit was SVN r8672.
2006-01-11 04:36:39 +00:00
Brian Barrett
5fdf753e2d remove unneeded second copy of the PML_CALL macros
This commit was SVN r8668.
2006-01-10 18:44:21 +00:00
Jeff Squyres
dd142673f4 Add missing MPI::Request::Get_status methods.
This commit was SVN r8663.
2006-01-09 18:10:12 +00:00
Graham Fagg
25375759c3 arrgh. reduce could for very small message sizes and proc counts call a linear function
this was implemented using a chain (tree followed with pipeline) by setting the chain fanout to a factor of size etc but the chain datastructure was fixed in length and if exceeded the topo create returned a null which isn't helpfull in cid next function of comdup...
Anyway two fixes, first we do have a real linear function so changed the decision function and second altered the
topo chain create to force chain fanouts of less than 1 to 1 and fanouts bigger than max to max.
next check in will change chain to dynamically allocd array (reallocable) but we shouldn't ever use a chain fanout for a linear tree anyway. 
(lession must rerun all tests for all data sizes when changing decision functions)

This commit was SVN r8662.
2006-01-08 02:41:09 +00:00
Jeff Squyres
268a5f5716 Ensure that seg is always initialized, even in the return_error case.
This commit was SVN r8646.
2006-01-04 23:01:50 +00:00
Tim Woodall
63d0438991 merge in changes from release branch
This commit was SVN r8637.
2006-01-04 16:34:45 +00:00
Tim Woodall
7eade5b856 added SIGFPE to default list of signals that generate a backtrace (where supported)
This commit was SVN r8632.
2006-01-04 16:02:45 +00:00
George Bosilca
29dd1a6f6b Unmap from map_addr not map_seg.
This commit was SVN r8626.
2005-12-31 16:11:58 +00:00
George Bosilca
68b0ba0f58 We need the copyright ...
This commit was SVN r8625.
2005-12-31 15:51:57 +00:00
George Bosilca
e1fbf7b0df The last commit remove the initialization of map_addr ...
This commit was SVN r8624.
2005-12-31 15:18:58 +00:00
George Bosilca
479d510eaf Use the common SM component to unmap the shared memory file.
This commit was SVN r8623.
2005-12-31 15:07:48 +00:00
George Bosilca
3baf36c6d9 Add the windows implementation or shared memory files.
As the common part is the one that create the shred memory file it seems
logical to make it destroy the file as well. Therefore, the code for
unmapping the file is in a common place.

This commit was SVN r8622.
2005-12-31 15:06:24 +00:00
George Bosilca
4002365f43 On windows we have include io.h in order to have access to the isatty function.
This commit was SVN r8621.
2005-12-31 15:03:58 +00:00
George Bosilca
228f966798 A little trick to force qsort to order the sm modules in the order we expect.
On some systems (like windows) qsort can modify the order of modules when the
comparaison function return 0. As we expect to have the
mca_btl_sm_add_procs_same_base_addr called before mca_btl_sm_add_procs we have
force the qsort to return the SM modules in the correct order. Giving to the
same_addr module a slightly higher priority solve this problem.

This commit was SVN r8620.
2005-12-31 14:59:53 +00:00
George Bosilca
4ae8c291c3 Add MPI_SIGNED_CHAR.
This commit was SVN r8618.
2005-12-31 14:54:57 +00:00
George Bosilca
d91650ea85 Do not use explicitly "ln -s" as on some systems it does not work properly ...
(windows). Instead use the LN_S variable exported by the Makefile (set to
"ln -s" on all Unixes and to "cp -p" on windows).

When we remove an executable use the correct extension for its name
(add $(EXEEXT) to the name).

This commit was SVN r8616.
2005-12-31 12:33:44 +00:00
George Bosilca
208fa725c3 Add OMPI_DECLSPEC before all exported functions.
This commit was SVN r8611.
2005-12-31 12:18:15 +00:00
George Bosilca
9457534520 Add full path for the header files.
This commit was SVN r8610.
2005-12-28 19:28:32 +00:00
Jeff Squyres
152d5c1e99 Remove unnecessary dynamic-mca tree (was already removed in opal and
orte).

This commit was SVN r8608.
2005-12-23 17:36:44 +00:00
Jeff Squyres
5f96a74e33 Make user-defined MPI::Op's be thread safe (the previous
implementation was not thread safe).  See lengthy comment in
ompi/mpi/cxx/intercepts.cc::ompi_mpi_cxx_op_intercept() for a full
explanation.

This commit was SVN r8606.
2005-12-23 16:49:09 +00:00
Jeff Squyres
06b01b3b76 Fix uninitialized variable
This commit was SVN r8605.
2005-12-23 13:02:36 +00:00
Brian Barrett
45a3eccec6 re-enable the stack-trace functionality (it had been inadvertently disabled
in a merge a long time ago).  Set default signals to print a stack trace from
none to SIGBUS,SIGSEGV.

This commit was SVN r8603.
2005-12-22 19:39:50 +00:00
Tim Woodall
4ff5316b2d correct copy/paste error
This commit was SVN r8601.
2005-12-22 18:07:46 +00:00
Tim Woodall
5d91c492d6 improve diagnostic error messages
This commit was SVN r8600.
2005-12-22 18:01:47 +00:00
Tim Woodall
e1a49793f7 improve diagnostics when registration fails
This commit was SVN r8599.
2005-12-22 16:32:12 +00:00
Tim Woodall
e9498f7a75 improve error reporting when registrations fail
This commit was SVN r8598.
2005-12-22 16:05:28 +00:00
Tim Woodall
0c57e2d091 correct typo
This commit was SVN r8593.
2005-12-22 14:28:13 +00:00
Jeff Squyres
54c4bd3ce2 Update to have public symbols be consistent; use new prefix rule
(apparently we've been doing this in opal and orte, but not in ompi
yet).  All public symbols begin with "ompi_coll_tuned_" (not
mca_coll_tuned_) except the component struct.  Now this component
passes the illegal symbol report with no hits.

This commit was SVN r8589.
2005-12-22 13:49:33 +00:00
Jeff Squyres
efe84971ce Correct copyrights and some typos
This commit was SVN r8588.
2005-12-22 05:37:28 +00:00
Jeff Squyres
4a061b7c78 Since all of the collectives (except scan and exscan) are defined on
both intercomm and intracomm, put them up in MPI::Comm rather than
duplicating them in MPI::Intercomm and MPI::Intracomm.

This commit was SVN r8583.
2005-12-21 21:12:52 +00:00
Tim Woodall
3c170c410c changes required by dr
This commit was SVN r8580.
2005-12-21 15:11:40 +00:00
Tim Woodall
1f9a559245 mising include
This commit was SVN r8579.
2005-12-21 14:26:56 +00:00
Jeff Squyres
2435970cb8 Enable the new "tuned" coll component in an attempt to get wider
testing.  Note that this effectively replaces the "basic" component as
the baseline collective component.  Please report any problems with
this component.

If you run into problems with this component, you can disable it with:

   --mca coll_tuned_priority 0

This commit was SVN r8575.
2005-12-21 12:43:03 +00:00
Jeff Squyres
ce6639d3ef Remove an extra -o $@ that doesn't seem to be necessary, and actually
confuses the Lahey compiler (because it doesn't want to name a module
mpi_kinds.ompi_module).  We shouldn't need this because we're already
touching a sentinel file (mpi_kinds.ompi_module) for make
dependencies; we don't need the compiler-generated module to be named
that. 

This commit was SVN r8571.
2005-12-20 21:43:04 +00:00
Tim Woodall
8c1027d974 first cut at ack/retrans protocol
This commit was SVN r8570.
2005-12-20 21:42:58 +00:00
Brian Barrett
209fe64de0 * make sure we set the --enable-{static/shared} flags correctly for ROMIO
when linking into libmpi.{so,a} directly

This commit was SVN r8557.
2005-12-20 00:52:02 +00:00
George Bosilca
d3ed56e845 Remove the io.h header file.
This commit was SVN r8553.
2005-12-19 23:53:30 +00:00
George Bosilca
32a013e7d3 Add a header.
This commit was SVN r8552.
2005-12-19 23:32:16 +00:00
George Bosilca
f69d077343 Move the header in the right place.
Reove some unused code.

This commit was SVN r8551.
2005-12-19 23:31:42 +00:00
Andrew Friedley
f402854a96 Initial commit of uDAPL BTL component.
- Copied the template BTL and renamed everything
 - Compiles and shows up correctly in ompi_info, not tested past that
 - Should be ignored for everyone but me

This commit was SVN r8544.
2005-12-19 16:37:05 +00:00
Brian Barrett
a5af07cd6b fixes suggested by Ralf for supporting both Libtool 1 and 2 in Open MPI...
This commit was SVN r8538.
2005-12-19 03:10:23 +00:00
Jeff Squyres
ec08143923 Arrgh -- left a debugging printf in by accident.
This commit was SVN r8529.
2005-12-16 21:11:58 +00:00
Jeff Squyres
2bae18fd91 Fix MPI_IN_PLACE handling for Fortran collectives
This commit was SVN r8526.
2005-12-16 19:19:14 +00:00
Brian Barrett
b42bb3d8e8 More memory hooks tweaks... Set a flag on callbacks if the allocation /
deallocation came from the allocator (malloc, fee, etc) or somewhere
else (the user calling mmap/munmap, etc).  Going to be used by Galen
to determine if it is worth searching the allocations tree

Set flag if it is possible to intercept mmap (not always possible
due to a circular dependency between mmap, dlsym, and calloc)

This commit was SVN r8521.
2005-12-16 01:12:45 +00:00
Jeff Squyres
83d34c8435 - Remove some dead code
- Fix some typos from last commit
- Add collectives of intercommunicators
- Move the static current_op member from Intracomm to Comm
  --> this is still a remaining problem: the global variable
      current_op is not thread safe!

This commit was SVN r8520.
2005-12-15 22:07:34 +00:00
Jeff Squyres
8df345b66a Minor cleanups -- just keeping the real commit diffs meaningful.
This commit was SVN r8519.
2005-12-15 21:52:40 +00:00
Jeff Squyres
4379be6edc Fix some more const_cast issues. Thanks to Martin Audet for helping
with this.

This commit was SVN r8516.
2005-12-15 21:24:42 +00:00
George Bosilca
daceaf6219 The checksum code wasn't supposed to be turned on by default ...
This commit was SVN r8510.
2005-12-15 18:38:59 +00:00
George Bosilca
e008196f50 First implementation of the checksum in the datatype engine. I'm using adler 32
the same algorithm as in the zlib library, as it is supposed to be the fastest
one and still give good error detection. For those who want to activate the
checksum, there is a define at the bottom of the datatype_internal.h file.

This commit was SVN r8509.
2005-12-15 18:36:48 +00:00
George Bosilca
4af8085d3b The return is 0 or 1 so an int it's enought. Thanks Brian for catching this one.
This commit was SVN r8504.
2005-12-15 06:03:55 +00:00
Graham Fagg
8651658816 minor compile warnings fix
This commit was SVN r8497.
2005-12-14 19:09:46 +00:00
Rainer Keller
a7ef9fc379 - The PML uniq is different only in a few places from teg.
Get the diff down as close as possible, so only whitespace and a few
   rearrangements of code (in mca_pml_teg_add_procs, uniq is nicer to
read), so awked diff of both is minimal.

This commit was SVN r8489.
2005-12-13 09:45:01 +00:00
Rainer Keller
d1a5bacc5f - Only whitespace, no functional changes, except:
- Test for MPI_REQUEST_NULL within the often executed loop not
    necessary, but left as a comment
  - The req_fini may potentially return an error, do check for it in
    req_wait.

This commit was SVN r8488.
2005-12-13 08:58:00 +00:00
Rainer Keller
9b2c23bead - Do additional checks in case of MPI_PARAM_CHECK for NULL pointers.
This commit was SVN r8487.
2005-12-13 08:13:13 +00:00
George Bosilca
94c109081b Protection plus begining of shared memory on windows.
This commit was SVN r8464.
2005-12-12 20:24:07 +00:00
Tim Woodall
ebbac05f3c remove questionable sched_yield - probably left over from debugging
This commit was SVN r8457.
2005-12-12 16:00:27 +00:00
George Bosilca
ce68d752ba Protect the headers
This commit was SVN r8448.
2005-12-11 05:49:29 +00:00
George Bosilca
1b667067d6 I need to know the number of iovec attached to the fragment.
This commit was SVN r8447.
2005-12-10 23:28:16 +00:00
George Bosilca
e5158142b9 The lb should be extracted from the datatype not from the convertor.
This commit was SVN r8446.
2005-12-10 23:27:20 +00:00
George Bosilca
5c8c939713 Move the comment at the right place.
This commit was SVN r8445.
2005-12-10 23:25:29 +00:00
George Bosilca
01b0db91ae Get the lower-bound from the data not from the convertor.
This commit was SVN r8444.
2005-12-10 22:38:25 +00:00
George Bosilca
734c936205 As we use usleep we have to include unistd.h. So let's protect it.
This commit was SVN r8443.
2005-12-10 22:36:40 +00:00
George Bosilca
aa2217df8e If we don't have yield then use sleep ...
This commit was SVN r8442.
2005-12-10 22:18:41 +00:00
George Bosilca
6f45b6175a Header protection.
This commit was SVN r8441.
2005-12-10 22:11:10 +00:00
George Bosilca
53235eb34d The Windows protection is called __WINDOWS__ (and it's a mix between WIN32 and _WIN32).
This commit was SVN r8440.
2005-12-10 22:10:39 +00:00
George Bosilca
7baae4f394 Protect the headers and remove the unused ones.
This commit was SVN r8439.
2005-12-10 22:04:28 +00:00
George Bosilca
f8e875c8fb Always export this function.
This commit was SVN r8438.
2005-12-10 22:03:27 +00:00
George Bosilca
79486e5922 Protect the min function on Windows as it's defined by default in windows.h
This commit was SVN r8437.
2005-12-10 22:02:14 +00:00
George Bosilca
2166f460b2 Remove double prototype and add OMPI_DECLSPEC to exported functions.
This commit was SVN r8436.
2005-12-10 21:59:06 +00:00
George Bosilca
cf450027b0 Windows work:
- remove and protect header files
 - small cleanups.

This commit was SVN r8435.
2005-12-10 21:54:12 +00:00
George Bosilca
c6eb429a9a Wondows work:
- remove windows socket initialization (it's already in the TCP component)
 - protect all used header files
 - remove the unused ones.

This commit was SVN r8434.
2005-12-10 21:38:48 +00:00
George Bosilca
b7353c707d Remove unprotected header files.
This commit was SVN r8432.
2005-12-10 17:04:46 +00:00
Tim Woodall
4a92b29dee initialize info
This commit was SVN r8430.
2005-12-09 23:28:36 +00:00
Tim Woodall
1929a97d2f corrections for MPI_BOTTOM
This commit was SVN r8429.
2005-12-09 23:27:55 +00:00
George Bosilca
8888bfb063 And the thread-safe version. The lock/unlock macros are supposed to be
empty for non threaded builds, but somehow just by moving the code a
little bit around and removing 2 call to lock/unlock the latency for TCP
went down by 2 micro-seconds ...

This commit was SVN r8426.
2005-12-09 05:16:50 +00:00
George Bosilca
6fb4ce5e2e Some dependencies cleanups (there were on hold for a while).
This commit was SVN r8425.
2005-12-09 05:14:18 +00:00
George Bosilca
e65e98ca58 Small typo.
This commit was SVN r8424.
2005-12-09 05:10:51 +00:00
George Bosilca
2bf45d44cc EXTRA_DIST should be declared before going down into the directories.
This commit was SVN r8413.
2005-12-08 08:28:19 +00:00
George Bosilca
d145902b17 Move all win32 related files in opal, and modify all the Makefiles.am to
include the change.

This commit was SVN r8412.
2005-12-08 06:17:15 +00:00
Graham Fagg
141d4ea30a cleaned up ready for changes to move cached data off the MCW module to the
component (where they belong)

This commit was SVN r8407.
2005-12-08 03:14:57 +00:00
Jeff Squyres
6fbd321442 Fix a bunch of install locations for header files
This commit was SVN r8406.
2005-12-08 00:54:44 +00:00
George Bosilca
31fa688e67 Look like the correct way to detect the microsoft compilers is to check for _WIN32 and not WIN32.
This commit was SVN r8402.
2005-12-07 22:56:10 +00:00
George Bosilca
35f8ce5bbf Move the win32 from ompi directly into the include directory.
This commit was SVN r8401.
2005-12-07 22:50:55 +00:00
Craig E Rasmussen
d77f418fc9 Initial version.
This commit was SVN r8399.
2005-12-07 16:39:34 +00:00
George Bosilca
5851b55647 Improve the latency for small and medium messages. The idea is to decrease the
number of recv system call by caching the data. Each endpoint has a buffer
(the size is an MCA parameter) that can be use as a cache. Before each receive
operation this buffer is added at the end of the iovec list. All data that are
not expected by the fragment will go in this cache. If the cache contain data
all subsequent receive will just memcpy the data into the BTL buffers.

The only drawback is that we will spin around the receive_handle until all the
cached data is readed by the PML layer. This limitation come from the fact that
the event library is unable to call us if there is no events on the socket.
Therefore we are unable to keep the data in the cache until the next loop
into the progress engine.

This commit was SVN r8398.
2005-12-07 00:12:59 +00:00
Tim Woodall
bce1d2e220 volatile not required for non-threaded case
This commit was SVN r8392.
2005-12-06 18:27:56 +00:00
Brian Barrett
38391e3406 disable shared receive queue support at compile time if the mvapi implementation
does not support shared receive queues (such as the one shipped by SilverStorm / 
Infinicon for OS X).  Reviewed by Galen.

This commit was SVN r8389.
2005-12-06 15:46:30 +00:00
Brian Barrett
7998cca0f3 - don't try to read the LIBS info from ROMIO's configure script if running
the script did not complete successfully
- ROMIO likes to default to using the system compiler if no compiler is
  specified.  This can lead to using a different compiler for ROMIO as
  for Open MPI, which is not always a good thing.  Reset the default to
  behave the same way Open MPI does.

This commit was SVN r8380.
2005-12-05 23:54:27 +00:00
Tim Woodall
3f396aeae9 fix send to self for large messages
This commit was SVN r8379.
2005-12-05 23:36:33 +00:00
Jeff Squyres
5f949b567d forgot to commit this long ago
This commit was SVN r8378.
2005-12-03 15:38:42 +00:00
Rich Graham
137703da29 add some comments.
This commit was SVN r8376.
2005-12-03 00:14:58 +00:00
Tim Woodall
e135f850af backed out to much :-)
This commit was SVN r8356.
2005-12-01 17:32:27 +00:00
Tim Woodall
394bf196bd back out changes to match only one probe - consensus was we should
allow this if multiple threads post multiple probes

This commit was SVN r8353.
2005-12-01 17:17:06 +00:00
Tim Woodall
53a33f3bed dont allow fragment to match more than one probe
This commit was SVN r8352.
2005-12-01 17:06:40 +00:00
Tim Woodall
8c443832ae add a parameter to limit max number of btls (HCA ports used)
This commit was SVN r8342.
2005-11-30 22:18:21 +00:00
Tim Woodall
d7c1c23e3f corrections for handling probe with out of order delivery
- when processing out of order list - reset match to null on each iteration
- check matched request type and if probe - complete probe and queue fragment
  on unexpected list

This commit was SVN r8339.
2005-11-30 17:57:59 +00:00
Brian Barrett
72bb35a814 * don't build the ROMIO request f2c and c2f routines. We don't use them
(because we wrap ROMIO requests as first class OMPI requests).

This commit was SVN r8338.
2005-11-30 15:37:14 +00:00
Brian Barrett
7afad13808 * minor cleanup to remove warning
This commit was SVN r8337.
2005-11-30 14:43:52 +00:00
Jeff Squyres
6149b5fec8 Change from old-C-style casting to get rid of const to proper
const_cast<>-style casting.  For the rationle behind this, see:

http://www.open-mpi.org/community/lists/users/2005/11/0391.php

This commit was SVN r8327.
2005-11-30 03:22:27 +00:00
George Bosilca
b47aa5c142 If pending_length is not zero the datatype engine believe that a partial conversion is still in the buffer attached to the convertor. We have to force it to zero for all new convertors. This bug is still half fixed until I figure out a correct way to do it when we clone a convertor ... Anyway, this future correction will not affect open mpi.
This commit was SVN r8324.
2005-11-30 00:16:58 +00:00
Jeff Squyres
20eebeaa14 MPI_TESTANY is described in MPI-1 p46. The last 2 full paragraphs of
the page address three situations:

1. if the array of requests are all REQUEST_NULL, set flag=true and
   index=MPI_UNDEFINED
2. if the array of requests are not all REQUEST_NULL, if any of them
   finished, set flag=true and index=whatever_the_index_was
3. if the array of requests are not all REQUEST_NULL, if none of them
   finished, set flag=false and index=MPI_UNDEFINED

With regards to the index value, we are currently doing 1 and 2, but
not 3.  More specifically, index should be set to MPI_UNDEFINED if no
requests are found to have completed (regardless of whether they are
REQUEST_NULL or not).

This patch fixes this problem.

This commit was SVN r8319.
2005-11-29 23:41:04 +00:00
Brian Barrett
a46d0d3801 Add support to Open MPI for MPI_Register_datarep, as ROMIO now has support for the
functionality.  This is a global registration, so all components have to be made
aware of the registration -- therefore, do things at the component level, not the
module level.

This commit was SVN r8314.
2005-11-29 18:25:35 +00:00
Tim Woodall
5db38b38f5 corrections for latency issue
- don't do additional select until non-blocking read fails 
- don't do an additional read for 0 byte message

This commit was SVN r8312.
2005-11-29 17:33:01 +00:00
Brian Barrett
6bd76c8f91 * prefix the newest of the ROMIO MPI interface functions
This commit was SVN r8311.
2005-11-29 15:45:00 +00:00
Brian Barrett
f35d5d67a8 * PGI compilers found this little bugglet in ROMIO - check the datatype, not
the count when using the DATATYPE check macro....

This commit was SVN r8310.
2005-11-29 14:56:30 +00:00
George Bosilca
cae4b603f4 First cut of the checksum capabilities for the convertor. Right now it's always set to zero, but it will change shortly.
This commit was SVN r8305.
2005-11-29 06:33:21 +00:00
Brian Barrett
79bf8843d2 * update memory hooks interface to allow for callbacks on both allocations
and dealllocations, per request from Galen and Tim

This commit was SVN r8303.
2005-11-29 04:46:14 +00:00
Brian Barrett
8b9a539986 * update ROMIO with the version from MPICH 1.2.7p1, marked as version
2005-06-09

This commit was SVN r8300.
2005-11-29 01:41:53 +00:00
George Bosilca
9d990af4a5 Remove 2 useless functions. They have been replaced by the mca_base version few commits ago.
This commit was SVN r8287.
2005-11-28 20:14:23 +00:00
Galen Shipman
55a9fbefd8 fix misc compiler warnings..
This commit was SVN r8263.
2005-11-27 22:53:30 +00:00
George Bosilca
bfa4a40983 Cast it the a well known type to remove a warning.
This commit was SVN r8261.
2005-11-26 21:17:15 +00:00
George Bosilca
b9a739e2b6 Remove 2 useless assignments (they are done at the end before the return).
This commit was SVN r8260.
2005-11-26 21:16:30 +00:00
George Bosilca
011e46017f Match the latest changes on the TEG PML (increase ompi_request_completed when a request is
finished).

This commit was SVN r8259.
2005-11-26 21:06:37 +00:00
Rainer Keller
bf0892bb32 - Implement correct Fortran Logical-handling in f77/f90 interface in
case of:
    sizeof(MPI_Flogical) != sizeof (int)
  and
    Fortran value of .TRUE. != 1
  as is often the case.
- Check in configure the value of .TRUE., the C-type coresponding to
  logical and check, that fortran compiler does not do something strange
  with arrays of logicals
- Convert all occurrences of logicals in the fortran wrappers, only
  in case it is needed.
  *Please note* Implementation of MPI_Cart_sub needed special treatment.
- Output these value in ompi_info -a
- Clean up the prototypes_mpi.h to just have a single definition and
  thereby deleting the necessity for prototypes_pmpi.h

- configured, compiled and tested with F90-program, which uses
  MPI_Cart_create and MPI_Cart_get:
  linux ia32, gcc (no testing, as no f90)
  linux ia32, gcc --disable-mpi-f77 --disable-mpi-f90 (had a bug there)
  linux ia32, icc-8.1
  linux opteron, gcc-3.3.5, pgcc, pathccx/pathf90 (tested just
pgi-compiler)
  linux em64t, gcc, icc-8.1 (tested just icc)

This commit was SVN r8254.
2005-11-24 16:52:35 +00:00
George Bosilca
00c10a6372 Make the MX BTL startup scalable. When the number of processes involved in the MPI application
increase the previous connection code was broken. It can take as much as 60 seconds to connect
64 processes. Now we do not create the connections when we add the procs but only when we send
them the first message. Now it take only 1.6 seconds to setup a 64 procs MPI job over MX (doing a 2 steps barrier in order to insure that we create all the connections).

This commit was SVN r8252.
2005-11-23 23:48:56 +00:00
Edgar Gabriel
83cef7f8ac in scatterv we tested unfortunatly the wrong datatype for the
displacement (for both the inter and intra-communicator version). The
displacements in scatterv are given in multiples of the sendtype.
This fix should probably make to v1.0.1 as well?

This commit was SVN r8251.
2005-11-23 21:42:45 +00:00
Jeff Squyres
6b823e3663 Remove a little extra memory that is no longer needed
This commit was SVN r8246.
2005-11-23 11:16:59 +00:00
Edgar Gabriel
c96e4d43c7 fixes for other routines which take an MPI-2 byte displacement or an address as
an argument.

This commit was SVN r8244.
2005-11-23 03:52:19 +00:00
Edgar Gabriel
a1b00e0a49 fixing the fortran interface for MPI_Get_address. Since the address
argument is defined to be 

integer (KIND=MPI_ADDRESS_KIND)

we have to map that to an MPI_Aint in the f->c interface, else the
typecast back from the C to the Fortran interface will be wrong as well.
The same holds (at least) for all other new MPI-2 datatype functions
which take a byte-displacement or an address as an argument.

This commit was SVN r8243.
2005-11-23 03:22:50 +00:00
Edgar Gabriel
b6ddb73f38 fixing the condition under which the values of the c-functions are
passed back to the fortran routines. Should probably go to v1.0.1, but
is unfortunatly just half of the overall fix. 

This commit was SVN r8242.
2005-11-23 03:12:40 +00:00
George Bosilca
58ba8f033d Handle the case when there is no F77 support available for us.
This commit was SVN r8238.
2005-11-22 21:52:14 +00:00
George Bosilca
7c73095440 Update the correct sended size.
This commit was SVN r8237.
2005-11-22 21:51:04 +00:00
Tim Woodall
b06335abe2 start of a pml for data reliability
This commit was SVN r8236.
2005-11-22 17:24:47 +00:00
Jeff Squyres
9812694227 Ensure to instantiate MPI_F_STATUS_IGNORE and MPI_F_STATUSES_IGNORE.
Thanks to Anthony Chan for pointing this out.

Note that these will only work for the Fortran compiler that Open MPI
was configured with -- since these values, are, by definition,
single-value, they cannot support all 4 values that Open MPI may
generate for the different Fortran name-mangling schemes.  A lengthy
comment in ompi_mpi_init.c explains this in more detail.  Added to the
README to explain this situation, as well as the forthcoming
.TRUE. Fortran fixes.

This commit was SVN r8231.
2005-11-22 15:24:39 +00:00
George Bosilca
bec02702b7 Remove a static build conflict between UNIQ and TEG. Change the mca_pml_base_ptl_t to mca_pml_uniq_ptl_t
This commit was SVN r8227.
2005-11-22 03:44:18 +00:00
George Bosilca
1aa6d27ffe Remove all the compilation warnings I found including unused variables and functions.
This commit was SVN r8226.
2005-11-22 03:42:15 +00:00
Brian Barrett
20cea60b82 * fix "make distclean" error in PML
* turns out (duh!) that there was a reason that the <projectdir>dir
  variable was set in the AM conditional.  If not, stupid directories
  are created and not needed...  duh.

This commit was SVN r8205.
2005-11-20 07:41:09 +00:00
Brian Barrett
8faa1884f0 * The last of the build system optimizations. Combine the component and
component/base Makefile.am files, reducing the time configure spends
  stamping out Makefiles at the end
* Install base_impl.h file when devel-headers are being installed

This commit was SVN r8200.
2005-11-20 01:03:01 +00:00
Jeff Squyres
ebd97afdac - Make the types of the MCA param variables be "int", not "int32_t"
- Separate out the registration of the MCA params into a standalong
  function that is invoked by ompi_mpi_init() (so that ompi_info can
  see these params)
- Rename the params to "mpi_ddt_*" instead of "datatype_*" so that
  they fit into the common naming scheme

This commit was SVN r8196.
2005-11-18 22:51:11 +00:00
Galen Shipman
eb3ccdb4d8 make compiler happy on false postive warning..
This commit was SVN r8192.
2005-11-18 18:48:11 +00:00
Galen Shipman
4fce90a37b one last warning fixed on 32 bit platforms.
This commit was SVN r8191.
2005-11-18 17:27:09 +00:00
Galen Shipman
635e7a682b fix for 32bit compile warnings.
This commit was SVN r8190.
2005-11-18 17:08:51 +00:00
George Bosilca
bba42f5e49 We are allowed to call mx_set_error_handler before any other MX functions, even before mx_init.
With the errors set to return mx_init will not force the application to exit if there is no MX kernel
module loaded.

This commit was SVN r8184.
2005-11-17 18:47:27 +00:00
Brian Barrett
d60c7695d3 * need to declare environ on OS X
* work around fact that num_env is a size_t.  Thankfully, OS X compiler
  caught this one.

This commit was SVN r8180.
2005-11-17 08:19:47 +00:00
Galen Shipman
dde38d4119 reset sg_entry->addr to point at header when sending control messages.
cast to uint64_t (the correct datatype per verbs.h) instead of uintptr_t. 

This commit was SVN r8175.
2005-11-17 05:45:33 +00:00
Tim Woodall
58dd6c2493 - merge from release branch
This commit was SVN r8174.
2005-11-17 05:32:30 +00:00
Brian Barrett
028d1d179a push OMPI_* environment variables to spawned processes, similar to what we
do for mpirun/orterun.  This will allow -mca btl foo,self to work as 
expected when doing MPI_COMM_SPAWN and friends.

This should be pushed to the v1.0 branch

This commit was SVN r8170.
2005-11-16 22:20:33 +00:00
Tim Woodall
01b94862df merge from release branch
This commit was SVN r8168.
2005-11-16 17:12:44 +00:00
Tim Woodall
142b7cc682 merge from release branch
This commit was SVN r8167.
2005-11-16 17:10:49 +00:00
George Bosilca
7ad6b2b70e Add a MCA params to allow/disable the MX shared memory capabilities. Right now this param
is labeled as internal so the users will not see it but it is not read-only so we can still
play with it (that's for our internal tests). This is supposed to dissapear later after the
next (or next next) release of the MX library, but we need it now as a quick fix before the
release.

This commit was SVN r8161.
2005-11-15 20:54:45 +00:00
Tim Woodall
54b6acb2b4 merge from release branch
This commit was SVN r8149.
2005-11-13 23:31:20 +00:00
George Bosilca
bc2e80cbc6 This one can lead to memory corruptions. We modify the content of a buffer after calling a function supposed to free it. It happens right now that the destruct function just put it in the cache but still I don't think we should touch the buffer anymore.
This commit was SVN r8147.
2005-11-13 23:07:37 +00:00
George Bosilca
2749870f2c I'm in for the tuned collective module :)
This commit was SVN r8146.
2005-11-13 23:04:14 +00:00
George Bosilca
a8d2b70d63 Small fix fot the collision between the TEG and UNIQ PML.
This commit was SVN r8145.
2005-11-13 23:03:36 +00:00
George Bosilca
29ff698ab5 Modify to adapt to the new prototype of the "copy to self" function.
This commit was SVN r8144.
2005-11-13 23:02:18 +00:00
George Bosilca
c4e843ae08 A little add to the comment.
This commit was SVN r8143.
2005-11-13 23:01:41 +00:00
George Bosilca
9359be2190 Add the new dt_copy.c to the Makefile.am
Remove the old function from the dt_unpack.c and activate the new one from dt_copy.c
Add a MCA param ompi_copy_debug to get messages about the local memory copies in the new function.
Slightly change the prototype of the function to keep the compilers happy on some platforms.

This commit was SVN r8142.
2005-11-13 23:00:50 +00:00
George Bosilca
08a29da9a9 New version of the send data to self for the case where both the send and the receive data are
the same.

This commit was SVN r8141.
2005-11-13 22:57:28 +00:00
Jeff Squyres
e6a3a406e2 Remove debugging printf
This commit was SVN r8139.
2005-11-13 14:57:44 +00:00
Jeff Squyres
425d255c05 Add documentation about what is happening in this class.
This commit was SVN r8138.
2005-11-13 12:56:38 +00:00
Jeff Squyres
7643b7b459 More changes for correctness of the sm btl.
- remove dead code that isn't used anywhere (originally ompi_fifo_t
  was going to be a generalized class, but now it's exclusively used
  in the sm stuff, so there's no point in the generalized code that
  definitely *won't* work with the sm btl, or is not being used now
  [SVN always has history so we can go back])
- had to add an interprocess lock in the area where the writer may
  create a new circular buffer to ensure that the reader's tail
  doesn't accidentally end up back in the same old buffer while the
  head continues on to a new circular buffer (this was what was
  happening to cause some intel tests to hang -- e.g., MPI_Scan_c,
  MPI_Send_fairness_c and MPI_Isend_fairness_c).  Unbelievably, this
  may actually *increase* performance because it may order things
  better.  Will do performance testing tomorrow.  We're fairly certain
  that this lock can probably be removed and the code fixed in a
  different way, but we're under a deadline and correctness comes
  first, so it's been added to the to-do list to come back and
  re-examine this case later.

This commit was SVN r8136.
2005-11-13 05:00:22 +00:00
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
George Bosilca
932c67aeb3 MPI_COMM_WORLD should be the first communicator who get created even before MPI_COMM_SELF and MPI_COMM_NULL.
This commit was SVN r8132.
2005-11-12 03:47:17 +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
Jeff Squyres
24b9de292c Fix for [righteous] compiler warnings from xlf90 compiler on OSX
10.3.  Specifically define what the parameter type is, and mark its
intent. 

This commit was SVN r8124.
2005-11-11 23:18:59 +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
Jeff Squyres
bacfb4fa2b Remove the generated F90 interfaces for all the "2 buffer" MPI API
functions (e.g., MPI_REDUCE).  We don't generate the back-end
subroutines for them (because it makes an expontential number of
subroutines, and compilers literally will segv), so we shouldn't
generate the f90 interfaces for them, either.  This allows user's MPI
F90 apps to automaitcally fall through to the F77 bindings for these
functions.

This commit was SVN r8094.
2005-11-10 16:04:39 +00:00
Tim Woodall
985c2ca943 cleanup
This commit was SVN r8093.
2005-11-10 15:40:27 +00:00
Jeff Squyres
6e08072113 Fix for the interface name for MPI_File_write_ordered_begin -- the
name was changed to shorten it too early (and then not restored), so
the "interface" name was not output correctly into
mpi-f90-interfaces.h.  Change to make it like the other long functions
-- temporarily change it to a shorter name while outputing the
subroutines, and then revert it when outputting the end interface.

This commit was SVN r8086.
2005-11-10 14:10:20 +00:00
George Bosilca
405d9794f8 Somehow I miss to remove one of the previous definition for the unavailable data.
This commit was SVN r8080.
2005-11-10 02:59:20 +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
George Bosilca
55051b81c4 Activate the protection against unavailable datatypes. They get a flag DT_FLAG_UNAVAILABLE. We check now this flag in all the send/recv operations via the macros on mpi/c/bindings.h.
This flag is inherited by all datatypes create with unavailable datatypes. Basically, we let the user create the wrong datatype but we dont let him using it for any pt2pt communications or any pack/unpack.

This commit was SVN r8069.
2005-11-09 23:43:41 +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
Edgar Gabriel
b3d3552900 Fix for a problem Brian pointed out with cartesian communicators: in
comm_fill_rest there is no need for calling ompi_set_group_rank, since
we know already the rank of the process in the new comm. In case the
process was not part of the new communicator (rank = MPI_UNDEFINED)
calling this function caused a segfault on some platforms.

This commit was SVN r8060.
2005-11-09 21:00:58 +00:00
George Bosilca
a6fdc2b2b4 Turn off the missing data-type message on MPI_Init.
This commit was SVN r8056.
2005-11-09 17:34:44 +00:00
Galen Shipman
3079fc2da1 use correct lock for threaded build..
This commit was SVN r8055.
2005-11-09 16:09:05 +00:00
George Bosilca
de0676a3dd Do not do any local copy into the storage if this convertor is finished. This is usefull in the Pack/Unpack case when there is more data in the packed buffer than the one we try to extract.
This commit was SVN r8054.
2005-11-09 07:46:12 +00:00
George Bosilca
025a8a04c5 More optimization of the data-type description are now possibles. Some corner cases are corrected. As a result we discover more accurately the contiguous part of the data memory layout.
This commit was SVN r8051.
2005-11-09 00:02:39 +00:00
Tim Woodall
78522ed454 send credits on correct qp
This commit was SVN r8050.
2005-11-08 22:59:44 +00:00
George Bosilca
63ba3bde11 Allow the convertor to remember the last trucated unpack. If the same convertor is used for the next unpack it will put the data back correctly. However, if the BTL/PTL create a new convertor, even if it clone the last one this magic will not happens !
This commit was SVN r8048.
2005-11-08 21:48:48 +00:00
George Bosilca
cdfe5e71fd By default there is no pending length on the convertor.
This commit was SVN r8047.
2005-11-08 21:45:45 +00:00
Tim Woodall
b4ca28da4b removed debug
This commit was SVN r8046.
2005-11-08 21:41:02 +00:00
Jeff Squyres
6de5c208f2 Fix propblem with prototypes for wtick and wtime in prototypes_pmpi.h.
This commit was SVN r8043.
2005-11-08 19:45:51 +00:00
George Bosilca
7582ae3ef1 A simpler way to get output about the packing/unpacking. Now there are 2 MCA parameters datatype_pack_debug and datatype_unpack_debug. When they are set to 1 the ddt engine will dump a lot of messages. Dont turn them to one by default. But if you notice any problems in the ddt you can turn them to one and send me the output.
First step toward adding memory to the convertor. It will be able to keep partial basic datatype between calls ...

This commit was SVN r8042.
2005-11-08 17:49:51 +00:00
George Bosilca
2b9b5500b9 Change some variable's names.
This commit was SVN r8041.
2005-11-08 17:44:56 +00:00
George Bosilca
c63e4dcef9 When we finish one of the loops take care of the index of the begining of the loop. If it's -1 then we just complete the full datatype ... therefore we have to do something special.
This commit was SVN r8040.
2005-11-08 16:53:31 +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
George Bosilca
579398a135 Change some variable names (from pSrc to something more clear like user_memory and/or packed_buffer).
This commit was SVN r8034.
2005-11-08 03:12:58 +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
George Bosilca
4ed2da50e9 A step forward. The original displacement for contiguous data with gaps is now correctly computed. At least the original displacement.
This commit was SVN r8031.
2005-11-08 00:03:05 +00:00
George Bosilca
387390355c Shame on me ... there should be extent not displacement.
This commit was SVN r8030.
2005-11-08 00:02:14 +00:00
George Bosilca
ce65ef3c6e And here is the makefile that integrate the new files. Now ... have as much fun as I did :)
This commit was SVN r8029.
2005-11-07 23:25:12 +00:00
George Bosilca
ccbeb6ac5a Take in account the original displacement for contiguous datatypes.
Limit the amount of data to be packed to the remaining on the convertor. This make the things a lot simpler in the pack/unpack functions.

This commit was SVN r8028.
2005-11-07 23:24:13 +00:00
George Bosilca
5641f4f56b Change the name of one of the fields in the end_loop structure.
Update all the macros to reflect the change.
A slightly different version of the boundaries checking function.

This commit was SVN r8027.
2005-11-07 23:22:43 +00:00
George Bosilca
1ddb90bbae Slim fast ... Do as less as possible on the critical path. The most expensive function now is the one that compute the stack when we move to a new position. For this function there are
several versions depending on the type of the data annd the position where we want to go.

This commit was SVN r8026.
2005-11-07 23:21:27 +00:00
George Bosilca
461f607fd3 Add one prototype from the new_position.c
This commit was SVN r8025.
2005-11-07 23:19:54 +00:00
George Bosilca
8df200528d The END_LOOP structure change the name of one of it's fields.
This commit was SVN r8024.
2005-11-07 23:18:57 +00:00
George Bosilca
f7359e24d6 Add some macros in the begining of the file. They are not used right now, but they will be in few days.
Do not ignore the type and extent of the last optimized basic type in some special cases.

Update the last fake END_LOOpP with the correct value for the first_elem_disp field.

This commit was SVN r8023.
2005-11-07 23:17:00 +00:00
George Bosilca
53cb3c2bee Force the data name to the empty string when we call destroy.
This commit was SVN r8022.
2005-11-07 23:14:32 +00:00
George Bosilca
8799d1799a The shiny new pack and unpack functions. The big difference is that the displacement is
never stored on the stack. It is partially stored on the stack depending on the loops
but every time we pack/unpack a basic datatype we take in account again it's displacement.
This approach make the whole logic a lot simpler. In same time I split the big functions
in several basic block.

This commit was SVN r8021.
2005-11-07 23:13:04 +00:00