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

4987 Коммитов

Автор SHA1 Сообщение Дата
Tim Woodall
4a70769b2d more cleanup
This commit was SVN r6248.
2005-06-30 21:42:05 +00:00
Tim Woodall
7f40a3a48b check completion status
This commit was SVN r6247.
2005-06-30 21:31:16 +00:00
Jeff Squyres
a7b66bce9c In comm.c, one of the few places where OMPI and ORTE interact, we have
a clash of APIs -- MPI requires int's, but the ORTE DPS requires
size_t's.  Specifically, we need to orte_dps.unload(), which fills a
size_t.  We then need to PML send (i.e., MPI_Send) that value around.
However, there's no such thing as MPI_SIZE_T as a datatype, and that
would hose us in heterogeneous situations, anyway.  So the compromise
was to make ompi_sizet2int(), a function what does the [potenial]
downcast.  On 32 bit architectures, this is no big deal -- it's a
simple assignment.  On 64 bit architectures (or, more specifically,
where sizeof(size_t) > sizeof(int)), it does the dowcast in a
compiler-safe manner, and does a check to see if we truncated.  If we
truncated, in a developer build, we'll abort().  If this is not a
developer build, print out a nasty warning.

The rationale here is as followes:

- this is a clash of the API's.  There's unfortunately nothing that we
  can do about this at the moment.
- hence, we have to do the downcast.
- but we might as well be "safe" about it -- assuming that
  orte_dps.unload() never gives us back a value >sizeof(int) (which is
  a pretty safe assumption -- if we get that large of a value, we have
  other problems, or we're on fundamentally different types of
  hardware and I suspect a lot of the rest of the code base will have
  problems as well!), we should be able to downcast safely.
- if there is a mistake in code somewhere such that:
  - we can't downcast safely (i.e., we legitmately have a size_t value
    that is too large for an int)
  - we truncate when the value should not have been that large
  the conversion function will detect this and print out an error.  So
  we won't silently introduce any new errors into the code base --
  they will be loud and obvious.
- although comm.c is currently the only place where we need this, I
  suspect that there will be a small number of other places where
  similar situations occur.  I intend to bring this right over to the
  trunk, so it was simpler to make this functionality be a subroutine
  so that we can use it elsewhere if/when necessary.

Final note: src/attribute/attribute.c does something *similar*
(downcasting when sizeof(void*) > sizeof(int), but is different enough
that it would have been painful to make one unified interface.  This
does not rule it out for the future, however (especially if we find
more places in the tree that need this kind of functionality).

This commit was SVN r6246.
2005-06-30 21:30:18 +00:00
Jeff Squyres
a3fa0dbf18 Didn't have a good preset value for MPI_IO (see MPI-1, 7.1.1, p192).
We may need to revisit this per whacky platforms like Red Storm, Blue
Gene, etc.

This commit was SVN r6245.
2005-06-30 21:29:22 +00:00
Galen Shipman
0c7f67f67e removed the ib ptl and fixed a few conflicts in my previous commit
This commit was SVN r6244.
2005-06-30 21:28:35 +00:00
Tim Woodall
5f981fb76c add put/get support
This commit was SVN r6241.
2005-06-30 20:39:24 +00:00
Tim Woodall
4a5918a095 dont create a node w/out a nodename
This commit was SVN r6240.
2005-06-30 20:09:29 +00:00
Tim Woodall
f7d2b120ef start of a gm btl - not currently functional
This commit was SVN r6232.
2005-06-30 18:21:55 +00:00
Tim Woodall
b12a3272e8 changed to unsigned char to simplify pointer arithmetic
This commit was SVN r6231.
2005-06-30 18:19:56 +00:00
Tim Woodall
926e96a3f7 added constructor/destructor for base registration
This commit was SVN r6230.
2005-06-30 18:19:13 +00:00
Tim Woodall
3862133144 moved deregistration into base destructor
This commit was SVN r6229.
2005-06-30 18:18:44 +00:00
Tim Woodall
719bbdee5e gm memory pool
This commit was SVN r6228.
2005-06-30 18:17:17 +00:00
Ralph Castain
67a1c5e5e6 Tell orted it is infrastructure
This commit was SVN r6227.
2005-06-30 16:32:02 +00:00
Galen Shipman
5701b4dbfb moving mvapi to vapi.. You should all still be able to build, let me know if
you are not able to. 

This commit was SVN r6226.
2005-06-30 14:31:41 +00:00
Galen Shipman
db286e1a31 working checkin of bmi to btl name change. Also changed ib to mvapi. Should
probably change mpool/vapi to mpool/mvapi soon.

This commit was SVN r6225.
2005-06-30 05:50:55 +00:00
Galen Shipman
bd4d647e62 Got this wrong again.. another ci will proceed ;-)
This commit was SVN r6224.
2005-06-30 02:19:28 +00:00
Galen Shipman
408a36c4ee name changing bmi to btl
This commit was SVN r6223.
2005-06-30 02:12:23 +00:00
Galen Shipman
6e81b28251 bmi to btl renaming - also renaming ib to mvapi for (mellanox vapi).
This commit was SVN r6222.
2005-06-30 02:09:50 +00:00
Galen Shipman
b4281d28e5 Initial checkin of btl/base changes for bmi to btl renaming.
This commit was SVN r6221.
2005-06-30 02:08:24 +00:00
Galen Shipman
2e9bbda826 Intial checkin of bmi to btl renaming. This breaks the build but is necessary
so that I can next rename all the files under mca/btl using "svn mv" which is
not possible until after the initial "svn mv bmi btl" is checked in. 

