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

1460 Коммитов

Автор SHA1 Сообщение Дата
Galen Shipman
5600932c2f fix misc warnings
This commit was SVN r9339.
2006-03-20 15:41:45 +00:00
Galen Shipman
15bdbd5ca1 add parameter names to cb func
This commit was SVN r9338.
2006-03-20 15:29:35 +00:00
Brian Barrett
b74d3112ec * add missing header file to headers list so that it ends up in the dist
tarball

This commit was SVN r9336.
2006-03-20 04:37:33 +00:00
Brian Barrett
01603d3d9f * reorder copy_functions array to match current predefined datatype ordering
and add missing datatypes.

This commit was SVN r9335.
2006-03-20 01:16:30 +00:00
Brian Barrett
683dfd0135 * create a proper convertor for the remote proc if the architecture is
different

This commit was SVN r9334.
2006-03-20 01:13:41 +00:00
George Bosilca
e181153f16 Remove the bogus prototype.
This commit was SVN r9333.
2006-03-19 19:22:35 +00:00
George Bosilca
a0d25ab6ef Add missing prototype for the mvapi diagnostic function.
This commit was SVN r9331.
2006-03-18 19:38:56 +00:00
Tim Woodall
bd870519fd - modified convertor copy_and_prepare routines to accept an addition
flag, new flags to be included when convertor is initialized
- modified pml/btl module defs and added stub functions for diagnostic
  output routines to dump state of queues / endpoints
- updates to data reliability pml

This commit was SVN r9329.
2006-03-17 18:46:48 +00:00
Tim Woodall
712468dbef add diagnostic interface
This commit was SVN r9328.
2006-03-17 17:39:41 +00:00
George Bosilca
5819304916 Unfortunately, I cannot remove the log from SVN to erase all trace (for the sake
of the future generations) of my own way to define function prototypes.
Shame on me ...

This commit was SVN r9327.
2006-03-17 16:39:36 +00:00
George Bosilca
c2f001c0f2 Remove the dependency to datatype_memcpy.c. It's not yet ready for primetime.
This commit was SVN r9326.
2006-03-17 16:03:23 +00:00
George Bosilca
0fe57bb44c Allow the convertor to select between pack/unpack with or without
checksum. Specify CONVERTOR_WITH_CHECKSUM when the convertor is
created and all the pack/unpack functions attached to this convertor
will be checksum aware.

This commit was SVN r9325.
2006-03-17 08:27:17 +00:00
George Bosilca
6babf2f874 Rename files.
This commit was SVN r9324.
2006-03-17 08:10:37 +00:00
George Bosilca
9955eb2f2e Last step for the generation of 2 set of pack/unpack functions. One with
checksum and the other without. Split the large files into smaller one, and
put similar functions together.

This commit was SVN r9323.
2006-03-17 08:04:59 +00:00
Galen Shipman
a465047e97 enable timeouts and retransmissions
This commit was SVN r9322.
2006-03-16 22:33:08 +00:00
George Bosilca
229f26dc55 First split of the datatype. More files and a cleaner distribution of functions
in the corresponding files. There are few others changes to come ...

This commit was SVN r9319.
2006-03-16 21:04:34 +00:00
Galen Shipman
3c9ce06f59 Use new csum routines
This commit was SVN r9318.
2006-03-16 20:26:33 +00:00
Galen Shipman
ff75de8c52 more dr work, add destination check on all receives, misc
This commit was SVN r9317.
2006-03-16 19:38:21 +00:00
Brian Barrett
234adb292b * add ability to try a couple of different collectives for fence
synchronization to see which gives the best performance

This commit was SVN r9314.
2006-03-16 18:40:42 +00:00
Jeff Squyres
8a9e76dfa3 Thanks to Sven for noticing that the increment in scatter should be
per the send datatype, not the receive datatype (MPI-1:105).

This commit was SVN r9312.
2006-03-16 18:18:28 +00:00
Mohamad Chaarawi
b8c9adc833 checking of multiply included/excluded processes in
group_range_incl/excl has now been separated from the implementation.

This commit was SVN r9311.
2006-03-16 17:51:16 +00:00
Tim Woodall
bab5b2a63e check for resource leak
This commit was SVN r9310.
2006-03-16 17:27:54 +00:00
George Bosilca
e79f35fe6c Copy the last fake DT_END_LOOP too when we duplicate the data.
This commit was SVN r9309.
2006-03-16 17:21:10 +00:00
George Bosilca
4aa343990f Remove the segfault in ompi_info, when we try to destruct a not yet
constructed object.

This commit was SVN r9308.
2006-03-16 16:56:22 +00:00
Rainer Keller
2ce64c6fc7 - Add missing signed_char
All hail the moog!

This commit was SVN r9299.
2006-03-16 11:06:59 +00:00
Rainer Keller
a8144cca8d - Fix the return codes -- not OMPI, but MPI..
- Use the datatype-checks of bindings.h within recv.
   However, for the time being disable the check for overlapped,
   as it is not correctly set.

This commit was SVN r9298.
2006-03-16 09:42:46 +00:00
Andrew Friedley
a3e2d2442b Mostly whitespace and other small cleanups.
Fixed configure.m4 to pull in the modified CFLAGS properly.

Some additional error checking and use of OMPI_ENABLE_DEBUG.

This commit was SVN r9296.
2006-03-16 02:38:08 +00:00
George Bosilca
49c40f596b No data validation by default.
This commit was SVN r9295.
2006-03-16 01:35:49 +00:00
Tim Woodall
178d8ea905 use consistent macros for csum
This commit was SVN r9294.
2006-03-16 00:20:43 +00:00
Tim Woodall
9e958f727f additional macros for csum
This commit was SVN r9293.
2006-03-16 00:19:55 +00:00
Tim Woodall
c34f4c2cb7 correct cleanup for threaded case
This commit was SVN r9291.
2006-03-16 00:05:39 +00:00
George Bosilca
612570134f The request management framework has been redesigned. The main idea is
to let the PML (or io, more generally the low level request manager)
to have it's own release function (what was before the req_fini). This
function will only be called from the low level while the req_free will
be called from the upper level (MPI layer) in order to mark the request
as not used by the user anymore.

From the request point of view the requests will be marked as inactive
everytime we read their status (true for persistent as well). As 
MPI_REQUEST_NULL is already marked as inactive, the test and wait functions
are simpler. The drawback is that now we have to change in the
ompi_request_{test|wait} the req_status of the request once we get it's
status.

This commit was SVN r9290.
2006-03-15 22:53:41 +00:00
George Bosilca
fd01a23e7f Remove unused variables.
This commit was SVN r9289.
2006-03-15 22:49:05 +00:00
Brian Barrett
115a3cdd1a * add datatype directory to dist_subdirs as well as subdirs. Fixes broken
make dist from last night

