1. header file and source file protections using #ifdef WIN32
2. new files and directories to support windows functionality
3. appropritate linkage symbols added (OMPI_DECLSPEC) for windows
4. some functions are unimplemented on the windows side. this is mostly
because there might not be need to implement it in windows land. eg., forking
a daemon off
5. Introduced locking mechanisms for windows
This commit was SVN r3286.
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.
Major change to the name server system to introduce the OOB interface. Changed the ompi_process_name_t to no longer be an OBJ, but instead just a regular C structure. Include the packing-based oob interface.
This commit was SVN r2114.
code base.
- many (most) mca type names have "component" or "module" in them,
as relevant, just to further distinguish the difference between
component data/actions and module data/actions. All developers
are encouraged to perpetuate this convention when you create
types that are specific to a framework, component, or module
- did very little to entire framework (just the basics to make it
compile) because it's just about to be almost entirely replaced
- ditto for io / romio
- did not work on elan or ib components; have to commit and then
convert those on a different machine with the right libraries and
headers
- renamed a bunch of *_module.c files to *_component.c and *module*c
to *component*c (a few still remain, e.g., ptl/ib, ptl/elan, etc.)
- modified autogen/configure/build process to match new filenames
(e.g., output static-components.h instead of static-modules.h)
- removed DOS-style cr/lf stuff in ns/ns.h
- added newline to end of file src/util/numtostr.h
- removed some redundant error checking in the top-level topo
functions
- added a few {} here and there where people "forgot" to put them in
for 1 line blocks ;-)
- removed a bunch of MPI_* types from mca header files (replaced with
corresponding ompi_* types)
- all the ptl components had version numbers in their structs; removed
- converted a few more elements in the MCA base to use the OBJ
interface -- removed some old manual reference counting kruft
This commit was SVN r1830.
- added in selection logic for ns
- made all types consistent in ns
- made replica component match types and base selection logic; it only
allows itself to be selected in the seed
- copied replica component to "proxy" and altered the selection logic;
it only allows itself to be selected when *not* in the seed. All
of the body functions in proxy need to be implemented; this is only
a skeleton for now so that MPI programs have a ns component to
select (because they're not the seed) and can therefore run
properly.
- added mca_ns_base_open/close to ompi_rte_init/finalize
This commit was SVN r1621.
Put a permanent fix into the include files to avoid the circular reference. You only need to include the "base.h" file now and it will pickup the ns.h file for you. Anyone working on components for the name server, however, should be warned that including the ns.h directly by itself (instead of going through base.h) will yield several unresolved errors.
Ignore the replica component - it is bogus at this time.
This commit was SVN r1537.