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

135 Коммитов

Автор SHA1 Сообщение Дата
Brian Barrett
043153dad3 * fix opal_list_item_t -> ompi_free_list_item_t type change
This commit was SVN r10659.
2006-07-05 17:02:16 +00:00
Brian Barrett
47725c9b02 * Add new PML (CM) and network drivers (MTL) for high speed
interconnects that provide matching logic in the library.
  Currently includes support for MX and some support for
  Portals
* Fix overuse of proc_pml pointer on the ompi_proc structuer, 
  splitting into proc_pml for pml data and proc_bml for
  the BML endpoint data
* bug fixes in bsend init code, which wasn't being used by
  the OB1 or DR PMLs...

This commit was SVN r10642.
2006-07-04 01:20:20 +00:00
Brian Barrett
d5acb4e3cc * silence dumb (and mostly useless) warning during cleanup
This commit was SVN r10280.
2006-06-09 21:09:53 +00:00
Brian Barrett
c723d196c5 Rather than using fragment size to determine fragment type, use an enum.
Do this rather than the my_list pointer because we need to do some
things that are somewhat special because we pre-pin eager fragments but
not send fragments.  Also makes a couple ideas I have slightly easier to
play around with.

This commit was SVN r10127.
2006-05-31 03:34:32 +00:00
Brian Barrett
dcc6b47fa2 * put rdma operations in the send event queue instead of receive because it's
easier to do event accounting that way
* greatly increase receive event and buffer sizes.  We're still about half
  of what Cray defaults to, so I don't feel bad about the increases
* Implement a pre-pinning optimization for eager fragments - will be
  pinned on first use and left pinned for the life of the fragment
* Since we can't have two receive frag callbacks fired at the same time,
  don't have receive free list - just keep one receive fragment in the
  module.  Saves a big free list and all that interaction.

This commit was SVN r9915.
2006-05-14 04:23:26 +00:00
Brian Barrett
9cab1bb54a * re-enable the eager fragment throttling, this time with the proper threshold value for when
the memory descriptor is closing itself, so that it actually works properly ;).  I think I
  was just getting lucky and not sending enough short messages with the reference impl.

This commit was SVN r9748.
2006-04-27 14:13:52 +00:00
Brian Barrett
66d1d3b83f * add a quick debugging sanity check
* It appears that Cray's SeaStar has some horrible performance for iovecs - IN_pLACE
  was actually slower than copying into eager frags.  Ugh.  And we don't even pre-pin
  eager frags yet!

This commit was SVN r9738.
2006-04-27 02:55:31 +00:00
Brian Barrett
9a65ddd788 * back out r9005, which for some reason works fine on the reference implementation
but causes resource exhaustion on the Red Storm implementation.  Sigh...

This commit was SVN r9686.

The following SVN revision numbers were found above:
  r9005 --> open-mpi/ompi@20d06e889e
2006-04-22 20:12:33 +00:00
Tim Woodall
712468dbef add diagnostic interface
This commit was SVN r9328.
2006-03-17 17:39:41 +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
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
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
Brian Barrett
8b2a285f8f * update reference implementation support to match latest release
This commit was SVN r8783.
2006-01-22 04:56:18 +00:00
Jeff Squyres
42ec26e640 Update the copyright notices for IU and UTK.
This commit was SVN r7999.
2005-11-05 19:57:48 +00:00
Brian Barrett
a77c908496 * the last of the tuning params for portals
This commit was SVN r7548.
2005-09-30 04:05:31 +00:00
Brian Barrett
d9e80d8f2a * increase size of event queue for receives - it was too small to be useful
on a reasonably sized machine
* if no mpool exists, don't try to malloc out an array of 0 bytes

This commit was SVN r7507.
2005-09-25 17:04:03 +00:00
Brian Barrett
50dc5499b4 * fix some remaining --with-btl-portals configure issues
This commit was SVN r7498.
2005-09-24 00:11:40 +00:00
Brian Barrett
0d68728b94 * add some more debugging output for send fragment issue to figure out why
Red Storm is complaining about invalid memory pointer (need to go back
  to Linux and look at this with valgrind)
* Turn off send in place for now, so I can run the tests on RS and see if
  everything else is ok

This commit was SVN r7497.
2005-09-23 19:30:54 +00:00
Brian Barrett
07b0b8c943 * add some useful debugging output
* fix dumb bug in btl_portals_get where I using the dest descriptor key instead
  of the source descriptor key for the match bits, resulting in a PtlGet() with
  the wrong match bits

