1
1

70 Коммитов

Автор SHA1 Сообщение Дата
Jeff Squyres
a28b5ae43b Fix for a bunch of size_t issues; reviewed by George and Ralph.
- Change all uses of *printf'ing a size_t to use an explicit cast to
  (unsigned long) and the %lu escape
- change ORTE_GPR_REPLICA_MAX_SIZE to INT_MAX until bug 1345 is fixed
  (i.e., until we allow size_t in MCA params)
- ns_base_local_fns.c:orte_ns_base_get_proc_name_string(): changed
  from %0X -> %lu
- ORTE_NAME_ARGS added explicit (unsigned long) casts, and changed all
  usages of ORTE_NAME_ARGS to use %lu's

This commit was SVN r5644.
2005-05-08 13:22:55 +00:00
Ralph Castain
659d57f300 Several things in this commit - shouldn't impact any existing work:
1. Added pid_t to the dps

2. Processes now "register" their local pid and update their location (i.e., nodename) on the registry during mpi_init

3. Added a new error code for values that exceed maximum for their data type (useful when transitioning a value from one variable to another of different size)

4. Fixed a few places where size_t was being incorrectly handled

5. Updated dps_test to cover pid_t types

This should now provide support for TotalView connection - which David is pursuing.

This commit was SVN r5623.
2005-05-06 17:00:06 +00:00
Jeff Squyres
462adee81a Commit 1 of 4 to bring in the hetero branch to the trunk. Merged in
from:

svn merge -r5440:5448 https://svn.open-mpi.org/svn/ompi/tmp/hetero .

This commit was SVN r5549.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r5440
  r5448
2005-05-01 00:47:35 +00:00
Brian Barrett
815964f491 * start of code to dynamically decide whether to have the sched_yield or not
in the ompi_progress() function.  Not yet fully operational, as there 
  is something going on with the subscription not getting called.  E-mail
  coming to those interested.

This commit was SVN r5343.
2005-04-14 18:55:53 +00:00
Brian Barrett
309ff000a6 * add --enable-mca-static to specify components that should be statically
linked into libmpi
* add --enable-mca-direct to specify components that should be directly
  called (instead of going through component structs and the like).  The
  components and component frameworks must explicitly support this.
  Currently, only the TEG PML does so.
* Updated all the calls to the PML to use a macro so that they can either
  be direct called or called through function pointer interfaces (aka
  the component infrastructure)

This commit was SVN r5291.
2005-04-13 03:19:48 +00:00
Brian Barrett
8ad4cae815 * some hacks to make progress threads compile. Still don't work..
This commit was SVN r5243.
2005-04-09 19:34:32 +00:00
Brian Barrett
043e7682d2 * Make sure to free the callbacks array during finalize
* add MCA parameter (OMPI_MCA_mpi_yield_when_idle) to cause sched_yield()
  to be called when the progress engine is called and nothing happens.
  Default is to call sched_yield().
* add MCA parameter (OMPI_MCA_mpi_event_tick_rate) to adjust the rate
  at which the event library is called from ompi_progress.  When set
  to 0, the event library will never be ticked.  When set to 1, the
  event library will be progressed every time.  2 every other, etc.

The MCA parameters are only in effect from end of MPI_Init to start of
MPI_Finalize.

This commit was SVN r5099.
2005-03-30 01:40:26 +00:00
Brian Barrett
8f248206e3 * back out some things I was playing with to get better gm numbers. Sorry
about that :/

This commit was SVN r5086.
2005-03-29 13:56:52 +00:00
Brian Barrett
cdbf179d40 * add header files that "go missing" if compiling with optimizations
* Fix one file that didn't have a comment header

This commit was SVN r5085.
2005-03-29 13:50:15 +00:00
Ralph Castain
dfe49d0fd2 Fix a subtle bug in the registry callback system that was manifesting itself in the singleton case and (randomly) in the multiprocess case.
Update the unit-test-status matrix to include priority.