This commit was SVN r9287.
2006-03-15 15:03:15 +00:00
Brian Barrett
5c7751f9a2 * configure changes required to support the double compile of the ddt engine.
still need to coordinate some Makefile.am changes with george tomorrow, but
  this is the stuff that will require re-autogening

This commit was SVN r9285.
2006-03-15 03:35:30 +00:00
George Bosilca
d19e924ca8 gcc print out: warning: ISO C90 forbids mixed declarations and code.
This commit was SVN r9283.
2006-03-14 22:27:19 +00:00
George Bosilca
8fb84e90ce It's already done in the send ... we don't have to initialize this
field several times.

This commit was SVN r9282.
2006-03-14 21:55:57 +00:00
Mohamad Chaarawi
c5a8870f6b move the implementation of the group creation functions into according back-end
functions. 

This commit was SVN r9281.
2006-03-14 21:01:46 +00:00
Mohamad Chaarawi
7ecc505f5c generate back-end functions for the group creation
operations. The only item left for this transition is to move the check
for multiply included/excluded processes in group_range_incl/excl to the
MPI layer.

This commit was SVN r9280.
2006-03-14 21:00:55 +00:00
Graham Fagg
fcca36d280 Add missing ifdef
This commit was SVN r9279.
2006-03-14 20:48:50 +00:00
Tim Woodall
0b366e912c macros to compute checksum while moving data
This commit was SVN r9278.
2006-03-14 19:33:27 +00:00
Tim Woodall
92c5e26758 correct scheduling
This commit was SVN r9277.
2006-03-14 18:25:25 +00:00
Edgar Gabriel
6ae01b4c3a minor correction regarding the reference count of ompi_mpi_group_null.
This commit was SVN r9273.
2006-03-13 22:58:27 +00:00
Edgar Gabriel
073c6e6c32 The f2c interface of these routines have to do proper conversation of
fortran strings to c strings, else the name-publishing and name-lookup
and all subsequent calls (e.g. connect/accept) do not work with fortran.

This commit was SVN r9272.
2006-03-13 22:56:56 +00:00
Tim Woodall
11ebf40814 correction
This commit was SVN r9265.
2006-03-13 17:58:00 +00:00
Tim Woodall
a0c816b239 make sure requests are released correctly for status ignore case
This commit was SVN r9264.
2006-03-13 17:44:52 +00:00
Galen Shipman
440417e92c Add max_btls option
This commit was SVN r9263.
2006-03-13 17:03:21 +00:00
Sven Stork
12b94972e2 Fix comment of a paramter.
This commit was SVN r9261.
2006-03-13 09:11:46 +00:00
Brian Barrett
1f6e85af4c Let's try this again, this time with less suck.
* Don't do the .in -> .tmp -> header thing for the prefixes and versions.
  It causes some severe cleanup issues all to save 4 files from rebuilding
  when configure is run.
* Clean up some makefiles so it's clear what is being installed/disted

This commit was SVN r9260.
2006-03-12 17:56:58 +00:00
Brian Barrett
871957437d * SilverStorm's header files do some evil things that cause some of our
header files to go bad.  Include vapi.h after our headers to solve
  the issue.

This commit was SVN r9258.
2006-03-12 04:45:28 +00:00
Brian Barrett
c42da09796 * Fix a small bug George noticed - if you change the prefix (or any of the
installation directories) in configure, the files that depend on this
  information are not properly rebuilt.  If you need this information,
  don't setup a -D in the Makefile.am - instead, include 
  opal/install_dirs.h.
* Use the : option in AC_CONFIG_FILES to avoid needing to expose that
  we are playing around with temporary files with our headers to avoid
  rebuilding
* Clean up the version file information a bit, and like the install 
  directory stuff, make sure that there is a dependency so that 
  ompi_info gets rebuilt properly when a version number changes.

This commit was SVN r9256.
2006-03-12 04:35:01 +00:00
Brian Barrett
d041558f85 * protect lock when not building threaded
This commit was SVN r9254.
2006-03-11 03:20:50 +00:00
Brian Barrett
3e2c51dea8 * fix some silly commenting done by a previous developer that are good for
a laugh but probably not good for usability ;)

This commit was SVN r9253.
2006-03-11 03:09:24 +00:00
Brian Barrett
eafdfba0d4 * remove useless debugging output
This commit was SVN r9252.
2006-03-11 03:04:12 +00:00
Rainer Keller
b4e7f38360 - Well, well, the OMPI_OP_TYPE_CHAR *was* not supposed to stay in the
enum. Actually, the current ordering of the enum is the nice
   however, at the moment for 1.0, signed_char is not supported.

This commit was SVN r9246.
2006-03-10 16:02:45 +00:00
Brian Barrett
bbfd10fb39 * check for 0 byte movement should happen before trying to allocate a
request, not while trying to allocate a request (duh)

This commit was SVN r9239.
2006-03-10 01:57:01 +00:00
Tim Woodall
d18e2b46a4 correct for threaded build
This commit was SVN r9238.
2006-03-09 21:37:56 +00:00
Rainer Keller
f917374954 - Minor fix: rearrange function a bit; assert group_size
This commit was SVN r9235.
2006-03-09 18:18:24 +00:00
Tim Woodall
9ae910044b resolve threading issue
This commit was SVN r9234.
2006-03-09 17:59:05 +00:00
Tim Woodall
c83b2fce4d resolve threading issue
This commit was SVN r9233.
2006-03-09 17:57:31 +00:00
Rainer Keller
762c62b04a - Free str, in case it is allocated.
This commit was SVN r9232.
2006-03-09 17:23:00 +00:00
Rainer Keller
0fa295dc28 - Allow MPI_UNSIGNED_CHAR and MPI_SIGNED_CHAR for Reduction operations
as described by MPI2, p77.

This commit was SVN r9229.
2006-03-09 16:51:59 +00:00
Brian Barrett
d721d24a5d * Make MPI_WIN_NULL a full object rather than a NULL pointer, fixing the problems
with MPI_WIN_NULL and the Fortran bindings.

  It appears I had already done this, since all the infrastructure was already
  in place.  I probably edited mpi.h instead of mpi.h.in.  Sigh.

This commit was SVN r9228.
2006-03-09 16:22:15 +00:00
Jeff Squyres
f7b96edf2e Print the rcache components for the rcache framework, not the bml
components. 

This commit was SVN r9222.
2006-03-08 22:50:10 +00:00
George Bosilca
4fb373c7e8 HAVE_MALLOPT is defined only when we have it. It's not a 1/0 ttype of define, it's a
defined/undefined one.