This commit was SVN r7496.
2005-09-23 15:30:18 +00:00
Andrew Friedley
555ae37255 Add lib{opal,orte,mpi}.la to appropriate LIBADD's, some whitespace cleanup as well.
This commit was SVN r7477.
2005-09-22 12:28:54 +00:00
Brian Barrett
1290b8eed2 * some debugging to figure out why get isn't working on RS
This commit was SVN r7354.
2005-09-13 20:52:56 +00:00
Brian Barrett
4c62c356c7 * more missing header file recovery
This commit was SVN r7328.
2005-09-12 22:13:09 +00:00
Brian Barrett
88cd561198 * bunch of fixes for Red Storm - missing header files and the like
This commit was SVN r7325.
2005-09-12 21:45:58 +00:00
Brian Barrett
79f7ea6856 * implement btl_put for Portals
This commit was SVN r7320.
2005-09-12 20:24:43 +00:00
Jeff Squyres
4aa75fa739 - Make opal_output_stream_t be a real opal_object_t so that it can use
a constructor, like the rest of the code base
- Convert usage in the tree to use the constructor to zero out an
  instance of opal_output_stream_t
- Still need to re-enable output files

This commit was SVN r7253.
2005-09-09 10:46:54 +00:00
Brian Barrett
ed56e743b7 * update configure.ac to use the modern version of AC_INIT and
AM_INIT_AUTOMAKE, instead of the deprecated version.
* Work around dumbness in modern AC_INIT that requires the version
  number to be set at autoconf time (instead of at configure time, as
  it was before).  Set the version number, minus the subversion r number,
  at autoconf time.  Override the internal variables to include the r
  number (if needed) at configure time.  Basically, the right thing
  should always happen.  The only place it might not is the version
  reported as part of configure --help will not have an r number.
* Since AM_INIT_AUTOMAKE taks a list of options, no need to specify
  them in all the Makefile.am files.
* Addes support for subdir-objects, meaning that object files are put
  in the directory containing source files, even if the Makefile.am is
  in another directory.  This should start making it feasible to
  reduce the number of Makefile.am files we have in the tree, which
  will greatly reduce the time to run autogen and configure.

This commit was SVN r7211.
2005-09-07 05:54:53 +00:00
Brian Barrett
6f19022db9 * Update Portals configuration to use --with-portals instead of
--with-btl-portals
* Update Red Storm build config file tomatch change

This commit was SVN r7185.
2005-09-05 21:02:50 +00:00
Brian Barrett
1241645166 * don't ignore Portals BTL anymore
This commit was SVN r6971.
2005-08-22 03:52:07 +00:00
Tim Woodall
f274f524ab - added get based protocol (if supported by btl) for pre-registered memory
- removed 8 bytes from the majority of the pml headers 

This commit was SVN r6916.
2005-08-17 18:23:38 +00:00
Brian Barrett
e5eba51e9f * update rdma min size to be 64K. Seems to give best performance on RS.
This commit was SVN r6880.
2005-08-15 13:30:35 +00:00
Jeff Squyres
c465eb8567 Rename opal/threads/thread.h -> opal/threads/threads.h to avoid a
naming conflict with Solaris' <thread.h>

This commit was SVN r6879.
2005-08-15 11:02:01 +00:00
Brian Barrett
b9452e5afe * finish switch to sending in place
This commit was SVN r6876.
2005-08-15 02:31:45 +00:00
Brian Barrett
f68ede1c93 * turn off debugging in the bowels of the Portals reference implementation
This commit was SVN r6864.
2005-08-14 02:05:23 +00:00
Brian Barrett
51531af9df * implement Portals btl get
This commit was SVN r6862.
2005-08-13 20:55:29 +00:00
Brian Barrett
c83cb66bf2 * Portals can send "in place"
This commit was SVN r6860.
2005-08-13 19:43:08 +00:00
Jeff Squyres
cf16a521c8 Ensure to get ompi/include/constants.h
This commit was SVN r6845.
2005-08-12 21:42:07 +00:00
Brian Barrett
2c44b2398d * remove the src/ directory for Portals BTL to bring it in line with the
other BTLs