Add several new registry diagnostics that helped track down the above bug.
M    test/mca/gpr/gpr_triggers.c
M    test/Unit-Test-Status.xls
M    test/Unit-Test-Status.pdf
M    src/mpi/runtime/ompi_mpi_init.c
M    src/mca/oob/base/oob_base_xcast.c
M    src/mca/ns/base/ns_base_nds_env.c
M    src/mca/gpr/replica/api_layer/gpr_replica_dump_api.c
M    src/mca/gpr/replica/api_layer/gpr_replica_api.h
M    src/mca/gpr/replica/communications/gpr_replica_comm.h
M    src/mca/gpr/replica/communications/gpr_replica_remote_msg.c
M    src/mca/gpr/replica/communications/gpr_replica_cmd_processor.c
M    src/mca/gpr/replica/communications/gpr_replica_dump_cm.c
M    src/mca/gpr/replica/gpr_replica_component.c
M    src/mca/gpr/replica/gpr_replica.h
M    src/mca/gpr/replica/functional_layer/gpr_replica_dump_fn.c
M    src/mca/gpr/replica/functional_layer/gpr_replica_fn.h
M    src/mca/gpr/replica/functional_layer/gpr_replica_trig_ops_fn.c
M    src/mca/gpr/replica/functional_layer/gpr_replica_messaging_fn.c
M    src/mca/gpr/replica/functional_layer/gpr_replica_segment_fn.c
M    src/mca/gpr/proxy/gpr_proxy_dump.c
M    src/mca/gpr/proxy/gpr_proxy.h
M    src/mca/gpr/proxy/gpr_proxy_component.c
M    src/mca/gpr/gpr_types.h
M    src/mca/gpr/base/base.h
M    src/mca/gpr/base/unpack_api_response/gpr_base_dump_notify.c
M    src/mca/gpr/base/pack_api_cmd/gpr_base_pack_dump.c
M    src/mca/gpr/gpr.h

This commit was SVN r5080.
2005-03-28 22:37:54 +00:00
Jeff Squyres
ffc75a623f Remove redundant declaration of orte_soh and move it into
src/mca/soh/base/base.h (similar to most other frameworks).

This commit was SVN r5073.
2005-03-28 20:54:45 +00:00
Jeff Squyres
e9ae621323 Change the orientation of the thread level determination in
ompi_mpi_init(): we no longer *query* the components to see what they
can support -- instead, we *tell* the components what they need to
support (if they can't support it, they should disqualify themselves
from selection).

This involved a bunch of things:
- pass the configure-time-decided OMPI_ENABLE_PROGRESS_THREADS and
  OMPI_ENABLE_MPI_THREADS constants to each framework selection
  function
- eliminate mca_base_init_select_components()
- eliminate all "allow_multi_user_threads" and "have_hidden_threads"
  kinds of arguments and aggregation from various framework selection
  and component/module functions
- correctly determine the max MPI thread level that we can support and
  limit the final MPI thread level as appropriate during
  ompi_mpi_init()

As a side effect, while editing nearly every MPI component I also did
the following:
- found 2 places (gm and ib ptls) where ompi_set_using_threads() was
  erroneously being called (I think this is left over kruft from
  misunderstandings by the original authors).  I removed these.

This commit was SVN r5055.
2005-03-27 13:05:23 +00:00
Jeff Squyres
c57377a965 - reduce kruft in finding out which thread level to use (still need to
check initial values against Brian's new stuff)
- remove some additional kruft

This commit was SVN r5021.
2005-03-25 03:06:06 +00:00
Jeff Squyres
3f5541349a Add UC copyright
This commit was SVN r5009.
2005-03-24 12:43:37 +00:00
Ralph Castain
e2597395e8 Enable the compound command capability to reduce message loads during startup.
Add two files (one .xls and one .pdf) that track the status of unit test development. Comments/revisions welcomed.

This commit was SVN r4999.
2005-03-23 17:50:12 +00:00
Brian Barrett
6822a519bb * results from initial merge of the tim branch into the trunk. Compiles and
ompi_info works, but that's all that has been tested.

This commit was SVN r4827.
2005-03-14 20:57:21 +00:00
Prabhanjan Kambadur
cc3a8ec302 Making topo component lazy load
This commit was SVN r4659.
2005-03-03 22:42:10 +00:00
Josh Hursey
ba4bcc48db Added two new MCA Parameters:
* mpi_show_mca_params
   If set to true, this turns on the dumping of all MCA parameters when MPI_INIT is called. 
   Only the 'rank 0' processes will print the parameters.

* mpi_show_mca_params_file
   (This value is only used if the first argument is set to true) If this value is non-NULL 
   it specifies the file to put the dump into. This file can then be used as input to mpirun 
   for debugging purposes. If this value is not set (and mpi_show_mca_params is set) then 
   the parameters are dumped to stdout.

I also changed the following parameters to internal=true:
  gpr_base_replica
  ns_base_replica
  pcmclient_env_cellid

This commit was SVN r4475.
2005-02-21 18:56:30 +00:00
Brian Barrett
0d82642b40 * Split thread support build conditionals into MPI threads and progress
threads (defaults to use MPI threads, disable progress threads).  This
  allows us to have MPI threaded support, but without progress threads
  and all that fun stuff.

This commit was SVN r4443.
2005-02-16 17:42:07 +00:00
Prabhanjan Kambadur
2439244f0c These are some changes which will enable dynamic builds to go through on Windows. Most of the changes are in adding/deleting windows symbol exporting things.
This commit was SVN r4377.
2005-02-10 19:08:35 +00:00
Rainer Keller
6ee5a29c2f Add a Stacktrace feature, which figures where/what signal has happened
after MPI-startup.
For this a new mpirun-parameter "mpi_signal" is added, one may specify a
comma-separated list of signals to grab, e.g. mpirun --mca mpi_signal 8,11
will check for SIGFPE and SIGSEGV.
It only finds the first fault (SA_ONESHOT), as after the return the same
fault will occur again.

As printout, the data provided by siginfo_t is printed to STDOUT (yes,
it calls printf ,-]).
Additionally, with glibc, it uses backtrace and backtrace_symbols to 
print the calling stack up to the function in which the signal was raised:

(Rank:0) Going to write to RD_ONLY mmaped shared mem
Signal:11 info.si_errno:0(Success) si_code:2(SEGV_ACCERR)
Failing at addr:0x4020c000
[0] func:/home/rusraink/ompi-gcc/lib/libmpi.so.0 [0x40121afe]
[1] func:./t0 [0x42029180]
[2] func:./t0(__libc_start_main+0x95) [0x42017589]
[3] func:./t0(__libc_start_main+0x49) [0x8048691]

This commit was SVN r4170.
2005-01-26 19:11:46 +00:00
Tim Woodall
0d2784568e fixed I/O forwarding cleanup
This commit was SVN r4033.
2005-01-18 17:32:54 +00:00
Tim Woodall
4bd9538bca temporarily disable I/O forwarding
This commit was SVN r4031.
2005-01-18 16:43:47 +00:00
Tim Woodall
9648b5bc36 starting integration of i/o forwarding framework
This commit was SVN r3986.
2005-01-13 15:30:49 +00:00
Jeff Squyres
9802822b7b Make the opening of the io framework be lazy -- only occurs at the
first invocation of MPI_File_open or MPI_File_delete (whichever is
first).  The io framework is then only closed down if it was
successfully opened.  

This is the first [atomic] step to having a progress thread in the
ROMIO component; it wasn't strictly *necessary*, but it's logically
the same direction and provided a good test case.

This commit was SVN r3895.
2005-01-04 15:43:26 +00:00
Tim Woodall
572df54b2a enable event processing for oob w/ non-thread build
This commit was SVN r3810.
2004-12-14 16:34:10 +00:00
Ralph Castain
ed197f0186 More minor changes that continue to make progress on comm_spawn. Nothing significant - no impact on other operations.
PLEASE NOTE: there are some diagnostic messages in oob_xcast that will print out. Please don't have a cow about them - they won't hurt nor injure anyone, and it's just there for a little while to help Tim and I debug a problem. Just didn't want to create yet another MCA parameter to debug 10 lines of code. :-) 

This commit was SVN r3756.
2004-12-09 04:54:37 +00:00
Ralph Castain
5e560cb148 Fix a problem that affected attributes - we were missing the vm_register function call.
This commit was SVN r3692.
2004-12-03 21:05:22 +00:00
Ralph Castain
bf4bfd7472 This will have zero impact on current operations. It adds some functionality for monitoring system state-of-health to support the Eclipse interface project. No use is made of that functionality in the system yet, but this will come along soon. I'll provide more info on exactly what information is now being stored later.
This commit was SVN r3672.
2004-11-30 16:27:32 +00:00
Jeff Squyres
616269a9be Add HLRS copyright
This commit was SVN r3665.
2004-11-28 20:09:25 +00:00
Jeff Squyres
e9ed717748 First cut at copyrights: IU, UTK, and some OSU. LANL and HLRS still
pending.

