(mostly UB/LB related and doing questionable things). Otherwise a lot of changes:
- cleaner code + more comments
- stronger bound checker (DDT error messages if we exceed the buffer capacity)
- differentiate the 3 internal types: loop, basic element and end_loop (using union)
- more MACROS to solve the repetitive problems
- more output in debug mode (and if requested by the user).
- correct some mismaching between usage of true_extent and extent
- improve the special cases (contiguous data, contiguous with gaps, no conversion ...)
- in order to allow gdb to break in the pack/unpack function they became real function (defined
in dt_pack.c and dt_unpack.c) if OMPI_ENABLE_DEBUG is defined. Otherwise they are just macros.
- a new approach for the computation of the lower bound and upper bound. In same time the true_lb and
true_ub has been modified to match the new algorithm.
- handle specific cases in the datatype optimization. In some cases the datatype definition increase,
but the complexity decrease.
This commit was SVN r5729.
is int (mostly 4 bytes) and strdup normally return a char* (usually 8 bytes). The result: stack corrupted
and other weird things ...
This commit was SVN r5725.
Need to do some refining of the component, but it meets basic requirements right now. Nobody else should notice any change - system basically ignores it unless you tell it to do something.
This commit was SVN r5723.
Added a special case under the win_makefile for the gpr/replica directory
since it contains multiple dependant layers of directories.
Added a couple of OMPI_DECLSPECs. Change a conflicting variable name in
gpr_replica_dict_tl.c from 'new' to 'new_dict'.
This commit was SVN r5712.
Fixes for orterun in handling different MCA params for different
processes (reviewed by Brian):
- By design, if you run the following:
mpirun --mca foo aaa --mca foo bbb a.out
a.out will get a single MCA param for foo with value "aaa,bbb".
- However, if you specify multiple apps with different values for the
same MCA param, you should expect to get the different values for
each app. For example:
mpirun --mca foo aaa a.out : --mca foo bbb b.out
Should yield a.out with a "foo" param with value "aaa" and b.out
with a "foo" param with a value "bbb".
- This did not work -- both a.out and b.out would get a "foo" with
"aaa,bbb".
- This commit fixes this behavior -- now a.out will get aaa and b.out
will get bbb.
- Additionally, if you mix --mca and and app file, you can have
"global" params and per-line-in-the-appfile params. For example:
mpirun --mca foo zzzz --app appfile
where "appfile" contains:
-np 1 --mca bar aaa a.out
-np 1 --mca bar bbb b.out
In this case, a.out will get foo=zzzz and bar=aaa, and b.out will
get foo=zzzz and bar=bbb.
Spiffy.
Ok, fortran build is done... back to Fortran... sigh...
This commit was SVN r5710.
* start refactoring duplicate code into inline functions (probably will
have to become macros, but not until debugging is done)
* general code cleanup
This commit was SVN r5706.
1. Added a new function to launch head node processes on remote nodes.
2. Added new tool "orteprobe" that checks to see if a daemon is running on a node. If so, it reports the contact info back to the requestor. If not, it will (eventually - but not now) fork/exec a daemon on the node, report the contact info back to requestor, and then die.
3. Modified orted to handle universe name parameters, and added separate command line flags for debugging the daemon and saving daemon debugging output in a file. The "debug" flag now turns on the runtime debug info instead of the daemon debug - thus, you can now just get daemon debug info if you like.
4. Fix the dps to handle zero length strings correctly.
5. Modify the fork and rsh launchers to pass required environmental variables to the daemons and processes
6. Pulled the redirection of stdin/stdout/stderr for the daemon out of orted and put it into the daemon_init function to simplify orted logic.
7. Modified sys_info to correctly deal with passed mca param
8. Modified univ_info to parse incoming universe location information.
This commit was SVN r5705.
* make buffers really big so that we pass allocmem until we figure out
why we're not flow controlling as I expected
* set event queue to invalid intially and use that as the enabled test
rather than a seperate bool - shrinks the module a bit
* add dropped count checks, with a panic if one occurs. Still need to
implement some type of retransmit logic.
This commit was SVN r5704.
- don't free the send buffer unless the converter tells us we need to
- properly do the math to determine when the receive buffer has been
fully used and unlinked itself
This commit was SVN r5703.
* Minor formatting fixes in XGrid RAS component
* Code cleanup in XGrid PLS component:
- If we can't get daemon contact information, kill the job at the XGrid
level
- Add MCA parameter pls_xgrid_delete_job that will delete the job from
XGrid when complete (this seems like standard behavior, so it's the
default)
- Remove compiler warning about getting the name of a XGGrid object
- Properly populate the daemon information for the killing code
This commit was SVN r5697.
more than we have asked for (on my G5). Anyway now I hope I have enought memory to printout
the full description of the datatype.
This commit was SVN r5690.
Many changes to headers for OMPI_DECLSPEC, and
proper placement of c_plusplus defines in those files.
mca/gpr/replica and tools are the two sets of directories
that still need work for the Windows build for this pass.
This commit was SVN r5688.