1
1

422 Коммитов

Автор 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
Vishal Sahay
e1c71f8c9a More f77 bindings and some fixes - typos - in recv_f.c and comm_spawn_f.c
This commit was SVN r2567.
2004-09-09 19:42:07 +00:00
Edgar Gabriel
cfca6e88c1 fix for group_compare, adding MPI_GROUP_EMPTY as a result for group_intersection/difference/union
This commit was SVN r2562.
2004-09-09 16:01:44 +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
Edgar Gabriel
dccafe7e01 a fix for an error to run
Intel tests. The previous version crashed in MPI_Errhandler_set ...

This commit was SVN r2555.
2004-09-09 14:38:04 +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
434a09fbf1 Fix a bad MPI function prototype
This commit was SVN r2529.
2004-09-07 21:38:46 +00:00
Jeff Squyres
985b219c6c Fix typo (sorry folks, this'll cause a lot of recompiling... :-\ )
This commit was SVN r2526.
2004-09-07 20:07:31 +00:00
Edgar Gabriel
718be11bdb fixing a problem for error handlers as discussed with Jeff a couple of weeks ago. The macros used in the MPI functions have not changed, thus the modifications should be transparent to all other functions.
This commit was SVN r2522.
2004-09-06 12:06:27 +00:00
Jeff Squyres
2169e1a043 Curses! Missed the EXTRA_DIST's...
This commit was SVN r2521.
2004-09-05 19:58:54 +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
Jeff Squyres
8e7cefd2dc Curses! Missed one!
This commit was SVN r2514.
2004-09-04 23:52:33 +00:00
Jeff Squyres
c7cedc3364 Oops -- update the rest of the prototypes.
This commit was SVN r2513.
2004-09-04 23:34:31 +00:00
Jeff Squyres
2fc9f9181f Some infrastructure help for the F77 bindings:
- added src/mpi/f77/strings.[ch] for f<-->c string conversions
- added src/mpi/f77/constants* for instiantiating and providing macros
  to check for the various fortran address "constants" (read the
  comments in this file -- it's quite complicated, unfortunately :-\ ):
  - MPI_BOTTOM
  - MPI_ARGV_NULL
  - MPI_ARGVS_NULL
  - MPI_ERRCODES_IGNORE
  - MPI_STATUS_IGNORE
  - MPI_STATUSES_IGNORE
- updated fortran MPI_COMM_SET_NAME and MPI_COMM_GET_NAME to check
  string handling
- updated fortran MPI_RECV to check MPI_STATUS_IGNORE handling
- updated fortran MPI_COMM_SPAWN to check string and MPI_ARGV_NULL and
  MPI_ERRCODES_IGNORE handling
- partially modified src/mpi/f77/prototypes_mpi.h to account for
  string length parameters passed by the fortran compiler; more work to
  be done there
- backed out a silly previous change in send_f.c by me (duh)
- updated fortran MPI_COMM_DUP and MPI_COMM_FREE to check int<-->fint
  macros 

This commit was SVN r2512.
2004-09-04 22:02:18 +00:00
Jeff Squyres
46361c67d5 Add int<-->Fint macros while debugging some fortran gorp
This commit was SVN r2506.
2004-09-04 10:40:43 +00:00
Vishal Sahay
2adafa8f53 Partially implemented and commented out binding for now
This commit was SVN r2505.
2004-09-04 00:28:30 +00:00
Vishal Sahay
6e4558343c More f77 bindings
This commit was SVN r2504.
2004-09-03 23:02:44 +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
Vishal Sahay
4efad65f63 More f77 bindings
This commit was SVN r2460.
2004-09-03 00:33:44 +00:00
Vishal Sahay
9dd541ef41 More f77 bindings
This commit was SVN r2439.
2004-09-02 01:17:31 +00:00
Vishal Sahay
d96c602465 More wrappers with MPI_Fint modifications
This commit was SVN r2422.
2004-09-01 00:57:55 +00:00
Jeff Squyres
639882b063 Plug a minor memory leak
This commit was SVN r2406.
2004-08-31 09:37:28 +00:00
Jeff Squyres
95c87a5d72 Updates and fixes to make MPI_PACK / MPI_UNPACK *really* work :-)
This commit was SVN r2390.
2004-08-30 07:52:09 +00:00
Jeff Squyres
a2996b2d01 Remove temporary use of global convertor; MPI_PACK and MPI_UNPACK are
now thread-safe.

This commit was SVN r2386.
2004-08-29 22:45:06 +00:00
Jeff Squyres
41192eda33 Remove compiler warning
This commit was SVN r2381.
2004-08-29 19:27:55 +00:00
Jeff Squyres
25748a24b2 Oops -- pass in 0 for argc, not NULL.
This commit was SVN r2375.
2004-08-29 09:06:49 +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
e2aaf64239 Add a few checks to ensure that MPI_INIT(NULL, NULL) and
MPI_INIT_THREAD(NULL, NULL, ...) will work properly.

This commit was SVN r2362.
2004-08-28 16:30:29 +00:00
Jeff Squyres
f90e1d2628 Come to think of it, we need better error handling for MPI_INITIALIZED
and MPI_FINALIZED, depening on whether we have already called MPI_INIT
and/or MPI_FINALIZED...  This fixes that issue.

This commit was SVN r2360.
2004-08-28 16:23:15 +00:00
Jeff Squyres
7b7c23466c Don't check for init/finalize in MPI_Initialized and MPI_Finalized.
Duh.  :-)