This commit was SVN r6220.
2005-06-30 02:02:57 +00:00
George Bosilca
7c80bb9a9c Use the correct data description and update the comment.
This commit was SVN r6219.
2005-06-29 22:32:03 +00:00
George Bosilca
b5d3a914e8 Less warnings about missing prototypes.
This commit was SVN r6218.
2005-06-29 22:31:41 +00:00
George Bosilca
671fb57c53 Update the tester to match the latest developpement in the ddt engine.
This commit was SVN r6217.
2005-06-29 22:30:52 +00:00
Brian Barrett
611e09d749 * checkpoint so Galen can move the bmi tree
This commit was SVN r6216.
2005-06-29 21:52:00 +00:00
Ralph Castain
212183ba5c Update with registry magic for David
This commit was SVN r6215.
2005-06-29 16:05:20 +00:00
David Daniel
4f9e95bc5b Adding placeholder for totalview support.
This commit was SVN r6214.
2005-06-29 14:32:57 +00:00
Galen Shipman
f739e016a2 First stab at mru list for leave pinned option in IB bmi. This keeps a most
recently used cache of pinned user buffers when leave_pinned is set to 1. The
size of this cache is currently based on number of entries but will probably
be modified to use total bytes in the near future. 

This commit was SVN r6213.
2005-06-29 14:10:49 +00:00
George Bosilca
6f21a30866 Do not call the convertor_set_position as the convertor by default is set to the
begining of the data.

This commit was SVN r6211.
2005-06-28 22:21:38 +00:00
George Bosilca
6a7e01e640 :) pedantic :)
This commit was SVN r6209.
2005-06-28 22:10:49 +00:00
Jeff Squyres
65decd83bd Fix silly typo that prevented Fortran MPI_GRAPH_CREATE from working.
This commit was SVN r6208.
2005-06-28 21:09:49 +00:00
Brian Barrett
db58b61ffa Improvement on Josh's fix for big endian 64 bit machines. Add macro
for atomically adding to a size_t.  macro will figure out whether
size_t is 32 or 64 bit and use the right atomic add.  

This commit was SVN r6205.
2005-06-28 20:15:01 +00:00
Josh Hursey
94d097430e 64 bit PPC bug fix. So small, yet wrecks such havoc.
This commit was SVN r6204.
2005-06-28 19:07:11 +00:00
Jeff Squyres
5485312f6a A bunch of Fortran <--> macro fixes (mainly where the macros were
accidentally not used)

This commit was SVN r6202.
2005-06-28 14:13:44 +00:00
Jeff Squyres
05fcb9b373 Be sure to return the new communicator. :-)
This commit was SVN r6199.
2005-06-27 22:48:51 +00:00
Tim Woodall
818d6474fd a "template" bmi, implements some of the tedious bookkeeping required for all bmis
This commit was SVN r6197.
2005-06-27 21:21:15 +00:00
Jeff Squyres
39c7bfe63a Removed some compiler warnings on 64 bit/AMD. Made the code a bit
simpler, too, but typing the members of the neutral attribute value
struct, and then we can just dereference them (rather than doing
complicated casting).

This commit was SVN r6196.
2005-06-27 21:14:10 +00:00
Brian Barrett
146389a13e * start of the Portals bmi. Does not work, and is .ompi_ignored for everyone
else.

This commit was SVN r6194.
2005-06-27 19:24:04 +00:00
Jeff Squyres
225c20162e Submitted by: Jeff "I love MPI attributes" Squyres
Reviewed by: Brian "MPI attributes ROCK" Barrett

Bunches of changes to the attribute engine:

- After many hours of discussion about MPI attributes, we came to the
  conclusion that MPI-2 Example 4.13 (the C->Fortran example) is just
  wrong.  If you accept that, the rest of the text makes much more
  sense.  
- There are 9 inter-language cases: all combinations of (read, write)
  with C, Fortran MPI-1, and Fortran MPI-2 for each value.  Each of
  the 9 cases have specific code for what is supposed to happen (and
  is labeled in the code with comments).  There is a *lengthy* comment
  at the top of src/attribute/attribute.c that describes all of this. 
- All predefined attributes are now treated as if they were put from
  MPI-1 Fortran calls, with the exception of the window predefined
  attributes (which are irrelevant on the beta, because there is no
  one-sided support; preliminary fixes included in this patch, but
  will be fully addressed on the trunk)