This commit was SVN r9221.
2006-03-08 22:29:01 +00:00
Graham Fagg
95b060c741 output the right name and stop confusing george
This commit was SVN r9215.
2006-03-08 00:40:14 +00:00
Edgar Gabriel
be9ea4d1b0 we should pass c_command to MPI_Comm_spawn, and not the fortran version
of the string. Since it is relevant fix, however not affecting any other
part of the source code, should probably still go onto the 1.0 branch.

This commit was SVN r9214.
2006-03-07 23:13:42 +00:00
Galen Shipman
5531baaec6 fix warnings, generalize acked datastructure, allows for easier external
testing. 

This commit was SVN r9212.
2006-03-06 23:18:26 +00:00
George Bosilca
1d0e378df3 icc complain about a missing return.
This commit was SVN r9211.
2006-03-06 21:42:07 +00:00
George Bosilca
d5cee0cd75 Data validation should only be used with DR PML.
This commit was SVN r9210.
2006-03-06 20:01:26 +00:00
Tim Woodall
d350232c04 work in progress
This commit was SVN r9209.
2006-03-06 19:30:37 +00:00
George Bosilca
679ccbcac7 Correctly handle the MPI_STATUSES_IGNORE, and trigger the MPI error handler and return the
same error code.

This commit was SVN r9206.
2006-03-06 16:59:46 +00:00
Tim Woodall
0ef924769a minor edits
This commit was SVN r9205.
2006-03-06 16:32:36 +00:00
Rainer Keller
517c0d769c - Check for ORTE-error return code
- Free keys[2] as well

This commit was SVN r9203.
2006-03-05 11:18:19 +00:00
Jeff Squyres
2cceba7230 Fix to George's and my bugs. :-) A comedy of errors made the test
case still compile properly, even though these bindings were wrong.  :-(

- Both interface functions are necessary.
- I accidentally had a subroutine interface named the same thing as the
  back-end F77 function -- a definite no-no.  Ensure that all F90
  interface functions have a suffix to make them different than the
  back-end F77 function names.
- Also parameterize the output() subroutine on the type of the argvs
  parameter to switch between the character arrays and the integer.

This commit was SVN r9202.
2006-03-04 19:36:13 +00:00
George Bosilca
a649ebc7c6 MPI_Comm_spawn_multiple does not need to have 2 definitions. Moreover,
this function is not allowed to call itself recursively.

This commit was SVN r9201.
2006-03-04 19:22:55 +00:00
Jeff Squyres
a192af34e7 Shame on me for not looking at the expanded collective datatype tables
for the C++ bindings in MPI-2 p276-278 to see that MPI_BOOL should
work with MPI_LAND, MPI_LOR, and MPI_LXOR.  Thanks to Andy Selle for
pointing this out.

This commit was SVN r9200.
2006-03-04 18:35:33 +00:00
George Bosilca
bd109c90f5 One of the , was missing.
This commit was SVN r9199.
2006-03-04 17:41:57 +00:00
Jeff Squyres
9d119109b6 Change the types of some of the "special" constants in mpif.h so that
they will match the prototypes in the [styictly-typed] MPI F90
bindings.  Specifically, fix up MPI_COMM_SPAWN and
MPI_COMM_SPAWN_MULTIPLE so that the constants MPI_ARGV_NULL,
MPI_ERRCODES_IGNORE, and MPI_ARGVS_NULL can be used in the F90
bindings.  Thanks to Michael Kluskens for pointing this out to us.

Some work still remains in the F90 bindings -- we are missing all
places where choice buffers can be of type CHARACTER.

This commit was SVN r9198.
2006-03-04 14:24:44 +00:00
Rainer Keller
9e1c5716b6 - opal_cube_dim does not return an error
This commit was SVN r9196.
2006-03-04 13:47:24 +00:00
Jeff Squyres
c31e515db1 Since we've had problems recognizing the "special" Fortran constants,
add an explicit test case that checks for them.  It is necessary to
put this test function here because the OMPI_IS* macros are only
defined in this directory.

This commit was SVN r9195.
2006-03-04 13:23:19 +00:00
Jeff Squyres
adc6753fa9 Check for ARGVS_NULL, not ARGV_NULL
This commit was SVN r9194.
2006-03-04 13:22:12 +00:00
Rainer Keller
5627fb5627 - Get rid of compiler warning: init type to DT_MAX_PREDEFINED
and assert it is below when accessing ompi_ddt_basicDatatypes
 - datatype in ompi_ddt_pack_description_length is and will not be
   changed.

This commit was SVN r9193.
2006-03-04 13:16:04 +00:00
Tim Woodall
274ee03df6 work in progress
This commit was SVN r9192.
2006-03-04 00:36:16 +00:00
George Bosilca
ca116e3cf3 Where we create a duplicate data-type for the get_content MPI function we have to attach the
args from the old data-type. As this args are only read-only, I don't want to have several
copies around, so I add a reference count to them and simply attach them to the new
datatype. The args array now get freed only when the last reference dissapear.

This commit was SVN r9191.
2006-03-03 20:51:36 +00:00
Galen Shipman
4e430b0428 fix warnings, other misc
This commit was SVN r9190.
2006-03-03 04:01:10 +00:00
Rainer Keller
b8d1189091 - Use the actual _count parameter passed through the macro
This commit was SVN r9189.
2006-03-02 20:23:07 +00:00
Tim Woodall
8bf6ed7a36 - corrected locking in gm btl - gm api is not thread safe
- initial support for gm progress thread
- corrected threading issue in pml
- added polling progress for a configurable number of cycles to wait for threaded case

This commit was SVN r9188.
2006-03-02 00:39:07 +00:00
Galen Shipman
84d3055db5 Make sure everything is imediatly acked, even if not matched
Buffer first descriptor on the sendreq until postive ACK 
Set bytes delivered only after postive ACK, removed num_acks, etc, in general
trying to remove as much state as possible so that rolling things back isn't
such a nightmare 

This commit was SVN r9187.
2006-03-01 22:37:10 +00:00
Brian Barrett
1479a90b39 * assert() that endianness doesn't need to change if we are sending RDMA headers
around, since OB1 currently doesn't do the right thing there, but that should
  not happen in the near future because the R2 BML should not make any RDMA
  networks available between machines with different architectures
* Clean up the #ifs a little bit so that we don't do unneeded work when
  on big endian machines and heterogeneous support is disabled...

This commit was SVN r9184.
2006-02-28 19:54:46 +00:00
Rainer Keller
8568bb9892 - Allow MPI_ERRCODES_IGNORE when checking is on.
This commit was SVN r9180.
2006-02-28 10:16:42 +00:00
Brian Barrett
579e74290f * make gm wire-up endian safe
This commit was SVN r9179.
2006-02-28 02:03:46 +00:00
Galen Shipman
d9fd35d399 add acked items to datastructure,
fix compile issue. 

This commit was SVN r9178.
2006-02-28 01:07:35 +00:00
Galen Shipman
c6b4cc4417 Add data structure to track ACK's
This commit was SVN r9177.
2006-02-27 22:56:43 +00:00
Brian Barrett
e865a751bd * First whack at making the onesided component endian safe. Needs a endian-safe
datatype engine to really give it a whirl ;).