This commit was SVN r3655.
2004-11-22 01:38:40 +00:00
Ralph Castain
bf9087d9d1 The merged main trunk and gpr integration branch. Tested on Mac only so far - will check out and test on Linux. If that has a problem, will back all changes out (again), but I think we have this one correct. Will send out a more complete change notice once testing is complete.
This commit was SVN r3644.
2004-11-20 19:12:43 +00:00
Tim Woodall
c80818463f use oob barrier for mpi init
This commit was SVN r3606.
2004-11-17 23:37:49 +00:00
Tim Woodall
f78fb7a029 oops - should default to off for non-threaded build
This commit was SVN r3605.
2004-11-17 23:21:18 +00:00
Tim Woodall
70d1c1aafd rather large commit:
- change mca_ptl_base_header_t definition to decrease the
  header size for small messages. note that this requires
  all ptls to be updated. tcp/self/sm/mx have been changed,
  gm/ib/quadrics will be broken by this commit. george and
  mitch have volunteered to make the required changes to gm/ib
- revised matching logic to reduce function call overhead
- changes to tcp/self/sm/mx ptls to support the revised headers

This commit was SVN r3602.
2004-11-17 22:47:08 +00:00
Brian Barrett
23a6d5bb60 * roll back r3584 (gpr changes to reduce floods) as it appears to cause
some instability on Linux

This commit was SVN r3587.

The following SVN revision numbers were found above:
  r3584 --> open-mpi/ompi@52add381d0
2004-11-17 02:30:07 +00:00
Brian Barrett
52add381d0 * Merge over the gpr changes Ralph has made on the gpr-integration branch.
This may trigger a complete rebuild :(.  Short overview of changes:

  - reduce number of network slams at startup
  - prevent gpr from hanging when doing process death code
  - general gpr cleanups

This commit was SVN r3584.
2004-11-16 22:53:33 +00:00
Jeff Squyres
7f3790615a - Implement MPI_Is_thread_main
- Add new thread function to compare current thread to an
  ompi_thread_t*
- Save current thread ID in MPI_INIT*
- Add first cut of solaris thread functions
- Add stubs for missing Windows thread functions

This commit was SVN r3569.
2004-11-15 20:03:14 +00:00
George Bosilca
9659288e74 I hate waiting on the airports. SO I start doing something usefull ...
I remove a lot of inter-dependence, I use the struct_t type.
BEWARE not all the function are ready.

This commit was SVN r3524.
2004-11-05 07:52:30 +00:00
Prabhanjan Kambadur
e2e3bead65 fixing up small mistakes
This commit was SVN r3399.
2004-10-28 19:12:45 +00:00
Tim Woodall
847c08fda5 - for non-threaded builds - set progress to be blocking for non-mpi apps
- reorg MX

This commit was SVN r3383.
2004-10-28 15:40:46 +00:00
Tim Woodall
f557b215ee reimplemented module exchange to use registry publish/subscribe
This commit was SVN r3140.
2004-10-14 20:50:06 +00:00
Jeff Squyres
722e51aa2c Oops -- assignment was the wrong way around.
This commit was SVN r3021.
2004-10-10 00:03:42 +00:00
Jeff Squyres
80b38390ab Enable proper f2c <--> c2f MPI_Request translation. Pick up f2c <-->
c2f MPI_Status translation along the way.  This should enable Fortran
MPI apps that use non-blocking communication to start working.

This commit was SVN r2996.
2004-10-08 17:12:36 +00:00
Jeff Squyres
03dc8e21fb Silence meaningless compiler warning
This commit was SVN r2966.
2004-10-06 23:40:30 +00:00
Ralph Castain
3c92d18fc7 Consolidate the RTE startup sequence into a single function call for simpler maintenance. We seem to have this debugged enough now to commonize the startup across the various programs. Modify mpi_init, mpirun, openmpi, ompid, and ompiconsole accordingly.
This commit was SVN r2910.
2004-10-01 22:22:21 +00:00
Edgar Gabriel
05a28efd1f first cut on the comm_spawn mechanism. It doesn't work yet
(and I don't know why), but it also doesn't seem to break anything else...

This commit was SVN r2874.
2004-09-29 12:41:55 +00:00
Ralph Castain
4c0053579d ka-ching
This commit was SVN r2828.
2004-09-23 14:35:02 +00:00
Ralph Castain
0d4e6482cd Continuing the cleanup process. Few minor fixes here and there - mostly just NULLing pointers that were free'd. Console now can connect to any universe, regardless of scope.
This commit was SVN r2734.
2004-09-17 00:59:14 +00:00
Ralph Castain
f6dc129754 Allow mpirun2 and mpi_init to cleanly detect and join an existing universe. Will continue testing to quickly move away from a non-responsive existing universe.
This commit was SVN r2729.
2004-09-16 19:45:32 +00:00