- MPI API calls (particularly the Fortran wrappers) are now
  fundamentally simpler -- they do *not* call the back-end MPI C API
  calls; instead, they call directly back into the attribute engine.
- The MPI_LASTUSEDCODE attribute only exists on MPI_COMM_WORLD and is
  updated appropriately when user error classes are added.  
  --> Note: Edgar made a suggestion that for communicator attributes,
      we ignore the communicator argument when retrieving attributes
      and simply return the value.  This will likely only happen on
      the trunk, and will alleviate (from the user's perspective) the
      restriction that LASTUSEDCODE is only on MPI_COMM_WORLD.

- The predefined attributes are now "better".  We create keyvals
  separately than assigning values, and correctly distinguish between
  comm, type, and win attributes.  Initial values are now set as if
  they were called from MPI-1 fortran.
- Added a comment to the top of src/attribute/attribute_predefined.c
  explaining what each of the predefined attributes were and what OMPI
  sets them to be.

This commit was SVN r6193.
2005-06-27 19:17:11 +00:00
Brian Barrett
9a2cfbc7f7 * add me to list of unignores for ob1 and self bmi
* Fix ob1 makefile to properly do dsos

This commit was SVN r6192.
2005-06-27 18:50:24 +00:00
Brian Barrett
bef8232071 * fix dumb typo
* extern "C" the declaration

This commit was SVN r6189.
2005-06-27 13:53:01 +00:00
Brian Barrett
b81477086b * fix some header file ordering and make sure size_t is defined before
the declaration of ompi_qsort()

This commit was SVN r6188.
2005-06-27 13:47:13 +00:00
Edgar Gabriel
fe26c7d767 abstract the comm_dup functionality into a new ompi_comm_dup routine. This is
due to the fact, that we need to be able to dup internally communicators (e.g. for windows, files) as well.

This commit was SVN r6187.
2005-06-27 08:32:18 +00:00
Brian Barrett
7067f4753f A bunch of fixes from trying to get running on Solaris and Linux PPC64
* If we are on solaris, don't use the system qsort(), as it appears to be 
  broken in 64 bit mode on Solaris 8 (there are bugs about this in 
  SunSolve).  Instead, use ompi_qsort(), which is taken from FreeBSD.
  A #define in ompi_config_bottom.h makes this invisible to most of the
  OMPI source tree.
* Fix memory badness in ompi_progress_register where we were reallocing the 
  array to be number of elements long instead of number of elements * 
  sizeof(element).  Found while using bcheck to track down our problems in
  64 bit on big endian machines.
* The debugging output code in session_dir.c could pass NULL as a value for a %s,
  which will turn into "(null)" automagically on glibc, but causes segfaults for
  older libcs (like those on Solaris).  Check for this case in session_dir.c and
  don't pass NULL as a %s value into ompi_output().
* Fix missing header file in convertor.c

This commit was SVN r6186.
2005-06-26 23:11:37 +00:00
Brian Barrett
008af67ee1 * use putenv() instead of setenv(), as putenv() is much more portable
This commit was SVN r6185.
2005-06-26 22:00:25 +00:00
Galen Shipman
3eb817ca43 Fixed leave pinned bug , need to OBJ_RETAIN on each re-insert of the memory
region into the mpool tree. 

This commit was SVN r6181.
2005-06-26 02:51:19 +00:00
Galen Shipman
8a89ce4148 More mpool bmi changes - changed mca_mpool_base_registration_t to an ompi
object. Modified bmi_ib to use OBJ_RETAIN and OBJ_RELEASE with the
mca_mpool_vapi_registration_t object. 

NOTE!: bmi_ib fails with OMPI_MCA_leave_pinned=1 when the memory region must
be reallocated due to size limitations. This appears to be caused by
OBJ_RELEASE being called when the object is already freed. Should be fixed by
the end of this weekend. 

This commit was SVN r6180.
2005-06-26 00:47:51 +00:00
Jeff Squyres
76ba66734d I gave bad advice to Ralph yesterday; he asked how to disable the gpr
unit tests without screwing up the nightly builds.

These changes fix the problem of not including the test/mca/gpr
directory in the nightly tarball, prevent the tests from being
compiled, but leave the door open for manual compilation when the time
comes to start the work to re-enable them (e.g., uncomment a few
lines in gpr/Makefile.am).

This commit was SVN r6175.
2005-06-25 11:21:59 +00:00
Jeff Squyres
7078040394 More 64 bit patches from Josh (running on linux/ppc64, where endian
issues really cause 64 bit issues to shine :-) ).

This commit was SVN r6174.
2005-06-24 22:13:29 +00:00
Galen Shipman
527d5e3498 More mpool and bmi restructuring
misc compiler warning fixes. 

This commit was SVN r6173.
2005-06-24 21:12:38 +00:00
Ralph Castain
e90941e004 Make sure the terminated and finalized named triggers get defined!
This commit was SVN r6172.
2005-06-24 20:51:13 +00:00