This commit was SVN r9176.
2006-02-27 18:47:00 +00:00
Galen Shipman
db6b1db548 use pml level datatype, someone else already cleaned this up in ob1.
This commit was SVN r9174.
2006-02-27 18:20:49 +00:00
Galen Shipman
2aa7b129a6 don't use ptl datatypes!
This commit was SVN r9173.
2006-02-27 18:07:38 +00:00
Brian Barrett
bfd49d248b * (hopefully) fix MPI_BOTTOM for portals, same way as oll the other RDMA btls from
eons ago...

This commit was SVN r9172.
2006-02-27 17:07:24 +00:00
Brian Barrett
9b19e3fef0 * remove some debugging output that shouldn't have been committed. Doh!
This commit was SVN r9171.
2006-02-27 16:23:52 +00:00
Rainer Keller
4b1194056f - Upon Finalize, also release the memory of predefined attributes.
This commit was SVN r9169.
2006-02-27 15:15:48 +00:00
Rainer Keller
5102571c02 - Get rid of the temporary reachability bitmap.
This commit was SVN r9163.
2006-02-27 11:06:01 +00:00
Jeff Squyres
4a0d9bd46f Turns out that $(MCA_io_romio_STATIC_LTLIBS) is a throwback to a
previous incarnation of the configure/build system and isn't defined
anymore.  So it can be removed.

This commit was SVN r9158.
2006-02-27 03:28:40 +00:00
Jeff Squyres
d068c1516c A few minor Makefile.am fixes
This commit was SVN r9157.
2006-02-27 03:18:57 +00:00
Brian Barrett
d45b2b77d1 * don't reset AR or RANLIB - libtool will do the "right thing" for us
This commit was SVN r9151.
2006-02-26 20:32:47 +00:00
Brian Barrett
285581dff2 More endian-related cleanups:
- moved hton64 and ntoh64 from the bunch of places it had been copied
    into one header file
  - properly set and use the btl_tcp's nbo option to put things in
    network byte order on the wire if both sides don't have the same
    endianness
  - Put the OB1 PML's headers (with a couple exceptions I need to discuss
    with Tim) in network byte order on the wire if both sides don't have
    the same endianness
  - since it was needed for the TCP BTL, move the orte_process_name_t
    HTON and NTOH macros from the TCP OOB to ns_types.h

This commit was SVN r9145.
2006-02-26 00:45:54 +00:00
Brian Barrett
88448cf40a * fix setting of remote proc architecture integers. We were setting all
procs architecture ints to the architecture of the last proc we got 
  in the list from the gpr, which is probably not what we intended to
  do...

This commit was SVN r9144.
2006-02-26 00:05:25 +00:00
Galen Shipman
05140c5f8f Rework the data reliability PML, still needs quite a bit of work,
working on creating a uniform retransmission mechanism otherwise each type of
send ends up needing a special case for retransmission. 
Removed NACK for individual transmissions, we just aggregate these and send
them at the end of a vfrag 

This commit was SVN r9141.
2006-02-24 17:08:14 +00:00
Brian Barrett
d5e0ea3590 * Post and Start should only check their epoch types for conflicts, otherwise
you can't be in a post and a start at the same time, and that is clearly
  legal to do
* Fix interptretation of when the epochs start for MPI_Fence.  Only start
  an epoch if communication actually occurs, otherwise it isn't actually
  an epoch.  I don't know who thought that wording in the MPI standard
  was a good idea, but can't change it now...

This commit was SVN r9139.
2006-02-24 13:04:15 +00:00
Brian Barrett
27b8430e8f * update MPI_ACCUMULATE to perform it's parameter checking based on what
MPI-2:6.3.4 says about reduction operations
* Have the point-to-point one-sided component spew a warning and return
  an error if a non-predefined datatype is used with an MPI_OP other
  than MPI_REPLACE.  Yes, this violates the MPI standard, but it's the
  best we can do until George and I implement support for figuring out
  where all the locations to update are..

This commit was SVN r9134.
2006-02-23 21:07:49 +00:00
George Bosilca
06def0b2d6 Not one .. but i. We're looking at the current position not at the first position
in the buffer ...

This commit was SVN r9132.
2006-02-23 15:59:17 +00:00
Brian Barrett
c544584387 * fix a race condition where a sendreq could be reused if it was originally
for a Get request and the reply came in before the local completion
  callback was fired from the btl.
* Silence some more debugging output for the moment

This commit was SVN r9130.
2006-02-23 06:02:10 +00:00
Brian Barrett
57b9c22adf * fix for last ptl fix... have to actually return a value...
This commit was SVN r9129.
2006-02-23 05:24:58 +00:00
George Bosilca
39252b764f Correctly compute the size of the datatype.
This commit was SVN r9127.
2006-02-23 04:30:52 +00:00
George Bosilca
79d25220b6 HAVE_MALLOPT is automatically detected by configure, so the correct
check is not against a value but against the define.

This commit was SVN r9126.
2006-02-23 04:30:24 +00:00
George Bosilca
0c1c650c91 Do not forget to commit the data-type once it is created from the
packed description.

This commit was SVN r9125.
2006-02-23 04:29:21 +00:00
George Bosilca
574c384ad4 This is the internal function so we should return the correct type. The
external function is type_size and it's used only at the MPI level as MPI
only support integers for the size.

This commit was SVN r9124.
2006-02-23 04:28:44 +00:00
Brian Barrett
2db1babd40 * complete the correct group
This commit was SVN r9123.
2006-02-23 02:42:39 +00:00
Jeff Squyres
628125599d Fix the TCL btl module endpoint matching during setup for the scenario
when running an MPI job spanning a node that has two TCP NICs and a
node that has one TCP NIC.  Previously, for the 2 NIC/module process,
we would return the first peer IP address if we couldn't find a subnet
match with any of the peer's published IP addresses -- this was to
support running OMPI across subnet boundaries.  Changed the behavior
to only do that behavior if the IP address we're trying to match is
public (i.e., not 10.x.y.z, 192.168.x.y, or 172.16.x.y) *and* any of
the remote peer's addresses are public (working on the assumption that
if we both have public addresses, they're routable to each other).

This definitely will not work in all scenarios, such as when we go to
WAN kinds of executions, and will need to be revisited at that time.

This commit was SVN r9119.
2006-02-23 02:02:19 +00:00
Brian Barrett
2eb76ff0cd * finish the TEG/UNIQ/PTL removal
This commit was SVN r9118.
2006-02-23 00:39:01 +00:00
Tim Woodall
08b3bad09d removed teg/ptls
This commit was SVN r9115.
2006-02-22 21:23:24 +00:00
Galen Shipman
e58b758031 standardize behavior of btl_alloc, if the size is larger than the max send
size, btl_alloc returns NULL. 