This commit was SVN r6820.
2005-08-12 14:33:45 +00:00
Brian Barrett
d9e5e3343d * random code cleanup
This commit was SVN r6797.
2005-08-10 15:26:15 +00:00
Brian Barrett
d4aa9c702c * remove unused files
This commit was SVN r6796.
2005-08-10 15:11:05 +00:00
Brian Barrett
88d316d443 * turn RDMA back on and wonder how I ever committed a patch turning it off...
This commit was SVN r6776.
2005-08-09 14:11:56 +00:00
Brian Barrett
6e2b07db91 * update Red Storm compat code to match today's changes
This commit was SVN r6771.
2005-08-08 21:22:15 +00:00
Brian Barrett
694bbc158f * Set max tag for BTLs to 255 not 256
* Major rework of Portals to better match Red Storm and hopefully get
  better performance:
  - Always assume there is only one module (since there are no machines
    on the planet with more than one Portals interface)
  - make progress all one function rather than dispatching to other
    functions and dispatch on event type, not comm type
  - remove polling of unneeded events

This commit was SVN r6769.
2005-08-08 20:56:26 +00:00
George Bosilca
8b93cb7661 Rename all the functions starting with mca_base_modex to mca_pml_base_modex.
Change all the places where they are used to fit the new name.

Remove the code to check the remote arch from the PML. We will have a GPR mechanism
in ompi_mpi_initialize to do that.

This commit was SVN r6750.
2005-08-05 18:03:30 +00:00
Brian Barrett
16e531e373 * fix some bad error messages to actually be useful
This commit was SVN r6741.
2005-08-04 19:28:59 +00:00
Brian Barrett
20d61b4599 * If rdma frag doesn't complete successfully on the receiving end, don't
call the cbfunc, since it's NULL.  The sending side will do the
  "right thing"

This commit was SVN r6735.
2005-08-04 15:45:31 +00:00
Brian Barrett
ab73cc0487 * minor diagnostic printf that should have been in last commit (doh!)
This commit was SVN r6734.
2005-08-04 15:43:50 +00:00
Brian Barrett
a80b00ab5e * Don't change size of user frag - it's not needed, and causes the frag
to never be returned to the free list

This commit was SVN r6733.
2005-08-04 15:43:13 +00:00
Brian Barrett
9cfa6bba6a * If a message isn't successfully sent, reduce the pending sends counter, as
the message is no longer pending
* Try to push out new messages whenever we finish a send, whether it
   worked or not.  Means that in the case where the other side has too
  many sends pending, we'll constantly retry one (and only one, once the
  pending number is reached) message until goodness returns
* Make some warnings only happen in verbose case, as they are mainly
  diagnostics

This commit was SVN r6732.
2005-08-04 15:41:11 +00:00
Brian Barrett
26adbfe713 checkpoint to move back to RS
* remove dead code
* add some debugging code

This commit was SVN r6725.
2005-08-03 20:21:23 +00:00
Brian Barrett
6c37ad4471 * more components to ignore on RS
* fix comment

This commit was SVN r6724.
2005-08-03 16:08:27 +00:00
Brian Barrett
67f96f7b46 * convert to new param registration code
* Fix RDMA book keeping

This commit was SVN r6723.
2005-08-03 16:02:02 +00:00
Brian Barrett
41f7bb3a2a * undo removing of .ompi_unignore file (there is actually a .ompi_ignore
in this directory)

This commit was SVN r6688.
2005-07-29 23:56:48 +00:00
Brian Barrett
6528ee4692 * remove some useless printfs
This commit was SVN r6683.
2005-07-29 00:23:28 +00:00
George Bosilca
dc2a3d7917 We dont have a .ompi_ignore so I dont see why we have a .ompi_unignore.
This commit was SVN r6679.
2005-07-29 00:14:18 +00:00
Brian Barrett
cbf04e3d3f * if the frag isn't going to go, reduce the pending frags count, don't
increase it

This commit was SVN r6675.
2005-07-28 22:29:05 +00:00
Brian Barrett
5e75cb2495 * properly set unlink thresholds - START/END combined are 1 event
This commit was SVN r6662.
2005-07-28 19:28:04 +00:00
Brian Barrett
7441dfc4c3 fix some printfs
This commit was SVN r6660.
2005-07-28 19:15:07 +00:00
Brian Barrett
8a56cd567f * make poll time 0 so that our latency isn't way too high
* learn to spell...

This commit was SVN r6659.
2005-07-28 18:48:30 +00:00
Brian Barrett
05720c099f * use catamount header file
* fix some printfs

This commit was SVN r6654.
2005-07-28 17:09:23 +00:00
Brian Barrett
6cf88caeb4 * remove some unneeded printfs in Portals btl
* add some svn:ignores

This commit was SVN r6653.
2005-07-28 17:04:52 +00:00
Brian Barrett
b0b6ddd078 * add --enable-heterogeneous (default: enabled) to enable heterogeneous
support in OMPI.  Currently only enables/disables the architecture
  sharing modex in ob1 pml.
