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

4802 Коммитов

Автор SHA1 Сообщение Дата
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
Tim Woodall
b48be04187 restore prototyp
This commit was SVN r6168.
2005-06-24 19:42:47 +00:00
Ralph Castain
87d9996c80 Fix a 64-bit problem in the node slot counts - make sure everything is done in size_t. There was a mix of size_t and uint32s...
This commit was SVN r6167.
2005-06-24 18:54:54 +00:00
Josh Hursey
ab045265aa Fix a 64 bit issue that came up when testing on PPC64 Linux platform.
This commit was SVN r6165.
2005-06-24 17:49:49 +00:00
Ralph Castain
8271d3f30e Okay, here is the massive checkin that restructures the registry trigger system for scalability. Actually, it isn't "quite" as large as it looks - it just touches a bunch of files.
Also included is a fix to the attribute problem for singletons.

Short explanation:
The prior system placed triggers and subscriptions on the registry for each process - approximately eight/process. Each of these had to be checked every time there was a registry operation such as a "put" or "increment-value". For large numbers of processes, this repetitive checking consumed some significant time.

The new system allows processes to "attach" to existing triggers and subscriptions, without creating a new one. Thus, there are now only eight triggers and five subscriptions on a job - *regardless of how many processes are being run*. This means that the registry now takes the same amount of time (which is pretty darn short) to process an operation regardless of how many processes are in a job.

I'll provide some startup times from scalability tests shortly - need to complete the commit so I can move the system to an appropriate cluster.

This commit was SVN r6164.
2005-06-24 16:59:37 +00:00
Brian Barrett
35375f0653 * Fix bug in symbol generation code for default.conf where we weren't prefixing
function names with the GSYM (like we should be)
* Add support for PPC64/Linux in atomics

This should go to the beta branch.

This commit was SVN r6163.
2005-06-24 16:16:17 +00:00
Tim Woodall
87f1c85f2c cleanup comments
This commit was SVN r6160.
2005-06-23 22:53:30 +00:00
Tim Woodall
e79124aece force locking regardless of build type
This commit was SVN r6157.
2005-06-23 20:51:16 +00:00
Galen Shipman
a77845f8e6 More fixes for leave pinned and pre pinned buffers..
This commit was SVN r6156.
2005-06-23 19:57:13 +00:00
Galen Shipman
628d4f0915 more work on leave pinned option
This commit was SVN r6155.
2005-06-23 19:24:44 +00:00
Tim Woodall
32210ea8fa updated to include changes from beta - otherwise convertor changes
will cause issues

This commit was SVN r6153.
2005-06-23 18:46:57 +00:00
Brian Barrett
56777944b6 * convert the Portals PTL to use the new convertor code
This commit was SVN r6152.
2005-06-23 18:04:44 +00:00
Tim Woodall
e3b77373a3 corrected cut/paste error
This commit was SVN r6151.
2005-06-23 17:12:03 +00:00
Tim Woodall
a08beec065 dont do atomic operations for non-threaded build
This commit was SVN r6150.
2005-06-23 16:13:12 +00:00
Tim Woodall
6cc44d2ba2 make sure dont create multiple entries for published endpoints
This commit was SVN r6149.
2005-06-23 16:10:46 +00:00
Tim Woodall
e62daf8a8e remove duplicate code - done in matched macro
This commit was SVN r6148.
2005-06-23 16:10:04 +00:00
Galen Shipman
e0b265885d - Modified the mpool interface to use mca_mpool_base_registration_t instead of
-mca_bmi_base_registration_t 


- Also corrected a bug in mca_common_sm_mmap_seg_alloc where a unitialized
-pointer was dereferenced 

- Misc other changes.  

This commit was SVN r6145.
2005-06-23 15:53:51 +00:00
Jeff Squyres
568bac7e4e Several of the Fortran datatypes were already included in mpi.h; added
#define's for the rest of them.

This commit was SVN r6144.
2005-06-23 10:38:18 +00:00
Jeff Squyres
c2fe507777 Due to other discussions tonight, noticed that topo_unity.h includes
ompi_free_list.h when it really does not need to.  :-)

This commit was SVN r6143.
2005-06-23 02:08:31 +00:00
Galen Shipman
64de403105 Fixed misc compiler warnings related to mpool and bmi.
This commit was SVN r6140.
2005-06-22 20:09:54 +00:00
Josh Hursey
d869ecc1fd Added some DECLSPECS for Windows build.
This commit was SVN r6139.
2005-06-22 17:14:53 +00:00
Ralph Castain
e34d84c2da Fix another mpool-related error in ompi_free_list.c. NOTE: I have done my best to correct the mpool compile errors correctly. Somebody else more familiar with that system should check it. In the future, please pay attention to compiler warnings before checking code into the trunk - these were pretty severe as the structures being passed to the functions no longer matched. May or may not have been affecting people.
Add an MCA parameter to orte_init that allows the function to exit with an appropriate code if it cannot attach to an existing universe - needed to support the Eclipse folks.

This commit was SVN r6138.
2005-06-22 16:56:01 +00:00
Ralph Castain
c0f1c6be50 Fix a bad declaration that was causing compile errors
This commit was SVN r6137.
2005-06-22 16:46:56 +00:00
Josh Hursey
b780436b47 Forgot to add the new files for Windows to the dist
tar ball.

This commit was SVN r6136.
2005-06-22 13:19:04 +00:00
Jeff Squyres
1903b3f274 Remove some LAM-specific values
This commit was SVN r6135.
2005-06-22 10:29:18 +00:00
Josh Hursey
0952f625e4 Windows build checkpoint.
Many of the changes are include cleanups, and the
addition of pls, ras, and rds to libmpi for the tools
directory.

Some of the functionality is currently stubbed out.
Need to return to implement things properly so we
actually run under Windows. But I am focusing on just
building at the moment :)

This commit was SVN r6133.
2005-06-21 22:48:57 +00:00
Jeff Squyres
fdef4765cf Brought over from the beta branch -- improvements to the dist system
to get the right version number.

This commit was SVN r6131.
2005-06-21 21:48:50 +00:00
Tim Woodall
5520ec2a6a init all fields
This commit was SVN r6129.
2005-06-21 21:41:02 +00:00
Tim Woodall
f71bb86c14 increment pointer
This commit was SVN r6128.
2005-06-21 21:37:38 +00:00
Tim Woodall
e817db7268 cast for mac
This commit was SVN r6127.
2005-06-21 21:34:16 +00:00
Tim Woodall
07f0501e45 corrected locking issue
This commit was SVN r6126.
2005-06-21 21:30:56 +00:00
Galen Shipman
aac0dadddb Further work on moving checking if the user buffer is pinned to the pml
level. 

This commit was SVN r6125.
2005-06-21 21:20:23 +00:00
Tim Woodall
d334f6d4bc - move check for pre-pinned memory into pml
- use this for scheduling and do only one dma per bmi

This commit was SVN r6123.
2005-06-21 20:58:24 +00:00
Galen Shipman
219815d7ac erroneous static
This commit was SVN r6122.
2005-06-21 19:42:40 +00:00
Galen Shipman
5154d78981 migration to new mpool api
This commit was SVN r6121.
2005-06-21 19:38:50 +00:00
Tim Woodall
2759fd46c9 correction for new interface
This commit was SVN r6120.
2005-06-21 19:38:40 +00:00