This commit was SVN r9114.
2006-02-22 17:37:59 +00:00
Brian Barrett
0d098c9d57 * after talking with galen, take into account we might truncate
This commit was SVN r9113.
2006-02-22 17:03:04 +00:00
Brian Barrett
765d2ffc29 * the self btl should set the segment size field on alloc like the other btls
* clean up duplicate free in long message accumulates that looks like it was
  a cut-n-paste error

This commit was SVN r9112.
2006-02-22 16:20:13 +00:00
Brian Barrett
63be889350 * include the correct file if we are doing the component bypass thing with ob1
This commit was SVN r9111.
2006-02-22 16:16:38 +00:00
Galen Shipman
cb06ed95e1 Allow registration cache to be limited both by number of entries as well as
total bytes registered. 
Currently this defaults to limiting the rcache to 256 entries or 1GB in total
registrations.

This commit was SVN r9110.
2006-02-22 14:35:47 +00:00
George Bosilca
805c45de29 Don't let a division by zero happens ...
This commit was SVN r9109.
2006-02-22 06:34:05 +00:00
Brian Barrett
44d13b0bab * add a bunch of (currently disabled) debugging output statements
* fix a silly bug where we weren't adding a long accumulate message to
  the pending long messages list, so we hung if a long accumulate
  occurred.  Still having some memory issues on one of the tests I'm
  running - need to move over to Linux and Valgrind after some sleep.

This commit was SVN r9108.
2006-02-22 05:14:34 +00:00
Galen Shipman
4612f70815 conditionally compile mpool_disable_sbrk if mallopt is present.
This commit was SVN r9107.
2006-02-21 22:27:41 +00:00
Jeff Squyres
8f7311becd Fix a few copy-n-paste errors: when an op is invalid, invoke the MPI
exception on the passed communicator, not MPI_COMM_WORLD.

This commit was SVN r9105.
2006-02-21 19:11:40 +00:00
Brian Barrett
889aeeddb2 * clean up the error checking a bit - user defined datatypes are allowed for
MPI_OP_REPLACE.  All other rules are basically the same as MPI_Reduce, so
  use that helper function.

This commit was SVN r9104.
2006-02-21 19:00:49 +00:00
Brian Barrett
eb7e722588 * clean up some of the debugging in the onesided code so that I can understand
what is going on
* Fix a dumb error where if a lock was released and another was pending, I
  would send a lock *request* to the queued process, rather than giving
  him the lock and sending him a lock *ack*.  Turns out requests and
  acks are different things :)

This commit was SVN r9103.
2006-02-21 18:43:28 +00:00
George Bosilca
9dd522e350 Correct the MPI_COMBINER_DUP case when we generate the data description. Now, we have an
optimized version here, where we pack only 2 integers instead of 6.

This commit was SVN r9102.
2006-02-21 17:16:30 +00:00
George Bosilca
3ac541a722 Remove some debugging code.
This commit was SVN r9101.
2006-02-21 15:17:50 +00:00
George Bosilca
d4ab61aec5 Homogeneously handle the one-sided features of the datatype.
This commit was SVN r9096.
2006-02-20 17:22:29 +00:00
George Bosilca
79be2dbcdb Anything else than void* cannot be print with %p ...
This commit was SVN r9094.
2006-02-19 16:34:15 +00:00
George Bosilca
a2a08b2282 Add the missing prototype and use the function (ompi_ddt_print_args)
in ompi_ddt_dump.

This commit was SVN r9093.
2006-02-18 18:15:54 +00:00
George Bosilca
19fb826caf Add a new function to print how a datatype was created based on the
MPI informations stored in args (the MPI_COMBINER stuff). This function
print only one level of information but it expand the name of the
datatype if the data is a predefined one.

This commit was SVN r9090.
2006-02-18 04:18:39 +00:00
George Bosilca
b62b4eb5b8 icc point out a lot of useless comparaison as well as some warnings about
inlined functions. Thie patch fix them all.

This commit was SVN r9082.
2006-02-17 05:15:59 +00:00
George Bosilca
f4d1bea50e Allow us to add zero length datatype ...
This commit was SVN r9079.
2006-02-17 05:07:28 +00:00
George Bosilca
1740ab1209 I just wanted to add a flag not to replace the old ones.
This commit was SVN r9076.
2006-02-16 22:39:06 +00:00
George Bosilca
09aa367563 When we create a convertor if the data size is zero mark it as completed. That avoid
problems with 0 length datatype used for pack/unpack.

This commit was SVN r9075.
2006-02-16 22:36:42 +00:00
George Bosilca
eef3b6b2ba A lot better with a comma inside ...
This commit was SVN r9070.
2006-02-16 21:13:17 +00:00
George Bosilca
7d9f1992f2 Print more information about the convertor in ompi_convertor_dump.
This commit was SVN r9069.
2006-02-16 21:01:29 +00:00
Brian Barrett
34c901dcb2 * fix race condition due to poorly placed memory barriers that was causing
crashes with the shared memory btl

This commit was SVN r9066.
2006-02-16 20:14:33 +00:00
Galen Shipman
0bc3cbf0db Corrections to pml_dr, now passes intel test suite (p2p_c).
Note, the checksums are not enabled currently, setting to zero as the
convertor is not ready for checksums yet. 

Also, we can't call unpack/pack on convertor with 0 bytes, otherwise it
crashes. 

This commit was SVN r9062.
2006-02-16 16:15:16 +00:00
George Bosilca
745ec1057f Remove the compilation warning.
This commit was SVN r9047.
2006-02-15 15:07:40 +00:00
Jeff Squyres
780154469b Prettyprint
This commit was SVN r9046.
2006-02-15 13:19:42 +00:00
Jeff Squyres
c674c165fd - Fix final check in TYPE_CREATE_F90_INTEGER
- Add more checks on the params to ensure that the user conformed to
  MPI-2 (i.e., can have MPI_UNDEFINED for p *or* r in the real/complex
  functions, but not both)
- Always return MPI_ERR_ARG, not MPI_ERR_OTHER -- seems to make a
  little more sense here, since any errors that are returned are
  solely because of the arguments that were passed into the function

This commit was SVN r9037.
2006-02-14 18:01:44 +00:00
Jeff Squyres
c4cc1528a7 Output this information during the build to help with user and
developer debugging.

This commit was SVN r9032.
2006-02-14 13:29:18 +00:00
Rainer Keller
0642809967 - Trivial change:
Function mca_pml_ob1_recv_request_fin is not used anywhere