* Add sds framework to ompi_info
* Figure out table ids to use for Portals BTL at configure time, since
  we should use 30 & 31 on Red Storm, but the reference implementation
  only supports 0-8.
* Some bug fixes in Portals UTCP sds

This commit was SVN r6650.
2005-07-28 16:16:13 +00:00
Brian Barrett
6aa464b67e More changes from Red Storm port
- only call sched_yield if it exists
  - don't fail out if modex doens't work in ob1
  - bunch of fixes for Portals BTL
  - add cnos rml component
  - add NULL gpr component (should only be used if replica AND proxy
    fail to load)  

This commit was SVN r6629.
2005-07-27 23:07:14 +00:00
Brian Barrett
a4497238ad * per conversation with Tim, completely drain the Portals event queues each
time through component_progress()

This commit was SVN r6576.
2005-07-21 16:09:13 +00:00
Brian Barrett
0ee12467d6 * implement RDMA put
* remove the recv fragment code, since it really isn't needed
* handle memory descriptor binding a bit more sanely, and use
  thresholds so that Portals does the unlink for us, when it feels
  like it.

This commit was SVN r6575.
2005-07-21 16:06:46 +00:00
Brian Barrett
2faa0d179e * rename a bunch of constants to properly follow prefix rule
* change poll time from 10ms to 0ms.  bad brian
* change eager / min send limits to make ob1 a bit happier

This commit was SVN r6573.
2005-07-21 13:31:52 +00:00
Brian Barrett
db4d993228 more code cleanup:
* change all the opal_output_verbose calls in the critical path to
    OPAL_OUTPUT_VERBOSE so that they are pre-processed out if debugging
    is not enabled
  * remove stub code

This commit was SVN r6564.
2005-07-20 15:02:56 +00:00
Brian Barrett
3ac83138c2 No real functionality changes, just a bunch of changes to make variable
names and the like more consistent throughout the code

This commit was SVN r6563.
2005-07-20 14:36:52 +00:00
Brian Barrett
c95eacdff7 * add mode for utcp compat code where modex is not used. Instead, use the
"run-time" api for the reference implementation.
* Make the non-modex utcp and redstorm compat code do the same things in
  the same order

This commit was SVN r6556.
2005-07-20 02:49:48 +00:00
Brian Barrett
f7efce87d8 * need to check with Tim, but appears for a received fragment, everything
associated with the descriptor is ours again once the callback function
  returns.  Make it so - probably can optimize out some of the stuff I
  did when I mistakenly thought the descriptor free() was called on the
  passed descriptor
* Fix some dumb accounting errors with MD usage for unexpected receives

This commit was SVN r6555.
2005-07-20 01:24:43 +00:00
Jeff Squyres
74744dd9df Fix a holdover mistake from the directory re-org:
- orte/class/ompi_proc_table.[ch] -> orte/class/orte_proc_table.[ch]
- opal_hash_table_[get|set|remove]_proc -> 
  orte_hash_table_[get|set|remove]_proc

This commit was SVN r6549.
2005-07-19 12:25:19 +00:00
Brian Barrett
fe21bc111a sends seem to work as well as for sm - still seeing segfaults in various
IBM tests, but see same segfaults / assets in sm btl.

* Add prepare_src implementation so that we can send multiple fragments of
  large messages
* Add queuing of sends if either there are too many outstanding sends
  (we have to limit this so that we don't have more sends pending than
  we could get acks for) or if we get an ack with a 0 byte mlength,
  which means the remote side dropped the message on us.

Still need to valgrind to make sure I'm not leaking resources

This commit was SVN r6508.
2005-07-15 01:43:47 +00:00
Brian Barrett
2719a1c1d6 * rename function to match utcp version
This commit was SVN r6491.
2005-07-14 18:08:15 +00:00
Brian Barrett
68b91e85ed * add checks for the hton and ntoh functions, since they don't exist on
Red Storm.  Add stub functions to ompi_config_bottom.h when they are
  around
* Add protection for a bunch of #include <netinet/in.h>s
* Fix up the Portals BTL so that it compiles on Red Storm and has the
  right mojo for initialization on Red Storm
* Add some important comments to ompi_check_package and mvapi configures
* Add support for platforms without getpwuid() (aka, Red Storm). 

