1
1

13 Коммитов

Автор SHA1 Сообщение Дата
Ralph Castain
c6cbe33d50 Some of these didn't really change - I was just in/out of them for diagnostics while chasing a bug. Got caught by my good buddy Tim again :) on his parse_contact_info function, which requires that the space for the answer be allocated in advance. Sigh. Anyway, mpirun2 now works again. My apologies if you tried it in the last few hours and found it didn't.
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.
2004-09-11 12:56:52 +00:00
Ralph Castain
106e07f759 Some reorganization of the startup process functions that is transparent to anyone using mpirun2 and/or running as a singleton. Please note that the old mpirun script may well not work any more - I have not been trying to keep that one running.
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.
2004-09-10 03:21:03 +00:00
Ralph Castain
c1ba40c631 Fix mpirun2 and ompi_mpi_init to be fully backward compatible. All required values are now passed via environmental parameters, and the receiving parties know what to do with them.
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.
2004-09-09 15:23:41 +00:00
Jeff Squyres
86e3cfa85d Remove all remaining traces of the common command line utility. It
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.
2004-09-08 15:02:35 +00:00
Ralph Castain
e8c36d02c9 Not as bad as this all may look. Tim and I made a significant change to the way we handle the startup of the oob, the seed, etc. We have made it backwards-compatible so that mpirun2 and singleton operations remain working. We had to adjust the name server and gpr as well, plus the process_info structure.
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.
2004-09-08 03:59:06 +00:00
Jeff Squyres
3498f7a283 First cut of the Show Help Subsystem (SHS)
- 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.
2004-09-05 16:05:37 +00:00
Ralph Castain
6b05166b75 Split ompi_rte_init into two stages to allow detection of universe existence prior to starting remainder of rte. Adjust mpirun2 and mpi_init to accommodate.
This commit was SVN r2499.
2004-09-03 21:17:33 +00:00
Jeff Squyres
7f83536f7a Fix a bunch of RUI's and ensure that all the Right functions are
invoked from the various finalize functions so that we don't have
resource leaks

This commit was SVN r2374.
2004-08-29 09:05:14 +00:00
Jeff Squyres
cfd5524ad5 Committing several things under one commit, but they're all at least
somewhat tied together and I'd rather have a consistent commit rather
than several smaller commits that individually break the tree:
- first cut of src/file/file.c: MPI_File handling.  More to come here.
- tweaked MPI_Info handling a bit: cause MPI_Info_f2c to invoke error
  handler if provided index is out of range (vs. returing
  MPI_INFO_NULL without invoking an error handler)
- moved general MPI MCA params off into their own .h and .c file (so
  that ompi_info can call it and therefore display MPI MCA params)
- first [abbreviated] cut of src/mca/io/base/* -- much more to come
  here; stripped down to basics for this commit
- filled in a small number of MPI_File* functions for testing purposes
- updated a bunch of doxygen docs
--> Unresolved questions about MPI_ERRORS_RETURN, MPI_ERRORS_ABORT,
    and MPI::ERRORS_THROW_EXCEPTIONS because of vagueness in MPI
    standard -- Edgar and I are discussing what to do here
--> Unresolved questions about what to do in a case like this:
      MPI_File_open(..., &file);
      MPI_File_close(&file);
      MPI_File_read(..., &file);
    because MPI-2:9.7 says that the default error handler on MPI_File
    handles is MPI_ERRORS_RETURN -- we can't even print a warning
    here!  This certainly violates the Law of Least Astonishment for
    MPI users (who certainly expect MPI functions that fail to
    complain loudly and to abort by default).

This commit was SVN r2136.
2004-08-14 01:56:05 +00:00
Jeff Squyres
726af9ea85 Revamp MPI_Info handling a bit:
- fix a few bugs
- convert/add doxygen comments for internal info functions in
  src/info/info.h (some comments were originally in src/info/info.c)
- make it thread safe
- make MPI_INFO_NULL be a real object (vs ((struct ompi_info_t*) 0))
- add error checking into top-level MPI functions
- add support in MPI_Info for "never freeing MPI handles" as a form of
  debugging i.e., check if see if you accidentally use a freed handle)
- add support for "print out a list of un-freed MPI_Info handles
  during MPI_FINALIZE"

This commit was SVN r2089.
2004-08-12 16:56:24 +00:00
Brian Barrett
7932c850c1 * Move the proc_info and session_dir initialization into the ompi_rte_init
code
* clean up comments in the session and proc code so that it's readable in
  80 columns
* Try to get cleanup correct

This commit was SVN r2003.
2004-08-10 16:05:22 +00:00
Brian Barrett
b77aa552e8 * Move the sys_info initialization into ompi_init(), since it should really
be there for any OMPI process.

This commit was SVN r2000.
2004-08-10 04:59:34 +00:00
Brian Barrett
fd27aa08fc * As requested, move mpiruntime to mpi/runtime
This commit was SVN r1960.
2004-08-08 05:20:32 +00:00