This commit was SVN r9029.
2006-02-14 09:48:24 +00:00
Rainer Keller
45e3415bb5 - With the change from MCA_PML_OB1_FREE in r8945 to the send/recv
counterparts, the reset to MPI_REQUEST_NULL of the upper
   struct ompi_request_t was broken. Nightly mpi_test_suite
   failed, e.g.
   mpirun -np 2 ./mpi_test_suite -t "Ring Isend"

This commit was SVN r9028.

The following SVN revision numbers were found above:
  r8945 --> open-mpi/ompi@83f83e5730
2006-02-14 09:09:05 +00:00
Brian Barrett
352903290b * add some structured comments so that we can easily parse out the configurable
parts of mpi.h when making a fat binary

This commit was SVN r9025.
2006-02-14 04:44:00 +00:00
Galen Shipman
2b40758cf8 remove bug in turning on mem hooks automatically when leave pinned is
specified.

Turn mem hooks on automatically when sbrk is not disabled and
pml_ob1_leave_pinnned_pipeline is specified. 

This commit was SVN r9018.
2006-02-13 22:34:45 +00:00
George Bosilca
418ffa32ce Remove a strange warning from gcc 4.2:
ompi/mca/pml/ob1/pml_ob1_sendreq.h:210:96: warning: backslash and newline separated by space

This commit was SVN r9013.
2006-02-13 19:02:39 +00:00
Tim Woodall
609ad79982 change default for pipeline
This commit was SVN r9012.
2006-02-13 17:54:36 +00:00
Galen Shipman
dd00fb029f set size to bytes packed
This commit was SVN r9011.
2006-02-13 17:53:54 +00:00
Galen Shipman
fe05d1f238 use size passed,
This commit was SVN r9010.
2006-02-13 17:53:30 +00:00
Galen Shipman
fca3a36bc0 if data is contiguous need_buffers should return 0, not 1
This commit was SVN r9009.
2006-02-13 17:49:31 +00:00
George Bosilca
bde56ce528 Cleanup the convertor construct function. Do not set any useless values, instead rely on the
calls to convertor_create and convertor_prepare to finish setting up the correct values for
the convertor.

This commit was SVN r9008.
2006-02-13 17:03:36 +00:00
George Bosilca
bbe79f7f0e Performance tunning. The OB! progress functions just call the BML one. Thus, setting the
progress function in the mca_pml to the BML progress one, avoid having a cascade of
call to the progress function and speed up a little bit the execution.

This commit was SVN r9007.
2006-02-13 16:28:25 +00:00
Brian Barrett
08747dcaf8 * Throttle the number of incoming receives so that we don't overrun our receive
event queue and lose receive messages.

This commit was SVN r9006.
2006-02-13 15:59:54 +00:00
Brian Barrett
20d06e889e * revert out some of the attempts to better use the Portals 3.3.2-2 user-space
run-time support, as it appears to be doing bad things to memory.  Update
  the hack to get the local nid to match the recent TCP nal changes, and
  update the P3RT api useage

This commit was SVN r9005.
2006-02-13 15:41:00 +00:00
Brian Barrett
ef83e692cc * fix a bad fix from the Open MPI developers meeting. I didn't add proper
support for Fortran 90 module flags in the wrapper compilers when I 
  re-wrote them to be less project-specific.  Re-add that support and drop
   the ugly install in include hack I had done.

This commit was SVN r9003.
2006-02-13 02:39:32 +00:00
George Bosilca
ecc3e00362 Various cleanups.
This commit was SVN r9002.
2006-02-12 21:36:07 +00:00
George Bosilca
8b525ef21b Include the count when computing the remote size.
This commit was SVN r9001.
2006-02-12 21:34:55 +00:00
George Bosilca
13170eec52 Make sure all datatype files have the correct updated copyright information.
This commit was SVN r8998.
2006-02-12 21:03:01 +00:00
George Bosilca
25020f58c1 Correct the MPI_Indexed bug. Actually it can be triggered by any type of
data, if the packed data is contiguous and the unpacked one is not. The
problem was that the unpack function did not update the bConverted value
to the real number of bytes extracted from the iovecs, but limit the update
to the number of bytes moved into the user buffers. So, if there were some
bytes copied in the internal pending buffer, they were lost because the next
convertor instead of using the correct bConverted (with the total number of
bytes) has only the transfered number. The result of this bug, is a shift to
left by few bytes of the values in the user buffers.
Add a protection against such kind of errors in the new_position.c.

This commit was SVN r8997.
2006-02-12 20:19:22 +00:00
Brian Barrett
4a061c89ed * put all the CPPFLAGS Open MPI adds to ROMIO in one place, and set them
as needed for the modified source tree layout.  Since we don't include
  anything but mpi.h in the ROMIO build, we don't need most of the flags
  anyway...

This commit was SVN r8995.
2006-02-12 18:32:21 +00:00
Jeff Squyres
bc47a24bee Bring the f90 configuration up to speed with the f77 configuration
changes.  The two Big Changes are elegance (much more re-use of code
rather than cut-n-pasting the same code over and over and over and...)
and enabling cross-compilation for F77 and F90 (because we actually
have to *run* some compiled F77 and F90 programs for some of the
tests, which obviously won't work in a cross-compilation environment
-- so enable the use of config.cache to load such values in
cross-compiling environments).

This commit was SVN r8991.
2006-02-12 15:11:36 +00:00
Jeff Squyres
e089f91a72 Remove the sym links before we try to create them, otherwise if you
run "make install" twice in a row (or some other variant), you'll get
an error.

This commit was SVN r8990.
2006-02-12 14:16:19 +00:00
Brian Barrett
913890f534 * forgot to add new directories into DIST_SUBDIRS as well as SUBDIRS, so
tarballs were missing some directories.

This commit was SVN r8989.
2006-02-12 07:06:38 +00:00
Brian Barrett
566a050c23 Next step in the project split, mainly source code re-arranging
- move files out of toplevel include/ and etc/, moving it into the
    sub-projects
  - rather than including config headers with <project>/include, 
    have them as <project>
  - require all headers to be included with a project prefix, with
    the exception of the config headers ({opal,orte,ompi}_config.h
    mpi.h, and mpif.h)

This commit was SVN r8985.
2006-02-12 01:33:29 +00:00
Jeff Squyres
d5e58c13dc Add the bml and rcache to the list of frameworks in ompi_info
This commit was SVN r8978.
2006-02-11 00:14:44 +00:00
George Bosilca
3171cc1aee Remove unused variable.
This commit was SVN r8977.
2006-02-11 00:13:09 +00:00
Andrew Friedley
b37e18916f Many different things, the big ones:
- Start filling in the progress function, focusing on connection establishment.
 - Initialize udapl mpool and free lists
 - Create/destroy a protection zone with each IA
 - Misc organization as I learn how things work