This commit was SVN r6478.
2005-07-14 04:11:59 +00:00
Brian Barrett
17480a5965 * I've sprung yet another username, for the sandia machines
This commit was SVN r6460.
2005-07-13 16:15:32 +00:00
Brian Barrett
aca3abac5d * checkpoint for the evening
This commit was SVN r6423.
2005-07-11 21:00:08 +00:00
Brian Barrett
6e4f33e48c * after careful consideration, there's really no reason to force config.m4
components to succeed with --enable-dist.  Instead, just add them to
  all_components and make dist will still work - we're going to stamp out
  the Makefiles no matter what
* Add missing header to ob1 pml for make dist
* Clean up the Portals BTL configure code

This commit was SVN r6413.
2005-07-10 01:09:31 +00:00
Brian Barrett
a991d883c1 * Rewrite ompi_mca.m4 to use m4_defined lists of projects (ompi, orte, etc.),
frameworks, and components without configure scripts instead of
  hard-coded shell variables (for projects and frameworks) and 
  shell variable building (for components).
* Add 3rd category of component configuration (in addition to configure
  scripts and no-configured components): configure.m4 components.  These
  components can only be built as part of OMPI (like no-configure), but
  can provide an m4 file that is run as part of the main configure
  script.  These macros can set whether the component should be built, 
  along with just about any other configuration wanted.  More care must
  be taken compared to configure components, as doing things like setting
  variables or calling AC_MSG_ERROR now affects the top-level configure
  script (so calling AC_MSG_ERROR if your component can't configure
  probably isn't what you want)
* Added support to autogen.sh for the configure.m4-style components,
  as well as building up the m4_define lists ompi_mca.m4 now expects
* Updated a number of macros to be more config.cache friendly (both
  so that config.cache can be used and so the test can be quickly
  run multiple times in the same configrue script):
    - ompi_config_asm
    - c_weak_symbols
    - c_get_alignment
* Added new macros to be shared when configuring components:
    - ompi_objc.m4 (this actually provides AC_PROG_OBJC - don't ask...)
    - ompi_check_xgrid
    - ompi_check_tm
    - ompi_check_bproc
* Updated a number of components to use configure.m4 instead of
  configure.stub
    - btl portals
    - io romio
    - tm ras and pls
    - bjs, lsf_bproc ras and bproc_seed pls
    - xgrid ras and pls
    - null iof (used by tm) 

This commit was SVN r6412.
2005-07-09 18:52:53 +00:00
Brian Barrett
465e206216 * fill in some more of the chunk mamagement code (chunks == array of memory
used for the rolling recv buffers for non-RDMA messages)

This commit was SVN r6355.
2005-07-05 22:15:35 +00:00
Brian Barrett
d4bd7252a0 * checkpoint - added a bunch of infrastructure for sends
This commit was SVN r6353.
2005-07-05 21:14:29 +00:00
Brian Barrett
d9fa62d1f2 * checkpoint while it compiles
This commit was SVN r6349.
2005-07-05 16:29:57 +00:00
Jeff Squyres
ba99409628 Major simplifications to component versioning:
- After long discussions and ruminations on how we run components in
  LAM/MPI, made the decision that, by default, all components included
  in Open MPI will use the version number of their parent project
  (i.e., OMPI or ORTE).  They are certaint free to use a different
  number, but this simplification makes the common cases easy:
  - components are only released when the parent project is released
  - it is easy (trivial?) to distinguish which version component goes
    with with version of the parent project
- removed all autogen/configure code for templating the version .h
  file in components
- made all ORTE components use ORTE_*_VERSION for version numbers
- made all OMPI components use OMPI_*_VERSION for version numbers
- removed all VERSION files from components
- configure now displays OPAL, ORTE, and OMPI version numbers
- ditto for ompi_info
- right now, faking it -- OPAL and ORTE and OMPI will always have the
  same version number (i.e., they all come from the same top-level
  VERSION file).  But this paves the way for the Great Configure
  Reorganization, where, among other things, each project will have
  its own version number.

So all in all, we went from a boatload of version numbers to
[effectively] three.  That's pretty good.  :-)

This commit was SVN r6344.
2005-07-04 20:12:36 +00:00
Brian Barrett
a13166b500 * rename ompi_output to opal_output
This commit was SVN r6329.
2005-07-03 23:31:27 +00:00
Brian Barrett
39dbeeedfb * rename locking code from ompi to opal
This commit was SVN r6327.
2005-07-03 22:45:48 +00:00
Jeff Squyres
4ab17f019b Rename src -> ompi
This commit was SVN r6269.
2005-07-02 13:43:57 +00:00