* 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.
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.
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.
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.
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.
- 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.
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.
- 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.
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.
- move the attribute init section in ompi_mpi_init() down below where
communicators are setup (we need MPI_COMM_WORLD to be setup before
attributes and keyvals are setup)
- removed confusing extra wrapper class around ompi_hash_table_t;
looks like it was a victim of slow eroding of members so I put took
it out back and put it out of its misery
- added preliminary definitions for all the pre-defined keyvals.
Still need more work here to assign their initial values, but I
think Edgar was running into an atrribute problem and it may have
been that the pre-defined attrs didn't yet exist.
- removed some LAM-specific predefined keyvals from mpi.h
This commit was SVN r2695.
Fixed ompid so it reissues the non-blocking receive - should now be close to ready for primetime. Fixed some logic in the svc framework that wasn't checking properly for action flags.
This commit was SVN r2660.
Also removed the mpirun3 directory since we are basically dragging mpirun2 along with us - no need to create a new version after all.
Made a few changes to the universe info structure, eliminating the "webserver" and "socket" fields since we will do those contacts through the oob channel. Also changed the "silent_mode" field to "console" since silent mode is the default - the flag needs to tell you to turn the console on, not off.
Parse environ function now gets the ns and gpr replica contact info and loads it in the proper places to hand it off to the respective components, thus allowing me to check connection to them as part of determining if the named universe already exists. Changed the local_universe_exists function accordingly and gave it a new name (since the replicas may not be local). This name will shortly be changed to "ompi_rte_join_universe" as I complete the logic for doing that function.
Please let me know if you see any problems. I successfully ran some trivial multi-process functions in both mpirun2 and singleton modes, and ran the seed daemon as well, so I think it should all be okay.
This commit was SVN r2611.
For those of you looking into the guts of these functions, the most visible changes are:
- raising the assignment of the process name to a higher level, taking it out of the "hole" it had fallen into. We've been having problems with multiple functions assigning the process name. This is understandable - lots of workarounds were implemented in the early development stages. However, it was becoming hard to determine WHEN the name was being defined - it was being hidden under too many layers of function calls. Hence, it is now assigned in the three primary programs in a very visible fashion. Hopefully, we can now chase down all the other places and get rid of them.
- similarly, I raised the visibility of when the session directory gets constructed to ensure it doesn't get done at the wrong time and/or multiple times.
- created a new function that parses all the non-mca level environmental variables and assigns the info into the corresponding structures. I have also included notes in this function and in the various ompi_rte_init_stage functions about proper ordering.
- modified the rte cmd line parsers to store the options they find into the environment so they can be passed along later
That about does it.
This commit was SVN r2589.
Added a field to the ompi_rte_node_schedule_t structure to keep track of the number of items on the environ list, thus making it easier to append more things to it. Adjusted the mca_pcm_base_build_base_env function correspondingly to take that field as an additional argument.
Changed mpirun2 to a .c program for convenience since it wasn't using any c++ features anyway.
This commit was SVN r2561.
doesn't do what it was designed for, and therefore wasn't useful, so
per discussion with Ralph last night, we decided to scrap it.
This commit was SVN r2539.
This also includes a checkpoint update to openmpi.c and ompid.c. I have re-enabled the ompid compile.
This latter raises an important point. The trunk compiles the programs like ompid just fine under Linux. It also does just fine for OSX under the dynamic libraries. However, we are seeing errors when compiling under OSX for the static case - the linker seems to have trouble resolving some variable names, even though linker diagnostics show the variables as being defined. Thus, a warning to Mac users that you may have to locally turn things off if you are trying to do static compiles. We ask, however, that you don't commit those changes that turn things off for everyone else - instead, let's try to figure out why the static compile is having a problem, and let everyone else continue to work.
Thanks
Ralph
This commit was SVN r2534.
- see src/util/show_help.h for details (doxygen); main function call
is ompi_show_help()
- text message files are expected to be located in $pkgdatadir
(usually $prefix/share/openmpi). Anyone can install a text file in
$pkgdatadir with their message(s) in it and then have them displayed
via ompi_show_help(). "pkgdata_DATA" is the keyword to use in
Makefile.am's, for example (from src/mca/base/Makefile.am):
pkgdata_DATA = help-mca-base.txt
- added a few examples in the code base using ompi_show_help(), but
not too many -- can convert more "show_help" comments in the code
over time; no huge rush. :-)
- no i18n-like support yet; waiting for advice and consensus from
other developers
This commit was SVN r2519.