This commit was SVN r8969.
2006-02-10 21:49:15 +00:00
George Bosilca
a4619b1a11 Remove a compilation warning from the RDMA engine.
Correct the problem introduced by the commit 8933 (thanks Tim). In order to avoid to much
trafic on the bus we do not compute the bytes_delivered (require an atomic size_t add)
we have to set it in the begining or otherwise we will report the wrong count in the
MPI status.

This commit was SVN r8968.
2006-02-10 21:14:08 +00:00
George Bosilca
9c1547373d Match the latest changes in the datatype engine.
This commit was SVN r8967.
2006-02-10 21:06:15 +00:00
George Bosilca
c9e83658dd Datatype engine went into a "slim-fast" treatement. That's only the first stage ...
This commit was SVN r8965.
2006-02-10 20:56:30 +00:00
George Bosilca
0376dce258 Keep track of the ompi_proc in the comm_proc. This avoid a lookup for the processor and
simplify the execution path. The peer proc (ompi_proc_t) is set at the matching stage.

This commit was SVN r8962.
2006-02-10 18:55:43 +00:00
Galen Shipman
44fe6c3896 allow pml pipeline to cache memory registrations
to enable this (off by default) use: 
-mca pml_ob1_leave_pinned_pipeline 1 
!!AND!!!
-mca mpool_use_mem_hooks 1 

This commit was SVN r8949.
2006-02-09 15:49:51 +00:00
George Bosilca
269fc0c13a Cleanup:
1. remove all useless macros from the proc header file
2. merge 2 of the match macros (they share the same logic except one list)

This commit was SVN r8946.
2006-02-09 06:59:54 +00:00
George Bosilca
83f83e5730 Specialize the MCA_PML_OB1_FREE macro. When we call this macro we already know what kind
of request we are playing with (send or receive). Therefore, it's useless to have another
switch inside this macro and make the code bigger. Now, we have 2 versions
MCA_PML_OB1_SEND_REQUEST_FREE and MCA_PML_OB1_RECV_REQUEST_FREE.

This commit was SVN r8945.
2006-02-08 22:42:00 +00:00
Galen Shipman
1c71ab73d1 Move ompi_pointer_array initialization and destruction outside of the memory
callback, note that ompi_pointer_array_remove_all does not call free. 
This needs to go to the release branch 

This commit was SVN r8944.
2006-02-08 22:40:40 +00:00
George Bosilca
600f664db2 No comment !!! But this time I really remove the second lock ...
This commit was SVN r8943.
2006-02-08 21:43:46 +00:00
George Bosilca
89db0be4a8 Remove the second lock.
This commit was SVN r8940.
2006-02-08 19:19:57 +00:00
Ralph Castain
892b396d70 Ensure that standard triggers are defined for all job/process states so that user's can subscribe to those they want to use. Modify the way that is done to avoid over-burdening the standard launch sequence since it doesn't need alerts from all those triggers.
This commit was SVN r8938.
2006-02-08 17:40:11 +00:00
Galen Shipman
18bbb049d1 fix bsend bug, need to check that data length before packing.
This needs to go to the release branch

This commit was SVN r8937.
2006-02-08 17:39:33 +00:00
George Bosilca
0775c88a9b Remove all unused variables.--This line, and those below, will be ignored--
M    ob1/pml_ob1_recvreq.c

This commit was SVN r8934.
2006-02-08 07:20:48 +00:00
George Bosilca
e9706e6db0 Remove the macro to compute the length of the segments from the send header
and add a new macro that can be used for both sends and receives.
Move to atomic operations to manage the length of the sended or received
status. There is one instance where the atomic operation is not required
as the code can cannot be executed in same time by 2 differents threads.

This commit was SVN r8933.
2006-02-08 06:03:54 +00:00
George Bosilca
9f1357fb89 Remove all the useless includes. Most of the endpoint do not depend on the
orte includes.

This commit was SVN r8932.
2006-02-08 05:10:48 +00:00
George Bosilca
f96f9afc27 Copy the packed buffer when we duplicate a basic datatype.
This commit was SVN r8931.
2006-02-08 05:08:39 +00:00
Brian Barrett
ec7b60d501 * Fix some error checking code for Lock / Unlock at the MPI layer
* Implement win_lock and win_unlock in the pt2pt component.  Not well
  tested, but appears to move bits if properly motivated...

This commit was SVN r8922.
2006-02-07 18:45:18 +00:00
Galen Shipman
c8045bf397 Fixup for ORTE datatype checkin,
- use appropriate header files 
- change calls from orte_dps to orte_dss 

This commit was SVN r8920.
2006-02-07 15:20:44 +00:00
Brian Barrett
340bf14191 * support non-predefined datatypes for all three communication mechanisms
* rework the thread locking so that it at least makes sense to me.  Still
  need to do a bunch of testing before I'm happy with it, but it's a tad
  bit closer...

This commit was SVN r8918.
2006-02-07 12:16:23 +00:00
Brian Barrett
e0a814d3a7 * adjust the buffer position on predefined datatypes as well as user
datatypes when creating from a buffer.

This commit was SVN r8917.
2006-02-07 12:14:41 +00:00
George Bosilca
20fd358327 A BTL cannot depend on the orte data-types.
This commit was SVN r8915.
2006-02-07 06:05:36 +00:00
Ralph Castain
4b9f015c0b Merge in the new data support subsystem for ORTE. MPI folks should not notice a difference. Longer explanation will be sent to developers mailing list.
This commit was SVN r8912.
2006-02-07 03:32:36 +00:00
Galen Shipman
8f8ed186f1 When leave pinned is set, only enable mem hooks if disable sbrk is not set.
This commit was SVN r8908.
2006-02-06 21:22:20 +00:00
Tim Woodall
e920ec67b9 - add new send flag (MCA_PML_OB1_SEND_COMPLETE) to force local completion prior to signalling mpi completion
This commit was SVN r8907.
2006-02-06 19:51:49 +00:00
Tim Woodall
c0d18c9579 mem hooks must be enabled if leave_pinned is set
This commit was SVN r8906.
2006-02-06 19:44:21 +00:00
George Bosilca
9d969f2b53 Update the pack/unpack of data-type description (used for one sided). Correctly handle
the predefined types, move the packed_description into the data-type structure.

This commit was SVN r8905.
2006-02-06 19:10:19 +00:00
George Bosilca
e20265bd2b Dont let any external to the data-type code check directly for the predefined
data-types. Instead, use the newly provided data-type function ompi_ddt_is_predefined..