This commit was SVN r2359.
2004-08-28 16:00:27 +00:00
Jeff Squyres
867a985a3a Fix some errors in usage of the convertor
This commit was SVN r2355.
2004-08-28 09:35:52 +00:00
Jeff Squyres
c704267665 Minor fix -- double check that status isn't MPI_STATUS_IGNORE before
assigning to it

This commit was SVN r2351.
2004-08-28 08:46:36 +00:00
Jeff Squyres
3d5bd95934 Fix for missing prototype of malloc et al.
This commit was SVN r2349.
2004-08-28 08:04:03 +00:00
Vishal Sahay
f159b108b0 Modified bindings to take care of difference in size of int and MPI_Fint
This commit was SVN r2337.
2004-08-27 21:53:11 +00:00
Jeff Squyres
7ccf210a28 According to the AM manual (which I was re-reading today for another
upcoming commit), this is the preferred way to do conditional source
files these days.  AM can then infer which files to pick up for
distribution without the need for EXTRA_DIST.  Also, for mpi/c/profile
and mpi/f77/profile, don't distribute any source files -- just let the
sym links be made by the user.  This makes the tarball just slightly
smaller.  ;-)

This commit was SVN r2316.
2004-08-26 20:28:36 +00:00
Vishal Sahay
3b23ef1084 F77 bindings
This commit was SVN r2314.
2004-08-26 19:23:18 +00:00
Jeff Squyres
15c01284e6 Remove unused variables to eliminate compiler warnings
This commit was SVN r2296.
2004-08-25 11:49:19 +00:00
Brian Barrett
d5133eddec * clean up the Doxygen comments in the runtime and llm classes
* recalarify previous clarification on ompi_list_get_size()

This commit was SVN r2190.
2004-08-17 22:14:47 +00:00
Tim Woodall
442c9e03b5 provide pml implementation - will need to update for romio
This commit was SVN r2172.
2004-08-16 23:10:25 +00:00
Jeff Squyres
6bad44dd3b Oops -- missed a word in the warning message. :)
This commit was SVN r2143.
2004-08-14 13:09:19 +00:00
Jeff Squyres
2df3a8fd6d Add a few warning messages for if you try to do things and
MPI_PARAM_CHECK was previously set to disable MPI API param checking
at compile time (and our hands are tied at run-time) and implict MCA
param assignements

This commit was SVN r2142.
2004-08-14 13:07:30 +00:00
Jeff Squyres
3274e80b0c Oops -- wtick and wtime are not supposed to be profiled. This fixes
the nightly build on frood from last night.

This commit was SVN r2141.
2004-08-14 12:49:38 +00:00
Jeff Squyres
1787645a3d After consulting with Edgar and MPI-2:4.12.4, decide the following:
- the f2c functions should return the corresponding *_NULL functions
  and not invoke an MPI exception if an invalid fortran handle is
  passed
- the error check should be outside MPI_PARAM_CHECK -- MPI defines the
  behavior of when an invalid fortran handle is passed; it is not
  dependant upon whether we are checking parameters or not

This commit was SVN r2140.
2004-08-14 12:28:25 +00:00
George Bosilca
82046fd2e5 Correct the pointer usage when we call the corresponding C funtion. If
the function expect a pointer we just have to cast it.

This commit was SVN r2138.
2004-08-14 06:37:17 +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
6cfe8bdfb9 Fix some Makefile.am issues with respect to profiling
This commit was SVN r2132.
2004-08-13 20:42:38 +00:00
Jeff Squyres
96f56affd5 Add some missing files in
This commit was SVN r2131.
2004-08-13 20:16:07 +00:00
Edgar Gabriel
573b4ea950 adding a check whether the f_to_c_index is initialized in the destructor for consistency reasons.
removing the warning in comm_split_f pointed out be the 64bit architecture. Actually, I wonder why g77 did not detect that, since this was a real bug and not just a warning :-)

This commit was SVN r2113.
2004-08-13 13:31:26 +00:00