This commit was SVN r8903.
2006-02-06 18:01:45 +00:00
George Bosilca
697849c694 Add a function to check if the data-type is predefined or not (ompi_ddt_is_predefined).
This commit was SVN r8902.
2006-02-06 17:54:29 +00:00
George Bosilca
eb1d2dd290 Working down the latency (0.2 micro-sec on a Xeon 2Ghz) by removing the
second instance of the ompi_proc from the send and receive request. This
information is already available on the base request, so there is no
need for duplication. The drawback is that now (in order to avoid a
second lookup in the communicator array of procs) we have to set the base
proc in the PML's _ALLOC macro.

This commit was SVN r8900.
2006-02-05 06:13:07 +00:00
Brian Barrett
84cf4e6112 * Add symlinks for the Fortran 90 module files from $libdir to $includedir.
It appears that some compilers look in the library paths and others in 
  the include paths, so just have both available and save ourselves the
  trouble.

This commit was SVN r8897.
2006-02-04 23:31:30 +00:00
George Bosilca
6a633829cb Pack/unpack datatype representaion for one-sided communications.
This commit was SVN r8887.
2006-02-02 19:49:29 +00:00
Galen Shipman
6a6d86f963 Port mvapi free list for registrations to openib
This commit was SVN r8886.
2006-02-02 19:44:39 +00:00
Rainer Keller
7ac0ffc349 - Instead of doing the unlock inside the if, just move the if-statement
later after the mandatory unlock.

This commit was SVN r8885.
2006-02-02 17:32:22 +00:00
Galen Shipman
a0d3ddd267 Use free list for registrations, otherwise we may OBJ_RELEASE in the memory
callbacks. 

This commit was SVN r8884.
2006-02-02 17:14:49 +00:00
Graham Fagg
232bb9534a Start moving stuff out of modules that should be in the component.
This commit was SVN r8874.
2006-02-01 20:50:14 +00:00
Brian Barrett
4f88f8954e * Fix missing / wrong constants in MPI C++ bindings. Thanks to Brian
Granger for bringing this to our attention.

  This needs to be modified slightly to go to the v1.0 branch.  Will
  submit patch via e-mail.

This commit was SVN r8872.
2006-02-01 16:01:32 +00:00
Graham Fagg
5f2d82347f a couple of changes to make barrier synchronous.. means last communication to any possible peer must
be locally completing. for now using synchronous calls until the new functionality is available. then will change
the code to use the new PML send flags.

This commit was SVN r8867.
2006-01-31 23:21:46 +00:00
Brian Barrett
514e58c49a * pass an ompi_win_t, not an ompi_win_t*
This commit was SVN r8866.
2006-01-31 23:08:26 +00:00
Brian Barrett
44a516d966 * Clean up error checking in the MPI interface for MPI-2 onesided
* Implement fortran handle -> c handle tracking
* Remove some unneeded locking around free lists (the free list
  macros do their own locking)
* Try to be a bit more memory friendly with the w_mode setting /
  checking

This commit was SVN r8865.
2006-01-31 21:40:12 +00:00
Tim Woodall
a2fde48f2f changes from release branch
This commit was SVN r8858.
2006-01-31 16:17:18 +00:00
Tim Woodall
bcd6c525f8 removed duplicate locks
This commit was SVN r8857.
2006-01-31 16:12:37 +00:00
Brian Barrett
762fe70bd1 * Fix uninitialized variable warning. Technically, start's group should be
a subset of win's group, so this should never happen.  But users have
  been known to screw up before, so return a reasonable error.

This commit was SVN r8855.
2006-01-31 15:32:40 +00:00
Tim Woodall
9d484916db remove locks already held
This commit was SVN r8853.
2006-01-31 14:23:08 +00:00
George Bosilca
42516d0785 Look like the name changed from OSC_PT2PT_DATA to P2P_MODULE.
This commit was SVN r8852.
2006-01-31 06:34:36 +00:00
Brian Barrett
0d507ad970 * Fix a bunch of checks for proper access / exposure epochs
* Add implementation of Post/Wait/Start/Complete synchronization

This commit was SVN r8848.
2006-01-31 02:44:08 +00:00
Brian Barrett
58f074816d * declare the variable names the same way they were used... At least at
some point, I realized having a variable name "new" might cause some
  problems for those people using a C++ compiler to compile C code ;).

This commit was SVN r8846.
2006-01-30 12:16:52 +00:00
George Bosilca
418f1b8986 The module name is ompi_osc_pt2pt_module_t not ompi_osc_p2p_module_t.
This commit was SVN r8843.
2006-01-29 18:00:30 +00:00
George Bosilca
9d9fc78d0e Like in the PML the path to the statically included file have to start
with the sub-project name.

This commit was SVN r8842.
2006-01-29 17:33:45 +00:00
Brian Barrett
d7056e6e2a remove some unneeded debugging output
This commit was SVN r8841.
2006-01-28 19:59:54 +00:00
Brian Barrett
05c9de058c * add missing header include
This commit was SVN r8837.
2006-01-28 16:09:35 +00:00
Brian Barrett
b1d2424013 Merge in present work on the MPI-2 onesided chapter. The current code is not
complete, but stable enough that it will have no impact on general development,
so into the trunk it goes.  Changes in this commit include:

 - Remove the --with option for disabling MPI-2 onesided support.  It
   complicated code, and has no real reason for existing
 - add a framework osc (OneSided Communication) for encapsulating
   all the MPI-2 onesided functionality
 - Modify the MPI interface functions for the MPI-2 onesided chapter
   to properly call the underlying framework and do the required
   error checking
 - Created an osc component pt2pt, which is layered over the BML/BTL
   for communication (although it also uses the PML for long message
   transfers).  Currently, all support functions, all communication
   functions (Put, Get, Accumulate), and the Fence synchronization
   function are implemented.  The PWSC active synchronization
   functions and Lock/Unlock passive synchronization functions are
   still not implemented

This commit was SVN r8836.
2006-01-28 15:38:37 +00:00
Rainer Keller
60c2ae768b - Change the spacing preventing finding the struct from script.
This commit was SVN r8819.
2006-01-26 11:55:00 +00:00
George Bosilca
a2f31b2bf6 Use the MCA_PML_BASE_REQUEST_MPI_COMPLETE macro to set the completed state to true.
Add back the mutex protection around the size computations as they are not yet atomic
operations.

This commit was SVN r8812.
2006-01-25 23:17:17 +00:00
George Bosilca
58c9c82dab Add a macro to mark the MPI request as completed (MCA_PML_BASE_REQUEST_MPI_COMPLETE) and
broadcast the request condition if required. This macro should be called with the request's
mutex locked.

This commit was SVN r8811.
2006-01-25 23:15:36 +00:00
George Bosilca
0f1c6d79e8 Make the MVAPI BTL thread safe again. The problem was a double locking on the endpoint mutex.
It's still not very clean as we still lock the mvapi_btl mutex inside a critical section
protected by the endpoint mutex ...

This commit was SVN r8810.
2006-01-25 23:14:06 +00:00
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