1
1
Граф коммитов

1538 Коммитов

Автор SHA1 Сообщение Дата
Jeff Squyres
510ec093b6 Remove some dead code
This commit was SVN r21275.
2009-05-26 21:17:00 +00:00
Iain Bason
e7ff2368d6 This fixes trac:1930.
Emit a more informative error message when the file descriptor limit is
reached during an accept() call.  Also, abort when the accept fails to
avoid an infinite loop.

Emit a more informative error message when the help file can't be opened.

This commit was SVN r21271.

The following Trac tickets were found above:
  Ticket 1930 --> https://svn.open-mpi.org/trac/ompi/ticket/1930
2009-05-26 20:03:21 +00:00
Rainer Keller
36ee105d6a - Fix Coverity CID #1207:
set the tmp_str to NULL, so we don't have any double-free...
   Additionally, we should check for malloc returning NULL...

This commit was SVN r21228.
2009-05-14 00:21:15 +00:00
Rainer Keller
3f7f2b6f0f - Multiple functions, that allocate and return new
strings, aka should have __opal_attribute_malloc__
   update comment of opal_path_access -- new string returned.

This commit was SVN r21227.
2009-05-14 00:20:07 +00:00
Rainer Keller
73fd329cbd - Add the proper __opal_attribute_format__(__printf__...) to
declarations.

This commit was SVN r21226.
2009-05-14 00:10:59 +00:00
Shiqing Fan
3137001772 Read from the correct registry entry on Windows Vista and Server 2008.
This commit was SVN r21224.
2009-05-13 15:56:37 +00:00
Ralph Castain
aa25a51c92 Do not mark the mpi_paffinity_alone param as deprecated so we don't scare Jeff...er...users.
This commit was SVN r21218.
2009-05-12 15:41:11 +00:00
Josh Hursey
ec6c5bf5e9 Make sure that when we destruct the pointer array that we set the address to NULL and size to 0. This will help to flag accidental usage of a destructed pointer array object.
This commit was SVN r21216.
2009-05-12 14:13:07 +00:00
Jeff Squyres
05d87ee7b4 Because this error comes up over and over and over and over and ...
Libltdl erroneously returns an error string of "file not found" for
lots of reasons, even if the file really *is* there, but just failed
to dlopen() for some reason.  So if lt_dlerror() returns "file not
found", do some simple hueristics and if we *do* find a file, print a
slightly better error message.

This commit was SVN r21214.
2009-05-12 12:41:42 +00:00
Ralph Castain
d396f0a6fc Per the discussion on the devel list, move the binding of processes to processors from MPI_Init to process start. This involves:
1. replacing mpi_paffinity_alone with opal_paffinity_alone - for back-compatibility, I have aliased mpi_paffinity_alone to the new param name. This caus
es a mild abstraction break in the opal/mca/paffinity framework - per the devel discussion...live with it. :-) I also moved the ompi_xxx global variable
 that tracked maffinity setup so it could be properly closed in MPI_Finalize to the opal/mca/maffinity framework to avoid an abstraction break.

2. Added code to the odls/default module to perform paffinity binding and maffinity init between process fork and exec. This has been tested on IU's odi
n cluster and works for both MPI and non-MPI apps.

3. Revise MPI_Init to detect if affinity has already been set, and to attempt to set it if not already done. I have *not* tested this as I haven't yet f
igured out a way to do so - I couldn't get slurm to perform cpu bindings, even though it supposedly does do so.

This has only been lightly tested and would definitely benefit from a wider range of evaluation...

This commit was SVN r21209.
2009-05-12 02:18:35 +00:00
Josh Hursey
d920a302f3 Some more C/R related commits that have been sitting off-trunk for a while.
* Pass the sequence number of the checkpoint along with reference from the global to the local coordinator.
 * 'orte-restart --apponly' now just generates the app context file, and does not run with it. This provides the user the ability to edit the file before launching. 
 * Add a OPAL_CRS_NONE state
 * Split the INC into three distinct parts.
 * Implement a restart mechanism for the 'none' component. If given a context it simply execvp()'s it.

This commit was SVN r21195.
2009-05-08 20:51:13 +00:00
Josh Hursey
5d0607395d A couple of C/R related commits that have been sitting off-trunk for a while.
* Add 'orte-checkpoint -l' option that lists all checkpoints currently available on the system.
 * Add 'orte-restart -i' which prints information regarding the checkpoint targeted for restart.
 * Add ability to extract the timing metadata.
 * Fix show_help() in the orte-checkpoint and orte-restart tools. They should be using the opal versions instead of the orte versions (otherwise nothing is printed).

This commit was SVN r21194.
2009-05-08 19:41:11 +00:00
Shiqing Fan
537b8cd8b1 Get rid of improper use of SET_SOURCE_FILES_PROPERTIES. When using the latest CMake (2.6 patch 4), we get many errors, which didn't show in previous version.
This commit was SVN r21188.
2009-05-07 17:41:05 +00:00
Rainer Keller
b0754071b7 - For compilation with BLCR and --with-ft=cr, #include <string.h>
This commit was SVN r21185.
2009-05-07 16:14:59 +00:00
Greg Koenig
60485ff95f This is a very large change to rename several #define values from
OMPI_* to OPAL_*.  This allows opal layer to be used more independent
from the whole of ompi.

NOTE: 9 "svn mv" operations immediately follow this commit.

This commit was SVN r21180.
2009-05-06 20:11:28 +00:00
Rainer Keller
b8bb7865bc - Fix Coverity CID 9
Check for error in fcntl, as we depend on close-on-exec,
   F_SETFD will result in -1 in case of error (stored in errno).
   To not have a follow-up warning about not freeing filename, move up.

This commit was SVN r21171.
2009-05-05 19:04:58 +00:00
Shiqing Fan
cd565923d3 Completely remove ltdl support for Windows build.
This commit was SVN r21170.
2009-05-05 18:59:13 +00:00
Josh Hursey
8b8bee04d6 It seems that some of the patches were missed in r21131. :(
This patch contains the following items:
 * Fix the flag passed to open() for the read side of the named pipe between the local and app coordinator. There is a race condition when using O_RDWR on a named pipe (not sure how that bug got in there in the first place).
 * Adjust control in the C/R thread timing
 * Clarify return code in BLCR component
 * Allow the user to adjust the max wait time for the named pipes in the FileM local coordinator by using the MCA parameter "snapc_full_max_wait_time" (Default: 20 seconds)
 * If the application terminates while there are active FileM operations, force mpirun to wait on these operations to complete.
 * Allow the user to set the local copy command (Default: cp) via MCA parameter "filem_rsh_cp"
 * Implement the ability to throttle the number of outgoing connections in FileM. At larger scales this type of explicit throttling helps prevent overwhelming the HNP machine. Default: 10, set via MCA parameter: {{{filem_rsh_max_outgoing}}}

This commit was SVN r21167.

The following SVN revision numbers were found above:
  r21131 --> open-mpi/ompi@0deb009225
2009-05-05 16:45:49 +00:00
Shiqing Fan
c3380e9df2 put all generated files in the binary directory.
This commit was SVN r21160.
2009-05-05 13:50:48 +00:00
Shiqing Fan
8db5c3c002 Add missing quotation marks to the variables, in order to keep the semicolons in the output c file.
This commit was SVN r21151.
2009-05-05 08:29:19 +00:00
Ralph Castain
468800996b Make it possible to no-build the carto framework
Could swear we had done this before...but I guess not!

This commit was SVN r21150.
2009-05-05 03:54:58 +00:00
Josh Hursey
1327c57e9d add back a missing header
This commit was SVN r21148.
2009-05-04 21:30:11 +00:00
Shiqing Fan
5856cedc2b Remove libltdl related files and folders.
Add a find module for libltdl, so that user can still enable dlopen support (default off), and use natively installed libtool.

This commit was SVN r21146.
2009-05-04 17:35:48 +00:00
Ralph Castain
e1673778be Replace missing headers
This commit was SVN r21136.
2009-05-01 15:09:10 +00:00
Josh Hursey
38aca518bd Properly initialize this variable
This commit was SVN r21130.
2009-04-30 16:43:05 +00:00
Josh Hursey
ab63ab6568 forgot to update the copyright
This commit was SVN r21128.
2009-04-30 16:39:54 +00:00
Josh Hursey
76812318bb Fix a potential NULL reference
This commit was SVN r21127.
2009-04-30 16:38:43 +00:00
Josh Hursey
759c2b5596 Add a 'crs_blcr_dev_null' MCA parameter. This causes BLCR to checkpoint directly to /dev/null instead of to a file.
Though this is not useful in checkpointing an application, it can be a useful diagnostic.

This commit was SVN r21125.
2009-04-30 16:32:55 +00:00
Shiqing Fan
ff0e51f686 Include a missing header.
This commit was SVN r21121.
2009-04-30 09:03:21 +00:00
Shiqing Fan
fbaa30bf61 Add a few log file definitions for Windows.
This commit was SVN r21119.
2009-04-30 08:59:46 +00:00
Shiqing Fan
e7b6445b32 Add a missed .windows file into the tarball.
This commit was SVN r21105.
2009-04-29 10:31:10 +00:00
Rainer Keller
221fb9dbca ... Delayed due to notifier commits earlier this day ...
- Delete unnecessary header files using
   contrib/check_unnecessary_headers.sh after applying
   patches, that include headers, being "lost" due to
   inclusion in one of the now deleted headers...

   In total 817 files are touched.
   In ompi/mpi/c/ header files are moved up into the actual c-file,
   where necessary (these are the only additional #include),
   otherwise it is only deletions of #include (apart from the above
   additions required due to notifier...)

 - To get different MCAs (OpenIB, TM, ALPS), an earlier version was
   successfully compiled (yesterday) on:
   Linux locally using intel-11, gcc-4.3.2 and gcc-SVN + warnings enabled
   Smoky cluster (x86-64 running Linux) using PGI-8.0.2 + warnings enabled
   Lens cluster (x86-64 running Linux) using Pathscale-3.2 + warnings enabled

This commit was SVN r21096.
2009-04-29 01:32:14 +00:00
Rainer Keller
6c1cce8761 - For the upcoming header cleanup commit,
several header files (previously included by header-files)
   now have to be moved "upward".
   This is mainly system headers such as string.h, stdio.h and for
   networking, but also some orte headers.

This commit was SVN r21095.
2009-04-29 00:49:23 +00:00
Josh Hursey
84471e4bd4 Protect the free of base->sig.sh_old . This was raising a warning under some finalization circumstances.
This should be moved to v1.3

Thanks to Yaakoub El Khamra for the patch. 

This commit was SVN r21079.
2009-04-27 17:05:10 +00:00
Shiqing Fan
3d4e0472d6 Add windows support files into the tarball, including .windows, CMakeLists.txt files, and CMake modules. Thanks to Jeff for testing it on Linux.
This commit was SVN r21069.
2009-04-24 16:39:33 +00:00
Jeff Squyres
0bd9ef0bb9 Some valgrind-clean fixes. Thanks to "Number Cruncher" on the devel
list for pointing these out.

This commit was SVN r21060.
2009-04-23 18:50:46 +00:00
Jeff Squyres
9b5e194d9b Fix opal_basename. Wow; how long has that been broken?
This commit was SVN r21057.
2009-04-22 20:48:24 +00:00
Brian Barrett
2ca0b7fe44 remove some checks which are not needed after the recent ptmalloc2 changes
This commit was SVN r21042.
2009-04-19 18:17:05 +00:00
Jeff Squyres
e90ecb6020 Fix a compiler warning. Put in a good comment explaining why it is
declared the way it is.  Sigh.

This commit was SVN r21040.
2009-04-17 21:59:31 +00:00
Ralph Castain
afe1950da5 Make the error message clearer - this error only is used when two buffer types don't match, thus preventing an operation from being executed
This commit was SVN r21033.
2009-04-16 16:23:28 +00:00
Jeff Squyres
35fc9fedd2 MTT is your friend: Cisco tests --enable-static --disable-shared, but
we had already tested this scenario manually to know that it seemed to
be working.  What we ''didn't'' test was --enable-static
--disable-shared --disable-dlopen -- but my MTT '''did.'''  Yay!

This commit fixes that scenario.  Essentially we need to call a dummy
function in hooks.c to ensure that the linker pulls in all those
symbols into the final executable (and therefore pulls in the
malloc_initialize_hook, etc.).  Thanks for the heads-up from Brian in
fixing this one!

This commit was SVN r21022.
2009-04-15 19:09:10 +00:00
Ralph Castain
9c39a3edd7 Enable the passing of MCA params to dynamically spawned jobs. This creates a new info_key "ompi_param" that allows a user to specify MCA params for a dynamically spawned job.
We currently apply all of the MCA params in the parent job to the child. This commit allows a user to specify additional params for the child job, and to override any pre-existing params with the new value so they can better control behavior of the child job.

This commit was SVN r20989.
2009-04-14 14:15:49 +00:00
Shiqing Fan
0ea6d48320 Add a missed .windows file for timer component, which should be built always statically.
This commit was SVN r20987.
2009-04-14 12:19:21 +00:00
Jeff Squyres
3cfa8f55c4 Gaah; I meant to include a better comment in the last commit but had
forgotten to save before the commit was sent.

This comment explains why we're doing a cache check here rather than a
real check.

This commit was SVN r20975.
2009-04-10 21:16:23 +00:00
Jeff Squyres
9fcd01035d Fix a problem reported by Steve Kagl on the user's list; the posix
component (which we probably don't test regularly because we probably
only test environments where the other paffinity components are used)
was not getting built because it had a bad configure test.

This commit was SVN r20974.
2009-04-10 21:15:20 +00:00
Jeff Squyres
8fac195a3a Fixes trac:1871. Take a slightly different approach than before:
1. Probe the signal number that we want
 1. If a handler is already installed there:
    1. if the opal_signal MCA param entry for this signal is suffixed
       with ":complain", then output a show_help message
    1. do not install our signal handler
 1. otherwise, install our signal handler

Hence, we've shifted to a policy of only complaining if the user asks
us to complain.

This commit was SVN r20969.

The following Trac tickets were found above:
  Ticket 1871 --> https://svn.open-mpi.org/trac/ompi/ticket/1871
2009-04-10 15:32:33 +00:00
Jeff Squyres
500750b542 Oops; the MCA param name is "opal_signal", not "opal_signals". Thanks
for noticing, Ralph!

This commit was SVN r20968.
2009-04-09 16:13:07 +00:00
Nysal Jan
2500d88380 Optimize the computation of 16-bit checksum
This commit was SVN r20965.
2009-04-09 11:04:38 +00:00
Shiqing Fan
6e04a4de08 On Windows, define a equivalent type for in_addr_t, and correctly include unistd.h.
This commit was SVN r20951.
2009-04-07 16:07:05 +00:00
Jeff Squyres
a13dfb2140 Add in a proper test for munmap.
This commit was SVN r20936.
2009-04-04 00:43:17 +00:00
Jeff Squyres
52a0e5fe69 Add some checks for more network driver types.
This commit was SVN r20934.
2009-04-02 19:17:21 +00:00
Nysal Jan
ab18a3629f Change the return type to handle the case where an invalid interface name is passed to this function.
This commit was SVN r20933.
2009-04-02 18:35:09 +00:00
Jeff Squyres
3bf8c7025a Remove compiler warning about function not being prototyped.
This commit was SVN r20929.
2009-04-02 13:06:47 +00:00
Jeff Squyres
0f517c3d3f Gah; some non-final code got merged in by accident. Remove debugging
printf and put in the final test code for malloc.

This commit was SVN r20924.
2009-04-01 18:20:23 +00:00
Jeff Squyres
bf17ce1d3f Doh; forgot to add the OPAL_DECLSPEC to munmap().
This commit was SVN r20923.
2009-04-01 18:09:25 +00:00
Jeff Squyres
7aa431882c Remove the mallopt component (accidentally missed in r20921); refs
#1853.

This commit was SVN r20922.

The following SVN revision numbers were found above:
  r20921 --> open-mpi/ompi@0d52271cd6
2009-04-01 18:02:08 +00:00
Jeff Squyres
0d52271cd6 Per http://www.open-mpi.org/community/lists/announce/2009/03/0029.php
and https://svn.open-mpi.org/trac/ompi/ticket/1853, mallopt() hints do
not always work -- it is possible for memory to be returned to the OS
and therefore OMPI's registration cache becomes invalid.

This commit removes all use of mallopt() and uses a different way to
integrate ptmalloc2 than we have done in the past.  In particular, we
use almost exactly the same technique as MX:

 * Remove all uses of mallopt, to include the opal/memory mallopt
   component.
 * Name-shift all of OMPI's internal ptmalloc2 public symbols (e.g.,
   malloc -> opal_memory_ptmalloc2_malloc).
 * At run-time, use the existing glibc allocator malloc hook function
   pointers to fully hijack the glibc allocator with our own
   name-shifted ptmalloc2.
 * Make the decision whether to hijack the glibc allocator ''at run
   time'' (vs. at link time, as previous ptmalloc2 integration
   attempts have done).  Look at the OMPI_MCA_mpi_leave_pinned
   and OMPI_MCA_mpi_leave_pinned_pipeline environment variables and
   the existence of /sys/class/infiniband to determine if we should
   install the hooks or not.
 * As an added bonus, we can now tell if libopen-pal is linked
   statically or dynamically, and if we're linked statically, we
   assume that munmap intercept support doesn't work.

See the opal/mca/memory/ptmalloc2/README-open-mpi.txt file for all the
gory details about the implementation.

Fixes trac:1853.

This commit was SVN r20921.

The following Trac tickets were found above:
  Ticket 1853 --> https://svn.open-mpi.org/trac/ompi/ticket/1853
2009-04-01 17:52:16 +00:00
Jeff Squyres
b7a052a81d Fix r20917 -- some systems require <unistd.h> for !_SC_PAGESIZE.
This commit was SVN r20920.

The following SVN revision numbers were found above:
  r20917 --> open-mpi/ompi@d10393a925
2009-04-01 16:41:12 +00:00
George Bosilca
b7c1ae4f76 Nothing important, just an identation.
This commit was SVN r20919.
2009-04-01 15:27:16 +00:00
George Bosilca
d10393a925 A more optimized version of the set function. It only touch the first byte on
each page. Anyway, this function is _NEVER_ called as we use bind instead of set.
So please don't rely on the first touch memory affinity to do the right thing.

This commit was SVN r20917.
2009-04-01 15:24:03 +00:00
George Bosilca
6ca6cfaafc Mark the address with the correct type.
This commit was SVN r20916.
2009-04-01 15:18:08 +00:00
Terry Dontje
4b43911c6a Remove superfluous spaces in manpages that were causing catman to
generate mangled windex files.  Made ompi-top.1 and ompi-iof.1 build
by default.  Also, added the orte-top synonym to the ompi-top manpage.

This commit was SVN r20915.
2009-04-01 14:40:27 +00:00
Shiqing Fan
36a813415d When build from a tarball, there will be Linux-generated files that could not be used on Windows, so exclude them, and use the ones generated by CMake.
This commit was SVN r20858.
2009-03-24 18:10:57 +00:00
Ralph Castain
17f51a0389 Add a new PML module that acts as a "mini-dr" - when requested, it performs a dr-like checksum on messages for BTL's that require it, as specified by MCA params.
Add two new configure options that specify:

1. when to add padding to the openib control header - this *only* happens when the configure option is specified

2. when to use the dr-like checksum as opposed to the memcpy checksum. Not selectable at runtime - to eliminate performance impacts, this is a configure-only option

Also removed an unused checksum version from opal/util/crc.h.

The new component still needs a little cleanup and some sync with recent ob1 bug fixes. It was created as a separate module to avoid performance hits in ob1 itself, though most of the code is duplicative. The component is only selectable by either specifying it directly, or configuring with the dr-like checksum -and- setting -mca pml_csum_enable_checksum 1.

Modify the LANL platform files to take advantage of the new module.

This commit was SVN r20846.
2009-03-23 23:52:05 +00:00
Ralph Castain
8d313b55ef Correct a couple of minor typos
This commit was SVN r20843.
2009-03-23 18:05:34 +00:00
Rainer Keller
a3c3babe01 - Ewww, r20817 messed up PGI on Jaguar big time!
Now, while #include "ompi_config.h" is good and fine in order
   to have OMPI_DECLSPEC,
   here it led to stdint.h (with the uint8_t) being included early
   but INSIDE a namespace "MPI" {}.
   Of course it was included anymore (thinkg #define _STDINT_H), when
   it was required in opal/class/opal_hash_list.h
   NOT good.

 - opal/class/opal_object.h: Yeah, one can have nested extern "C" {}
   but it's not necessary. Instead just have the outer *_C_DECLS.

This commit was SVN r20837.

The following SVN revision numbers were found above:
  r20817 --> open-mpi/ompi@6f808d9b05
2009-03-21 01:37:38 +00:00
Rainer Keller
be66cc2279 - We're using uint16_t, uint32_t, and friends,
so #include <stdint.h> if we have it...

This commit was SVN r20835.
2009-03-21 01:26:27 +00:00
Terry Dontje
d521a7bb71 Add visibility feature for Sun Studio compilers.
This commit was SVN r20833.
2009-03-20 10:13:01 +00:00
No Author
4711d6111f Per a comment on the users list, don't try to install our own signal
handlers if there are already non-default handlers installed.  Print a
warning if that situation arises.

'''NOTE:''' This is a definite target for OPAL_SOS conversion -- as it
is right now, this message will be displayed for ''every'' MPI
process.  We want this to be OPAL_SOS'ed when that becomes available
so that the error message can be aggregated nicely.

This commit was SVN r20831.
2009-03-20 01:05:30 +00:00
Shiqing Fan
696416057d Put the debug libraries under 'debug' sub-directory, and set the correct path to find them.
This commit was SVN r20830.
2009-03-19 17:11:47 +00:00
Shiqing Fan
0065d7f0c9 Enable two variables for CPack, for packaging binary tarball and adding a page in the installer.
Enable the debug library suffix, which is extremely necessary on Windows. If users want to debug their own programs in Visual Studio, but linking the programs to the release version libraries of Open MPI, i.e. mixing debug and release version DLLs, that will definitely cause some errors. What we have to do is providing both debug and release versions libraries, distinguished with suffix 'd', e.g. libmpid.dll for debug version.

This commit was SVN r20828.
2009-03-18 17:46:24 +00:00
Jeff Squyres
2815cb88b4 Fixes trac:1836: no reason to constrain the latter numbers to 2 hex
digits.  They likely shouldn't be more than 2 digits anyway, but let's
be social just in case they are (e.g.,
https://bugs.openfabrics.org/show_bug.cgi?id=1544).

This commit was SVN r20824.

The following Trac tickets were found above:
  Ticket 1836 --> https://svn.open-mpi.org/trac/ompi/ticket/1836
2009-03-18 14:43:00 +00:00
Jeff Squyres
730a1b80b2 Roll in 1.3rc4, which includes a fix for a problem discovered by LANL that the test for Valgrind's macro was not strong enough and may therefore try to compile in valgrind support into PLPA even if your version of Valgrind was too old.
This commit was SVN r20819.
2009-03-17 22:18:26 +00:00
Rainer Keller
6f808d9b05 Preparation work for another commit (after RFC):
- This patch solely _adds_ required headers and is rather localized
   The next patch (after RFC) heavily removes headers (based on script)
 - ompi/communicator/communicator.h: For sources that use
   ompi_mpi_comm_world, don't require them to include "mpi.h"
 - ompi/debuggers/ompi_common_dll.c: mca_topo_base_comm_1_0_0_t needs
   #include "ompi/mca/topo/topo.h"
 - ompi/errhandler/errhandler_predefined.h:
   ompi/communicator/communicator.h depends on this header file!
   To prevent recursion just have fwd declarations.
   #include "ompi/types.h" for fwd declarations of the main structs.
 - ompi/mca/btl/btl.h: #include "opal/types.h" for ompi_ptr_t 
 - ompi/mca/mpool/base/mpool_base_tree.c: We use ompi_free_list_t and
   ompi_rb_tree_t, so have the proper classes
 - ompi/mca/op/op.h:
   Op is pretty self-contained: Nobody up to now has done
   #include "opal/class/opal_object.h"
 - ompi/mca/osc/pt2pt/osc_pt2pt_replyreq.h:
   #include "opal/types.h" for ompi_ptr_t 
 - ompi/mca/pml/base/base.h:
   We use opal_lists  
 - ompi/mca/pml/dr/pml_dr_vfrag.h:
   #include "opal/types.h" for ompi_ptr_t
 - ompi/mca/pml/ob1/pml_ob1_hdr.h:
   #include "ompi/mca/btl/btl.h" for mca_btl_base_segment_t
 - opal/dss/dss_unpack.c:
   #include "opal/types.h"
 - opal/mca/base/base.h:
   #include "opal/util/cmd_line.h" for opal_cmd_line_t
 - orte/mca/oob/tcp/oob_tcp.c:
   #include "opal/types.h" for opal_socklen_t
 - orte/mca/oob/tcp/oob_tcp.h:
   #include "opal/threads/threads.h" for opal_thread_t
 - orte/mca/oob/tcp/oob_tcp_msg.c:
   #include "opal/types.h" 
 - orte/mca/oob/tcp/oob_tcp_peer.c:
   #include "opal/types.h"  for opal_socklen_t
 - orte/mca/oob/tcp/oob_tcp_send.c:
   #include "opal/types.h" 
 - orte/mca/plm/base/plm_base_proxy.c:
   #include "orte/util/name_fns.h" for ORTE_NAME_PRINT
 - orte/mca/rml/base/rml_base_receive.c:
   #include "opal/util/output.h" for OPAL_OUTPUT_VERBOSE
 - orte/mca/rml/oob/rml_oob_recv.c:
   #include "opal/types.h" for ompi_iov_base_ptr_t
 - orte/mca/rml/oob/rml_oob_send.c:
   #include "opal/types.h" for ompi_iov_base_ptr_t
 - orte/runtime/orte_data_server.c
   #include "opal/util/output.h" for OPAL_OUTPUT_VERBOSE
 - orte/runtime/orte_globals.h:
   #include "orte/util/name_fns.h" for ORTE_NAME_PRINT

 Tested on Linux/x86-64

This commit was SVN r20817.
2009-03-17 21:34:30 +00:00
Rainer Keller
481b801720 - In opal/class/opal_object.h we don't have the extern "C" {
Use BEGIN_C_DECLS/END_C_DECLS
 - Adapt the other headers as well

This commit was SVN r20802.
2009-03-17 15:11:48 +00:00
Rainer Keller
6a72c0f4d1 - As long as a header declares _DECLSPEC functionality
it should include the corresponding _config.h header file.

   Tested on Linux/x86-64

This commit was SVN r20795.
2009-03-17 01:45:19 +00:00
Jeff Squyres
7ec52bc5a4 Per the lengthy discussion on this thread:
http://www.open-mpi.org/community/lists/users/2009/03/8402.php

Just #define away restrict in C++ because we don't have an
AC_CXX_RESTRICT test to see what the C++ compilers needs to support
"restrict".

This commit was SVN r20792.
2009-03-16 21:09:54 +00:00
Rainer Keller
d8cf4c0fec - Get pgcc on XT to complain less:
In case we use memcmp, strlen, strup and friends include <string.h>
   Also several constants.h are not included directly
 - Let's have mca_topo_base_cart_create  return ompi-errors in
   ompi/mca/topo/base/topo_base_cart_create.c

This commit was SVN r20773.
2009-03-13 02:10:32 +00:00
Rainer Keller
296a6fb275 - So much fun along the way:
we normally don't do opal/include/opal/...
   Just use the std. opal/...

This commit was SVN r20766.
2009-03-12 19:21:11 +00:00
Jeff Squyres
02c4f384b8 Convert libnuma to use the new OMPI_SETUP_COMPONENT_PACKAGE macro
This commit was SVN r20747.
2009-03-06 21:49:00 +00:00
George Bosilca
f3cd687c44 We want to allow users to call opal_thread_join(**, NULL) so what we really have
to test against NULL is the void** pointer. This make this function behave 
like the pthread_join.

This commit was SVN r20724.
2009-03-04 17:02:17 +00:00
Shiqing Fan
05d9f0b933 Fix the error C2100 on Windows, i.e. an illegal indirection.
This commit was SVN r20723.
2009-03-04 16:43:51 +00:00
Rainer Keller
fd28b392bf - An intrusive commit yet again (sorry): with the separation we
get bitten by header depending on having already included
   the corresponding [opal|orte|ompi]_config.h header.
   When separating, things like [OPAL|ORTE|OMPI]_DECLSPEC
   are missed.

   Script to add the corresponding header in front of all following
   (taking care of possible #ifdef HAVE_...)

 - Including some minor cleanups to
   - ompi/group/group.h -- include _after_ #ifndef OMPI_GROUP_H
   - ompi/mca/btl/btl.h -- nclude _after_ #ifndef MCA_BTL_H
   - ompi/mca/crcp/bkmrk/crcp_bkmrk_btl.c -- still no need for
     orte/util/output.h
   - ompi/mca/pml/dr/pml_dr_recvreq.c -- no need for mpool.h
   - ompi/mca/btl/btl.h -- reorder to fit
   - ompi/mca/bml/bml.h -- reorder to fit
   - ompi/runtime/ompi_mpi_finalize.c -- reorder to fit
   - ompi/request/request.h -- additionally need ompi/constants.h

 - Tested on linux/x86-64

This commit was SVN r20720.
2009-03-04 15:35:54 +00:00
Rainer Keller
d68a8a1904 - Now that we don't need it anymore, blast away
ompi/class/ompi_bitmap.[ch] -- may always be restored from svn
   again...

This commit was SVN r20710.
2009-03-04 00:28:58 +00:00
Rainer Keller
811f2bd9b4 - As discussed on RFC, move the ompi_bitmap to the
opal layer.
   Add a check against a maximum (actually get rid of ifs internally to
   opal_bitmap.c) -- the functionality to set the current maximum size
   opal_bitmap_set_max_size() is currently only used in attribute.c
   to set the maximum OMPI_FORTRAN_HANDLE_MAX...

   Tested on linux/x86-64 with intel-tests with all_tests_no_perf_f
   run with 6 procs.
   Let's look into MTT as well...

This commit was SVN r20708.
2009-03-03 22:25:13 +00:00
George Bosilca
5f6896ce5b No memory leaks (this is an improvement for r20706).
This commit was SVN r20707.

The following SVN revision numbers were found above:
  r20706 --> open-mpi/ompi@248bbb8a2f
2009-03-03 22:14:05 +00:00
George Bosilca
248bbb8a2f Give a small chance to those with an "IP guru" admin-sys to define what exactly is
a private IPv4 address. By deafult we obide to the RFC1918 and RFC3330, but we have
the opportunity to change them.

Based on a patch from Camille Coti.

This commit was SVN r20706.
2009-03-03 22:06:09 +00:00
Jeff Squyres
cfcca7d80e Fix some typos in comments submitted by Bert Wesarg.
This commit was SVN r20695.
2009-03-03 12:50:46 +00:00
George Bosilca
826f3319b4 Don't segfault on Windows because of a NULL value.
This commit was SVN r20682.
2009-03-02 21:57:16 +00:00
Shiqing Fan
4d3f801dbd Try to find the installed flex on current windows system first, if it's not there, just use the one comes along with the source.
This commit was SVN r20642.
2009-02-26 13:03:53 +00:00
Shiqing Fan
2326f14be5 Remove the unnecessary PROJECT command, I somehow misunderstood how it should be used on Windows....
This commit was SVN r20634.
2009-02-25 16:07:43 +00:00
Eugene Loh
463f11f993 Improve shared-memory allocation:
* compute mmap-file size more wisely and pass requested size to allocator
* change MCA parameters:
  - get rid of mpool_sm_per_peer_size
  - get rid of mpool_sm_max_size
  - set default mpool_sm_min_size to 0
* no longer pad sm allocations to page boundaries
* have sm_btl_first_time_init check return codes on free-list creations

Have mca_btl_sm_prepare_src() check to see if it can allocate an EAGER fragment
rather than a MAX fragment if the smaller size works.

Remove ompi/class/ompi_[circular_buffer_]fifo.h and references thereto.

Remove opal/util/pow2.[c|h] and references thereto.

This commit was SVN r20614.
2009-02-20 19:51:57 +00:00
Jeff Squyres
1a7556d2c9 Refs trac:1805: temporarily disable some assert()s in event_base_free().
This commit was SVN r20609.

The following Trac tickets were found above:
  Ticket 1805 --> https://svn.open-mpi.org/trac/ompi/ticket/1805
2009-02-20 15:03:36 +00:00
Jeff Squyres
ed22f9744e Bring in PLPA v1.3rc3 (add a missing comma, which should fix compiling
issues at Sun).  

Sorry for the middle of the day configure change, but this should fix
a compile break at Sun...

This commit was SVN r20594.
2009-02-19 17:42:43 +00:00
Jeff Squyres
558fc2836d Bump PLPA version to 1.3rc2, which should fix the "make dist" error
from last night's nightly tarball.

This commit was SVN r20576.
2009-02-17 12:54:57 +00:00
Jeff Squyres
4590582807 Bump PLPA to v1.3rc1, which includes a valgrind API fix for a
known-bad memory access pattern.  Specifically, a NULL pointer is
passed in a system call as part of a probe to figure out which
affinity API this system has.  We know it's a NULL and we did it on
purpose, so don't have Valgrind yell about it.

This commit was SVN r20572.
2009-02-17 02:01:30 +00:00
Jeff Squyres
8b9601e35e Put a check in the destructor to ensure that we don't try to free a
NULL pointer.

This commit was SVN r20569.
2009-02-17 01:11:10 +00:00
George Bosilca
918d94f449 Put back the commit r20562 as it had a reason to be there: clean
a memory leak.

This commit was SVN r20566.

The following SVN revision numbers were found above:
  r20562 --> open-mpi/ompi@62c913f851
2009-02-16 20:03:48 +00:00
Josh Hursey
350d9c94ab Backout r20562 since it breaks finalization in the tools (per email to devel).
This commit was SVN r20565.

The following SVN revision numbers were found above:
  r20562 --> open-mpi/ompi@62c913f851
2009-02-16 19:18:43 +00:00
George Bosilca
62c913f851 Release the default base on finalize.
This commit was SVN r20562.
2009-02-14 21:51:09 +00:00
Jeff Squyres
f9043edd39 Ensure to free this string when we're done.
This commit was SVN r20536.
2009-02-12 22:54:43 +00:00
Jeff Squyres
17d9c2c240 Important clarification about the ownership of strings returned by the
current_value parameter to mca_base_param_reg_string() function.

This commit was SVN r20535.
2009-02-12 22:54:29 +00:00
Jeff Squyres
e3ae1468d3 Don't strdup here; there's already a strdup down in
param_set_override().

This commit was SVN r20533.
2009-02-12 22:36:45 +00:00
Ralph Castain
883a0972bc Add missing include file
This commit was SVN r20529.
2009-02-12 16:41:48 +00:00
George Bosilca
84d3ca0c9e Release the memory.
This commit was SVN r20524.
2009-02-11 21:34:27 +00:00
Shiqing Fan
2f1461419c Add a new feature for checking mca subdirectories, i.e. detecting if there is an exclude file list which indicates the files that shouldn't be added to the source list. By default, the CMake build system will simply add all source files in the required sub folders, without knowing which files have to be excluded. The first use of it is in plm/base/.windows.
And clean up the nested variable names, in order to make it readable.

This commit was SVN r20498.
2009-02-10 17:20:13 +00:00
Ralph Castain
4cdf91a8d4 Per the RFC, extend the current use of the ompi_proc_t flags field (without changing the field itself).
The prior ompi_proc_t structure had a uint8_t flag field in it, where only one
bit was used to flag that a proc was "local". In that context, "local" was
constrained to mean "local to this node".

This commit provides a greater degree of granularity on the term "local", to include tests
to see if the proc is on the same socket, PC board, node, switch, CU (computing
unit), and cluster.

Add #define's to designate which bits stand for which local condition. This
was added to the OPAL layer to avoid conflicting with the proposed movement of
the BTLs. To make it easier to use, a set of macros have been defined - e.g.,
OPAL_PROC_ON_LOCAL_SOCKET - that test the specific bit. These can be used in
the code base to clearly indicate which sense of locality is being considered.

All locations in the code base that looked at the current proc_t field have
been changed to use the new macros.

Also modify the orte_ess modules so that each returns a uint8_t (to match the
ompi_proc_t field) that contains a complete description of the locality of this
proc. Obviously, not all environments will be capable of providing such detailed
info. Thus, getting a "false" from a test for "on_local_socket" may simply
indicate a lack of knowledge.

This commit was SVN r20496.
2009-02-10 02:20:16 +00:00
Rainer Keller
64aa384745 - Fix comment to reflect current code.
This commit was SVN r20479.
2009-02-09 00:52:57 +00:00
Shiqing Fan
8086bb1a1b SIGSTOP and SIGTSTP are not supported on Windows. But they have to be defined anyway, although they are not used for Windows.
This commit was SVN r20453.
2009-02-05 17:02:34 +00:00
Shiqing Fan
ff7ca43dd1 Update two configuration files for windows build.
This commit was SVN r20450.
2009-02-05 16:39:40 +00:00
Shiqing Fan
7d2d6b16b1 A fix for windows mainly, adding BEGIN/END_C_DECLS pairs.
This commit was SVN r20448.
2009-02-05 16:35:58 +00:00
Jeff Squyres
67a5374a61 Re CID 1180: Actually, it would be better to also print something in
the case of an error, too...

This commit was SVN r20443.
2009-02-05 15:26:44 +00:00
Jeff Squyres
598e530de9 Fix CID 1180: ensure to check the output from snprintf, since we pass
it to write().

This commit was SVN r20442.
2009-02-05 15:24:48 +00:00
Jeff Squyres
9c2a6da128 Remove errant '>'. How on earth did that work at all?
This commit was SVN r20416.
2009-02-03 23:21:34 +00:00
Jeff Squyres
35c5e28a8e Up to SVN r20383
This commit was SVN r20384.

The following SVN revision numbers were found above:
  r20383 --> open-mpi/ompi@e0638c84c8
2009-01-29 17:59:04 +00:00
Jeff Squyres
bb3d258562 Round up a few places where PATH_MAX was used instead of
OMPI_PATH_MAX.  Thanks to Andrea Iob for the bug report.

This commit was SVN r20360.
2009-01-27 22:57:50 +00:00
Ralph Castain
c92f906d7c Move the daemon collectives out of the ODLS and into the GRPCOMM framework. This removes the inherent assumption that the OOB topology is a tree, thus allowing different grpcomm/routed combinations to implement collectives appropriate to their topology.
This commit was SVN r20357.
2009-01-27 19:13:56 +00:00
Rolf vandeVaart
1872a7b75d This change allows the trunk to be compiled with Sun
Studio compilers again. It has been broken since
1/14/2009 when some changes exposed a bug in autoconf
and how it handles support for the restrict keyword.
Basically, Sun Studio C supports the restrict keyword
but Sun Studio C++ does not.

I am also pursuing a fix with the autoconf folks, but
this change was needed to get things building again.

This commit was SVN r20351.
2009-01-26 20:13:44 +00:00
Jeff Squyres
f3b1432260 Fixes trac:1618: ensure to check to see if the symbol RTLD_NEXT exists
before trying to use it (e.g., it doesn't seem to exist on Cygwin).

This commit was SVN r20343.

The following Trac tickets were found above:
  Ticket 1618 --> https://svn.open-mpi.org/trac/ompi/ticket/1618
2009-01-25 16:38:00 +00:00
Jeff Squyres
6d805eb0dd Ensure to not do the found_files stuff is --disable-dlopen is selected.
This commit was SVN r20320.
2009-01-22 16:46:02 +00:00
Jeff Squyres
58a25cae69 Fixes trac:1271: make the OPAL MCA base read the list of MCA DSO filenames
''once'' and keep the names in an argv-style array.  Each time we go
to open a framework, we just scan that array rather than re-reading
all the filenames from the filesystem.

This commit was SVN r20309.

The following Trac tickets were found above:
  Ticket 1271 --> https://svn.open-mpi.org/trac/ompi/ticket/1271
2009-01-21 22:27:05 +00:00
Josh Hursey
fca3c6e571 Fix the BLCR configuration when explicitly disabling it.
It happened that if we supplied:
 --with-ft=cr --without-blcr
then BLCR would be loaded, due to a logic break in the old m4.

Now this works approprately. This should be moved to v1.3.1

This commit was SVN r20296.
2009-01-19 20:21:58 +00:00
Jeff Squyres
4520b00547 Fixes trac:1587: also check the mca component struct framework and
component name against the filename and ensure that they match.
Ignore the component if they do not.

This commit was SVN r20291.

The following Trac tickets were found above:
  Ticket 1587 --> https://svn.open-mpi.org/trac/ompi/ticket/1587
2009-01-17 12:53:21 +00:00
Ralph Castain
88a0af9726 Revise the way we output resolved hostnames to make life easier for the Eclipse folks. Store aliases for individual nodes (only when requested to show resolved hostnames) and then report them out as part of the display-map option.
This commit was SVN r20284.
2009-01-15 18:11:50 +00:00
Jeff Squyres
d1c6f3f89a * Fix a truckload of Cisco copyrights to be the same as the rest of
the code base.
 * Fix a few misspellings in other copyrights.

This commit was SVN r20241.
2009-01-11 02:30:00 +00:00
Ralph Castain
17e1911afa Remove unneeded include file
This commit was SVN r20204.
2009-01-05 19:20:02 +00:00
Tim Mattox
a5efe3ed77 Refs trac:868, #869
The fix for #868, r14358, introduced an (unneeded?) inconsitency...
For Mac OS X systems, inttypes.h will always be included with opal_config.h,
and NOT included for non-Mac OS X systems.  For developers using Mac OS X,
this masks the need to include inttypes.h or more properly opal_stdint.h.

This changeset corrects one of these oopses.  However, the underlying problem
still exists.  Moving the equivelent of r14358 into opal_stdint.h from
opal_config_bottom.h might be the "right" solution, but AFAIK, we would then
need to replace each direct inclusion of inttypes.h with opal_stdint.h to
properly address tickets #868 and #869.

This commit was SVN r20196.

The following SVN revision numbers were found above:
  r14358 --> open-mpi/ompi@dce72aab70

The following Trac tickets were found above:
  Ticket 868 --> https://svn.open-mpi.org/trac/ompi/ticket/868
2009-01-04 05:09:18 +00:00
Jeff Squyres
ad7cfe63a3 Fix CID 1180: check for negative return from snprintf.
This commit was SVN r20192.
2009-01-03 15:33:54 +00:00
Jeff Squyres
df3a304447 Fix CID 1182: ensure to check return of read() for failure.
This commit was SVN r20191.
2009-01-03 15:30:56 +00:00
Jeff Squyres
ae7dfdd0e0 Fix CID 1136: fix a small memory leak.
This commit was SVN r20188.
2009-01-03 15:12:16 +00:00
Jeff Squyres
c23f8e3981 Fix CIDs 1183-1186 (same as r20186 -- just missed the fact that there
were several more CIDs on the same source line before I committed).

This commit was SVN r20187.

The following SVN revision numbers were found above:
  r20186 --> open-mpi/ompi@423cce4b0a
2009-01-03 14:58:07 +00:00
Jeff Squyres
423cce4b0a Fix CID 1187: use PRIu64 instead of %lu for printing a uint64_t.
This commit was SVN r20186.
2009-01-03 14:55:08 +00:00
Tim Mattox
f911b1a63d Fix a few code comments in the new ompi-top functionality.
This commit was SVN r20166.
2008-12-22 22:36:38 +00:00
Ralph Castain
7787f84540 Per the earlier RFC and some discussion at the Dec ORTE design meeting, add the ompi-top tool and all its supporting infrastructure. This includes a new OPAL pstat framework and data type, currently with rather weak support for Mac OSX and pretty complete support for Linux. The Sun team promised to add Solaris support as well.
Also, per chat with Jeff, modified the Makefile.am's of a few orte tools so that they were consistent in the way we generate the ompi-equivalent cmds.

This commit was SVN r20165.
2008-12-22 20:23:05 +00:00
George Bosilca
80fd24c948 Small cleanups: remove an unused dependency to signal.h and include
output.h.

This commit was SVN r20155.
2008-12-18 22:39:49 +00:00
George Bosilca
24e191a076 Update the MIPS atomics. We can now compile with gcc and Pathscale.
This commit was SVN r20154.
2008-12-18 22:38:31 +00:00
Josh Hursey
ce8d18bfda This commit changes the use of the deprecated cr_request_file() to use the cr_request_checkpoint() interface to BLCR. Additional configure checks are added to use the best available checkpointing interface available for the BLCR installed on the system (default: cr_request_checkpoint()).
This commit fixes trac:1691

Thanks to Matthias Hovestadt for identifying this issue.

This commit was SVN r20114.

The following Trac tickets were found above:
  Ticket 1691 --> https://svn.open-mpi.org/trac/ompi/ticket/1691
2008-12-11 00:08:34 +00:00
Tim Mattox
4fa13a1a4d Fix two typos inside of comments.
This commit was SVN r20112.
2008-12-10 21:18:13 +00:00
Shiqing Fan
5ae5f0e173 - 4/4 commit for Windows Visual Studio and CCP support:
unnecessary clean up to non windows related files (within ifdef __WINDOWS__).

This commit was SVN r20111.
2008-12-10 21:13:27 +00:00
Shiqing Fan
20cea164db - 3/4 commit for Windows Visual Studio and CCP support:
corrections to non-windows files (but within ifdef __WINDOWS__)
  type casts, event library for windows use win32. 
  in orte runtime, add windows sockets handling and object construction.

This commit was SVN r20110.
2008-12-10 21:13:10 +00:00
Shiqing Fan
8673f19f50 - 2/4 commit for Windows Visual Studio and CCP support:
changes to the already existing ccp components
  event/win32.c: merge old FD handling into new
  opal_installdirs_windows.c:fix the registry handling

This commit was SVN r20109.
2008-12-10 21:01:54 +00:00
Shiqing Fan
a5281f0434 - 1/4 commit for Windows Visual Studio and CCP support:
CMakeLists and .windows files.
  In contribs preconfigured and precompiled parts.

This commit was SVN r20108.
2008-12-10 20:59:20 +00:00
Ralph Castain
728a24c8ec After considerable patience and help with debugging/testing from Tim M and Jeff S, return a completed and pretty well tested patch of the IOF to the trunk. This commit includes the previously reverted r20074, r20068, and r20064, as well as changes to fix those commits.
Basically, the remaining problem turned out to be:

1. closing stdout/stderr during orte_finalize of mpirun

2. inadvertently setting up a write event on fd = -1

3. devising a scheme to more accurately track when the stdin write event was active vs closed so it only got released once

This passed prelim MTT testing by Jeff and Tim, but should soak for awhile before migrating to 1.3.

This commit was SVN r20106.

The following SVN revision numbers were found above:
  r20064 --> open-mpi/ompi@a07660aea8
  r20068 --> open-mpi/ompi@ec930d14a9
  r20074 --> open-mpi/ompi@2940309613
2008-12-10 20:40:47 +00:00
Ralph Castain
1ace83c470 Enable modex-less launch. Consists of:
1. minor modification to include two new opal MCA params:
   (a) opal_profile: outputs what components were selected by each framework
       currently enabled for most, but not all, frameworks
   (b) opal_profile_file: name of file that contains profile info required
       for modex

2. introduction of two new tools:
   (a) ompi-probe: MPI process that simply calls MPI_Init/Finalize with
       opal_profile set. Also reports back the rml IP address for all
       interfaces on the node
   (b) ompi-profiler: uses ompi-probe to create the profile_file, also
       reports out a summary of what framework components are actually
       being used to help with configuration options

3. modification of the grpcomm basic component to utilize the
   profile file in place of the modex where possible

4. modification of orterun so it properly sees opal mca params and
   handles opal_profile correctly to ensure we don't get its profile

5. similar mod to orted as for orterun

6. addition of new test that calls orte_init followed by calls to
   grpcomm.barrier

This is all completely benign unless actively selected. At the moment, it only supports modex-less launch for openib-based systems. Minor mod to the TCP btl would be required to enable it as well, if people are interested. Similarly, anyone interested in enabling other BTL's for modex-less operation should let me know and I'll give you the magic details.

This seems to significantly improve scalability provided the file can be locally located on the nodes. I'm looking at an alternative means of disseminating the info (perhaps in launch message) as an option for removing that constraint.

This commit was SVN r20098.
2008-12-09 23:49:02 +00:00
Brian Barrett
8a8cf96b6c Provide configure parameter to allow the disabling of reading parameters
and components from the home directory for platforms that are bad at
reading in files from home directory at scale (like Red Storm)

This commit was SVN r20069.
2008-12-04 01:51:44 +00:00
Jeff Squyres
06097db928 Fixes trac:1667. Ensure to fill in the source_file if it was requested.
This commit was SVN r20067.

The following Trac tickets were found above:
  Ticket 1667 --> https://svn.open-mpi.org/trac/ompi/ticket/1667
2008-12-03 22:17:50 +00:00
Shiqing Fan
abd21b6d17 - An update for memchecker :
1. fix a bug in pml_ob1_recvreq/sendreq.c, buffer was made defined where the request has already been released.
2. complete memchecker support for collective functions.
3. change the wrongly spelled function name of memchecker, i.e. '*_isaddressible' should be '*_isaddressable'

This commit was SVN r20043.
2008-11-27 16:34:02 +00:00
Jeff Squyres
d7f3dd2230 Add a comment explaining exactly what is returned by this function
because we wasted a good amount of time today assuming that it was
returning the actual netmask.  Specifically, we were confused why it
returned 0x18 instead of 0xffffff00 for a class C subnet (the
head-smacking moment wasn't until [much] later when we converted 0x18
to decimal, which is 24.  Then the Clue Light(tm) went on).

This commit was SVN r20002.
2008-11-14 22:59:41 +00:00
Josh Hursey
bf96a8dea0 Fixes a bug that may occur with really long environment variables on job restart.
This happens with really long paths as part of the variable name.

Found in MTT testing (where the paths are long). This will need to be moved to v1.3

This commit was SVN r19989.
2008-11-12 21:43:34 +00:00
George Bosilca
6344b8dffe Force an explicit cast to keep the compilers quiet.
This commit was SVN r19975.
2008-11-11 14:58:53 +00:00
George Bosilca
aac4724c9d Add a high accuracy timer for MIPS.
This commit was SVN r19974.
2008-11-11 14:57:39 +00:00
Josh Hursey
d5c38c2601 fix some typos. should be moved to v1.3
This commit was SVN r19964.
2008-11-10 19:05:26 +00:00
Jeff Squyres
7b32402959 Fixes from Brian for OS X 10.4.
This commit was SVN r19953.
2008-11-07 22:13:43 +00:00
George Bosilca
03434f8f10 Some compilers complain about casting a pointer to a integer type with a different
size. The correct way is to cast to an integer type that has the same length, and
then allow the compiler to upgrade to the read type.

This commit was SVN r19944.
2008-11-07 16:27:05 +00:00
Rolf vandeVaart
cad49da72d Fix the tcp btl so it makes use of the btl_tcp_if_include and btl_tcp_if_exclude
parameters on the connecting side also.  Also move define of IF_NAMESIZE
into if.h file.  And lastly, add one verbose debug message which may be
useful if we run into other issues like this.

This commit fixes trac:1573.

This commit was SVN r19932.

The following Trac tickets were found above:
  Ticket 1573 --> https://svn.open-mpi.org/trac/ompi/ticket/1573
2008-11-05 18:45:42 +00:00
Jeff Squyres
357e9ef070 Move AM_CONDITIONAL to its own POST_CONFIG, as it needs to be. Fixes
#1622.

This commit was SVN r19908.
2008-11-03 22:34:38 +00:00
Jeff Squyres
22e9d34f64 Minor fixes to eliminate compiler warnings with PGI.
This commit was SVN r19900.
2008-11-03 21:24:04 +00:00
Shiqing Fan
a456c057d6 - Skip the loopback address on windows.
This commit was SVN r19862.
2008-10-31 17:02:41 +00:00
Matthias Jurenz
47bf6c213c Fixed memory leak in 'opal_vsnprintf()'
This commit was SVN r19843.
2008-10-29 12:59:11 +00:00
George Bosilca
83474b2e1a Solve a modulus rounding error. As the modulus can be signed (in C89 it take
the sign of the divident), we have to cast the pointer to an uintptr_t in
order to be able to correctly compute how to align it on the cache line.
Rported and solved by Stephan Kramer. Thanks Stephan.

This commit was SVN r19778.
2008-10-21 17:00:39 +00:00
Jeff Squyres
f2a7993aa5 Refs trac:1578: Shiqing-suggested changes for valgrind configure.m4 support.
This commit was SVN r19776.

The following Trac tickets were found above:
  Ticket 1578 --> https://svn.open-mpi.org/trac/ompi/ticket/1578
2008-10-21 03:27:43 +00:00
Jeff Squyres
e42139710b A typo prevented the valgrind memchecker component finding the
Valgrind header files if they weren't already in the compiler's
default header file search path.  This commit fixes that typo and adds
a little more infrastructure (via an AC_SUBST) to pass in the relevant
CPPFLAGS to the build system for the valgrind memchecker component.

This commit was SVN r19764.
2008-10-17 23:04:39 +00:00
Josh Hursey
88aa45dd52 Commit to bring online OpenIB, MX, and shared memory support for Open MPI's checkpoint/restart functionality. Some tuning is still needed, but basic functionality is in place.
There is still a problem with OpenIB and threads (external to C/R functionality). It has been reported in Ticket #1539

Additionally:
* Fix a file cleanup bug in CRS Base.
* Fix a possible deadlock in the TCP ft_event function
* Add a mca_base_param_deregister() function to MCA base
* Add whole process checkpoint timers
* Add support for BTL: OpenIB, MX,  Shared Memory
* Add support Mpool: rdma, sm
* Sundry bounds checking an cleanup in some scattered functions

This commit was SVN r19756.
2008-10-16 15:09:00 +00:00
Josh Hursey
5b5d557b3d Deactive the C/R thread by default. So if you happed to have compiled Open MPI with FT and with Threads, but ran without activating them then the C/R thread never becomes active.
Fix a finalize bug with the C/R thread. There is a race in the way we were finalizing the C/R thread such that, given a particular interleaving of threads, the pthread_join would stall because the C/R thread was never released properly.

Found in MTT regression testing on Odin.

All and all if you were not compiling with FT & threading support you would never see this problem.

This commit was SVN r19708.
2008-10-08 14:19:37 +00:00
Ralph Castain
15c47a2473 Revise the daemon collective system to handle comm_spawn patterns that cross into new nodes that are not direct children on the routing tree of the HNP.
Refers to ticket #1548. Although this appears to fix the problem, the ticket will be held open pending further test prior to transition to the 1.3 branch.

This commit was SVN r19674.
2008-10-02 20:08:27 +00:00
Aurelien Bouteiller
4be474f727 CRS is now an opal framework. It should use OPAL version defines.
This commit was SVN r19643.
2008-09-25 21:01:04 +00:00
Josh Hursey
90c936b292 Cleanup BLCR configure logic. Add a '--with-blcr-libdir' option to allow a user to specify a library directory outside of the '--with-blcr' option.
Needs to be moved to v1.3

This commit was SVN r19607.
2008-09-22 19:48:47 +00:00
Josh Hursey
36b824effd Make sure to protect the symbol, so builds that do not involve threads will build properly.
Thanks to Jeff for pointing this out to me.

This commit was SVN r19606.
2008-09-22 19:03:41 +00:00
Josh Hursey
0cd65bfaa8 Fix a SIGPIPE that may occur when checkpointing a restarted process. This was a result of calling system() in the BLCR CRS. After inspection and testing it was determined that the operation was no longer necessary. So the call was removed thus fixing the bug.
This commit was SVN r19601.
2008-09-22 16:49:56 +00:00
Jeff Squyres
53967f2b4e Merge in PLPA v1.2rc2 (README fixes, new version of Autotools, and
have PLPA report its version correctly).

This commit was SVN r19590.
2008-09-19 15:05:03 +00:00
Jeff Squyres
b1ff61b19e Update to PLPA v1.2rc1
This commit was SVN r19589.
2008-09-19 14:49:53 +00:00
Lenny Verkhovsky
ca0a5ea60b Fixed the warnings on the crays.
base/paffinity_base_service.c:153: warning: 'phys_core' may be used uninitialized in this function
base/paffinity_base_service.c:153: note: 'phys_core' was declared here

This commit was SVN r19580.
2008-09-18 11:31:12 +00:00
Shiqing Fan
68f6fdf111 - a small fix for windows, use different environment separators based on the system type.
This commit was SVN r19554.
2008-09-15 15:05:47 +00:00
Jeff Squyres
4b5de753d4 Bring in new PLPA v1.2b5 to fix a typo found by Lenny.
This commit was SVN r19526.
2008-09-09 12:29:31 +00:00
Shiqing Fan
8558ba1f51 - Remove the duplicated declarations, which causes linkage errors and warning when building shared libraries on Windows.
This commit was SVN r19520.
2008-09-08 16:53:26 +00:00
George Bosilca
41ea2cbb8c Keep the compiler happy as several packages define these
constants.

This commit was SVN r19506.
2008-09-05 13:20:30 +00:00
George Bosilca
87459a36c9 The comment states it all.
This commit was SVN r19505.
2008-09-05 13:18:10 +00:00
George Bosilca
579d70edad We should use #ifdef and not #if
This commit was SVN r19504.
2008-09-05 12:44:19 +00:00
Josh Hursey
21910d29ff Really clean up the Configure for BLCR. There were two leftover bugs that futher testing highlighted.
Thanks to Ralph for helping me find these bugs on Odin.

This commit was SVN r19491.
2008-09-03 20:10:29 +00:00
Josh Hursey
78c35f6d93 Fix a configure problem on Odin. If --without-blcr option is given and BLCR exists in a default path, then it was trying to build anyway. I ran a couple test builds and this patch seems to fix the problem.
This commit was SVN r19486.
2008-09-02 20:15:57 +00:00
Shiqing Fan
c5845708cb - more *_C_DECLS.
This commit was SVN r19469.
2008-09-01 16:26:10 +00:00
Ralph Castain
274d912fe1 Silence warnings in paffinity_base_service
This commit was SVN r19453.
2008-08-28 22:11:49 +00:00
Shiqing Fan
32243829d8 Add the BEGIN/END_C_DECLS declarations.
This commit was SVN r19445.
2008-08-28 13:06:14 +00:00
Ralph Castain
2e4536d5aa Ensure that platform-specific mca param files get installed with the correct default mca param filename. Platform-specific mca param files overwrite any pre-existing default mca param file as they are considered to be the "gold" standard if a platform file was provided.
This commit was SVN r19423.
2008-08-27 02:40:02 +00:00
Ralph Castain
4ef9d15d97 Revamp the opal mca paffinity interface. We ran into a problem when we encountered machines that had "holes" in their physical processor layout - e.g., machines that supported "hotplugging", or that had unpopulated sockets. To solve that problem, we had to clarify at the API level where we were describing physical vs logical processor info, and then translate accordingly in the underlying implementation.
See opal/mca/paffinity/paffinity.h for explanation as to the physical vs logical nature of the params used in the API.

Fixes trac:1435

This commit was SVN r19391.

The following Trac tickets were found above:
  Ticket 1435 --> https://svn.open-mpi.org/trac/ompi/ticket/1435
2008-08-21 19:21:28 +00:00
Ralph Castain
04fe1e1875 Avoid using the "access" function for security reasons as per its documentation. Also, check to ensure it is a file (and not something else) when we are looking for a file
Fixes trac:1272

This commit was SVN r19373.

The following Trac tickets were found above:
  Ticket 1272 --> https://svn.open-mpi.org/trac/ompi/ticket/1272
2008-08-20 15:30:25 +00:00
Jeff Squyres
80d11dba8f Bring in PLPA v1.2b4
This commit was SVN r19299.
2008-08-14 21:04:28 +00:00
Ralph Castain
a81dfa0aea When using a platform file, allow the system to automatically pickup an associated default MCA param file for that platform. This change will first look for a file named "platform.conf" (where platform = the name of the platform you specified) in the directory where the platform file itself resides. If that isn't found, it then looks for our default mca param file name in that same location. If neither of those are found, we just use the good old standby default param file that ships with the openmpi code.
I tested this with both conventional and VPATH builds without problem. Please let me know if you hit an issue.

This commit was SVN r19296.
2008-08-14 20:26:17 +00:00
Jeff Squyres
bb585922fd This is fixed a different way now; no need to be different than stock
PLPA.

This commit was SVN r19293.
2008-08-14 18:54:34 +00:00
Jeff Squyres
a6e0589f01 Update to PLPA v1.2b3. Sorry again for the mid-day configure change...
This commit was SVN r19292.
2008-08-14 14:26:26 +00:00
Jeff Squyres
a19cf02c2b Refs trac:1435
Bring in a new version of PLPA (v1.2b2) with some new capabilities for
offline processors and mapping of the Nth processor/socket/core to its
corresponding Linux processor/socket/core ID.

(Sorry for the configure change in the middle of the day, folks -- I
need it to be able to continue to integrate paffinity changes for
#1435...)

This commit was SVN r19282.

The following Trac tickets were found above:
  Ticket 1435 --> https://svn.open-mpi.org/trac/ompi/ticket/1435
2008-08-13 20:18:37 +00:00
George Bosilca
5a885a9150 Safety net for the sscanf function. Without the \0 at the end of the
buffer, we can read outside the allocated memory.

This commit was SVN r19258.
2008-08-12 16:59:27 +00:00
George Bosilca
ac0160dcd1 Don't forget to decrease the number of empty slots.
This commit was SVN r19243.
2008-08-11 23:39:09 +00:00
Jeff Squyres
b97a185fb1 Fix CID 859: fix minor memory leak
This commit was SVN r19241.
2008-08-11 21:35:03 +00:00
Jeff Squyres
2015e38f87 Fix CID 1093: remove some useless header files and therefore remove
some #include recursion.

This commit was SVN r19225.
2008-08-08 12:37:26 +00:00
Jeff Squyres
797ec531aa Some more work on the man pages:
* Make the creation of the build dir for the man pages a bit more
   robust (thanks to suggestions from Ralf W.).
 * Only distribute the .Xin files, not the .X man pages themselves.
 * Make the .X files depend on opal_config.h so that if you re-run
   configure and change opal_config.h (e.g., a new version), the man
   pages should get rebuilt.
 * Man pages are now cleaned with "distclean", not "maintainer-clean".
 * Fix a typo in opal_crs.7in.
 * Udpate make_dist_tarball to update "date" in the VERSION file.
 * Make make_dist_tarball a bit friendlier to hg checkouts.

This commit was SVN r19219.
2008-08-07 19:20:40 +00:00
George Bosilca
9a75ed0059 Allow the Solaris malloc component to desect itself.
This commit was SVN r19218.
2008-08-07 17:41:24 +00:00
Donald Kerr
7654e8fdf4 Create new memory component for default solaris allocator.
This commit was SVN r19217.
2008-08-07 15:38:37 +00:00
Rainer Keller
5eb4ebe8fa - Fix buffer size warning
Coverity CID 8

This commit was SVN r19198.
2008-08-06 14:53:43 +00:00
George Bosilca
24a04d92fd Fix recursion in include files (Coverty fix 155).
This commit was SVN r19183.
2008-08-06 13:53:56 +00:00
Jeff Squyres
aa35ef53d0 Fix CID 1079: don't use a value until it's been initialized (duh).
This commit was SVN r19173.
2008-08-06 11:44:22 +00:00
Jeff Squyres
b83ee7d82a * Fix a problem with VPATH builds if the destination directory didn't
already exist  
 * s/top_srcdir/top_builddir/ in a bunch of places; left over from the
   previous man page generation system

This commit was SVN r19141.
2008-08-04 15:17:50 +00:00
Ralph Castain
fdde3de903 Combination of some changes by both Jeff and I. Few minor cleanups to the code (e.g., allow options to show-mca-params to be either case), and an enhancement that allows the user to specify multiple options separated by commas (e.g., "env,api").
This commit was SVN r19124.
2008-08-02 00:43:27 +00:00
Ralph Castain
21ba1b2ec0 Modify the configure system in the paffinity framework so that only one component is built. Cleanout variable name conflicts that on some systems prevented building
This commit was SVN r19122.
2008-08-01 22:54:24 +00:00
Dan Lacher
9175da1e02 Putback for all changes to automate man page updates to strings of
versions, dates and build names.

Fixes trac:1387

Big thanks to Jeff and Brian for help and oversight.

This commit was SVN r19120.

The following Trac tickets were found above:
  Ticket 1387 --> https://svn.open-mpi.org/trac/ompi/ticket/1387
2008-08-01 21:14:37 +00:00
Jeff Squyres
1a3045ff81 * Remove some extraneous AC_MSG_RESULT's
* Make the results of the top-level configure.ac test for
   _SC_NPROCESSORS_ONLN be cached so that we can check for it
   elsewhere (e.g., opal/mca/paffinity/posix/configure.m4)
 * Update top-level configure.ac test for _SC_NPROCESSORS_ONLN: stamp
   out another AC_TRY_COMPILE
 * Ensure paffinity:posix doesn't even try to compile if we don't
   have _SC_NPROCESSORS_ONLN
 * Minor style updates

This commit was SVN r19118.
2008-08-01 11:41:08 +00:00
Ralph Castain
e1501f2c9c Add darwin paffinity component to handle the difference between Tiger and Leopard. Although both are POSIX compatible, Tiger is a tad different in this regard and requires a different interface to get the #processor data.
This commit was SVN r19117.
2008-08-01 00:15:10 +00:00
Jeff Squyres
9fda668edf Clarify the comment that the caller should not modify or free the
filename.

This commit was SVN r19114.
2008-07-31 21:53:59 +00:00
Ralph Castain
f7d1c2d229 Extend the mca param display capability to allow independent output of the params based on where they were last set (default, enviro, file, or API), and to out
put the name of the file that set them if they were set by file. This is of great assistance to support personnel trying to understand why a user is having pro
blems.

Coordinated with Jeff.

This commit was SVN r19111.
2008-07-31 20:00:45 +00:00
Rainer Keller
dbafe83999 - Update the warn_unused result from allocating functions
- Set __opal_attribute_nonnull__ where an argument *must* not be null
 - Mark unused functions

This commit was SVN r19107.
2008-07-31 15:46:09 +00:00
Ralph Castain
a62b2a0150 Per the July technical meeting:
Standardize the handling of the orte launch agent option across PLMs. This has been a consistent complaint I have received - each PLM would register its own MCA param to get input on the launch agent for remote nodes (in fact, one or two didn't, but most did). This would then get handled in various and contradictory ways.

Some PLMs would accept only a one-word input. Others accepted multi-word args such as "valgrind orted", but then some would error by putting any prefix specified on the cmd line in front of the incorrect argument.

For example, while using the rsh launcher, if you specified "valgrind orted" as your launch agent and had "--prefix foo" on you cmd line, you would attempt to execute "ssh foo/valgrind orted" - which obviously wouldn't work.

This was all -very- confusing to users, who had to know which PLM was being used so they could even set the right mca param in the first place! And since we don't warn about non-recognized or non-used mca params, half of the time they would wind up not doing what they thought they were telling us to do.

To solve this problem, we did the following:

1. removed all mca params from the individual plms for the launch agent

2. added a new mca param "orte_launch_agent" for this purpose. To further simplify for users, this comes with a new cmd line option "--launch-agent" that can take a multi-word string argument. The value of the param defaults to "orted".

3. added a PLM base function that processes the orte_launch_agent value and adds the contents to a provided argv array. This can subsequently be harvested at-will to handle multi-word values

4. modified the PLMs to use this new function. All the PLMs except for the rsh PLM required very minor change - just called the function and moved on. The rsh PLM required much larger changes as - because of the rsh/ssh cmd line limitations - we had to correctly prepend any provided prefix to the correct argv entry.

5. added a new opal_argv_join_range function that allows the caller to "join" argv entries between two specified indices

Please let me know of any problems. I tried to make this as clean as possible, but cannot compile all PLMs to ensure all is correct.

This commit was SVN r19097.
2008-07-30 18:26:24 +00:00
Lenny Verkhovsky
90a784dfca Making paffinity_base_slot_list invisible for the user
This commit was SVN r19096.
2008-07-30 14:52:45 +00:00
Terry Dontje
0ff11f7523 Added initialization and proper increment of the value of num_processors
pointer.  This commit fixes trac:1420.

This commit was SVN r19089.

The following Trac tickets were found above:
  Ticket 1420 --> https://svn.open-mpi.org/trac/ompi/ticket/1420
2008-07-30 10:29:05 +00:00
Jeff Squyres
49d9f614d0 Remove errant debugging printf
This commit was SVN r19082.
2008-07-29 18:53:40 +00:00
Jeff Squyres
0af7ac53f2 Fixes trac:1392, #1400
* add "register" function to mca_base_component_t
   * converted coll:basic and paffinity:linux and paffinity:solaris to
     use this function
   * we'll convert the rest over time (I'll file a ticket once all
     this is committed)
 * add 32 bytes of "reserved" space to the end of mca_base_component_t
   and mca_base_component_data_2_0_0_t to make future upgrades
   [slightly] easier
   * new mca_base_component_t size: 196 bytes
   * new mca_base_component_data_2_0_0_t size: 36 bytes
 * MCA base version bumped to v2.0
   * '''We now refuse to load components that are not MCA v2.0.x'''
 * all MCA frameworks versions bumped to v2.0
 * be a little more explicit about version numbers in the MCA base
   * add big comment in mca.h about versioning philosophy

This commit was SVN r19073.

The following Trac tickets were found above:
  Ticket 1392 --> https://svn.open-mpi.org/trac/ompi/ticket/1392
2008-07-28 22:40:57 +00:00
Adrian Knoth
5096512c3a Cosmetics, only typos.
This commit was SVN r19061.
2008-07-28 13:33:08 +00:00
Jeff Squyres
4d034383d9 Apply patch from Ralf W. to remove a non-portable use of ==.
This commit was SVN r19046.
2008-07-26 12:36:24 +00:00
Jeff Squyres
92c10cd187 Remove some old kruft from Makefile.am's -- likely the result of
copying some old Makefile.am a long time ago.

This commit was SVN r19043.
2008-07-26 00:27:42 +00:00
Josh Hursey
ca43968418 Fix a dealock scenario when registering depricated MCA parameters. The internal loop uses the 'item' variable that is used by the outer loop as well. So when the outer loop checks the value of 'item' it will never equal the end of the list since it no longer references the same list.
Kinda found by MTT. MTT calls 'ompi_info --all --parsable' and it was livelocked and had to be killed by hand.

I'm going to push this one to Jeff to push to v1.3 since he did the original implementation and should check this code.

This commit was SVN r19014.
2008-07-24 15:51:54 +00:00
Ralph Castain
fdb2408bf2 Rename the osx paffinity component the "posix" component since it really has nothing osx specific in it - it is just a generic posix call to determine #processors. Set the priority low so that both linux and solaris components override it if they build. It shouldn't build in Windows at all.
Modify the odls to remove a (size_t) typecast in front of the num_processors variable just in case it is returned negative. This usually is accompanied by an opal_error, so this shouldn't make any difference - but it is more technically correct.

This commit was SVN r19008.
2008-07-24 01:54:51 +00:00
Jeff Squyres
1fd5b0402a Refs trac:1250
* Fix linux paffinity component to make a "best" guess when PLPA
   can't find topology information in the Linux kernel.  That is, if
   PLPA can't tell us the max_processor_id, just assume that it's the
   same as the number of processors.  If you have a more complex
   system than that (e.g., you have holes in your available processor
   IDs), you'll likely be running a Linux kernel that supports the
   topology information, and this problem won't happen.
 * Make sure to conver the return codes from PLPA to OPAL_ERR* codes.

This commit was SVN r19001.

The following Trac tickets were found above:
  Ticket 1250 --> https://svn.open-mpi.org/trac/ompi/ticket/1250
2008-07-23 15:47:43 +00:00
Shiqing Fan
5f021e47a9 - Add support for get_processor_info in windows paffinity module.
This commit was SVN r18992.
2008-07-23 07:59:03 +00:00
Ralph Castain
83e7c19d33 Remove deprecated function - this was incorporated into the paffinity framework a long time ago. Fortunately, nobody was actually using it!
This commit was SVN r18990.
2008-07-23 03:43:31 +00:00
Ralph Castain
f32e24ab86 Move the POSIX-specific code out of the paffinity base. Add support for OSX in its own component.
For now, hide the OSX component with .ompi_ignore so only I can see it until I can ensure that it doesn't inadvertently interfere with Linux and Solaris support.

This clears the conflict with Windows.

This commit was SVN r18989.
2008-07-23 03:29:43 +00:00
Ralph Castain
28ca14297c Add minimal support (#processors only) for OSX and other systems that don't have paffinity modules.
This commit was SVN r18959.
2008-07-21 16:54:14 +00:00
George Bosilca
4f9ea0155b Remove 2 compiler warnings.
This commit was SVN r18956.
2008-07-21 12:55:40 +00:00
Shiqing Fan
54e93ff9d3 - This fix replaces r18899, which actually was not correct.
- Revert the $2, which was correct.
- It fixes the problem, that memchecker valgrind component could be 
compiled and is required, but it is unable to be selected. 

This commit was SVN r18906.

The following SVN revision numbers were found above:
  r18899 --> open-mpi/ompi@0b1b96b598
2008-07-14 13:06:09 +00:00
Jeff Squyres
cb36782310 Make this parameter visible to users; it was a mistake/typo to make
it hidden.

This commit was SVN r18902.
2008-07-14 11:21:52 +00:00
Lenny Verkhovsky
a812324963 Fixing "paffinity_base_slot_list" environment
This commit was SVN r18900.
2008-07-14 07:10:50 +00:00
Shiqing Fan
0b1b96b598 Fix the bug in memchecker/valgrind/configure.m4, which wrongly reset the
CPPFLAG.

This commit was SVN r18899.
2008-07-13 18:03:02 +00:00
Jeff Squyres
583bf425c0 Fixes trac:1383:
Short version: remove opal_paffinity_alone and restore
mpi_paffinity_alone.  ORTE makes various information available for the
MPI layer to decide what it wants to do in terms of processor
affinity.

Details:

 * remove opal_paffinity_alone MCA param; restore mpi_paffinity_alone
   MCA param
 * move opal_paffinity_slot_list param registration to paffinity base
 * ompi_mpi_init() calls opal_paffinity_base_slot_list_set(); if that
   succeeds use that.  If no slot list was set, see if
   mpi_paffinity_alone was set.  If so, bind this process to its Node
   Local Rank (NLR).  The NLR is the ORTE-maintained slot ID; if you
   COMM_SPAWN to a host in this ORTE universe that already has procs
   on it, the NLR for the new job will start at N (not 0).  So this is
   slightly better than mpi_paffinity_alone in the v1.2 series.
 * If a slot list is specified *and* mpi_paffinity_alone is set, we
   display an error and abort.
 * Remove calls from rmaps/rank_file component to register and lookup
   opal_paffinity mca params. 
 * Remove code in orte/odls that set affinities - instead, have them
   just pass a slot_list if it exists. 
 * Cleanup the orte/odls code that determined
   oversubscribed/want_processor as these were just opposites of each
   other.

This commit was SVN r18874.

The following Trac tickets were found above:
  Ticket 1383 --> https://svn.open-mpi.org/trac/ompi/ticket/1383
2008-07-10 21:12:45 +00:00
Jeff Squyres
7b2612696c Remove all the keyval stuff from the MCA parameter functionality. The
meat of it was commented out long ago, anyway (because of the way it
was written, it violates OPAL<->OMPI abstraction barriers); we never
ended up using the MPI keyval MCA parameter stuff.  So just delete it.

This commit was SVN r18860.
2008-07-10 01:52:51 +00:00
Jeff Squyres
49be4b1e45 Fixes trac:1383
Lenny and I went back and forth on whether we should simply register
another "mpi_paffinity_alone" MCA param and then try to figure out
which one was set in ompi_mpi_init, but there was difficulty in
figuring out what to do.  So it seemed like the Right Thing to do was
to implement what was committed in r18770; then we could tell where
MCA parameters were set from and you could do Better Things (this is
also useful in the openib BTL, where parameters can be set either via
MCA parameter or via an INI file).

But after that was done, it seemed only a few steps further to
actually implement two new features in the MCA params area:

 * Synonyms (where one MCA param name is a synonym for another)
 * Allow MCA params and/or their synonyms to be marked as "deprecated"
   (printing out warnings if they are used)

These features have actually long been discussed/desired, and I had
some time in airports and airplanes recently where I could work in
this stuff on a standalone laptop.  So I did it.  :-)

This commit introduces these two new features, and then uses them to
register mpi_paffinity_alone as a non-deprecated synonym for
opal_paffinity_alone.  A few other random points in this commit:

 * Add a few error checks for conditions that were not checked before
 * Correct some comments in mca_base_params.h
 * Add a few comments in strategic places
 * ompi_info now prints additional information:
   * for any MCA parameter that has synonyms, it lists all the
     synonyms
   * synonyms are also output as 1st-class MCA params, but with an
     additional attribute indicating that they have a "parent"
   * all MCA param name (both "real" or "synonym") will output an
     attribute indicating whether it is deprecated or not.  A synonym
     is deprecated if it iself is marked as deprecated (via the
     mca_base_param_regist_syn() or mca_base_param_register_syn_name()
     functions) or if its "parent" MCA parameter is deprecated

This commit was SVN r18859.

The following SVN revision numbers were found above:
  r18770 --> open-mpi/ompi@8efe67e08c

The following Trac tickets were found above:
  Ticket 1383 --> https://svn.open-mpi.org/trac/ompi/ticket/1383
2008-07-10 01:44:51 +00:00
Jeff Squyres
480c17c332 Fix in minore memory leak
This commit was SVN r18857.
2008-07-10 00:37:08 +00:00
Josh Hursey
c4035d848f This commit fixes runs when there is no available CRS component (BLCR is unavailable, and SELF is deactivated). Previously the run would fail out of MPI_INIT since the OPAL CRS framework could not select a component. This is because the framework did not recognize the 'none' component as a full component because it was part of crs/base.
I promoted the ''none'' component to a full component, and updated the other components to reflect this code movement. The ''none'' component is the default component unless the user requests '''-am ft-enable-cr''' to auto-select a component. There is an MCA parameter to show a warning if the application requested an FT enabled job, but the ''none'' component was selected ({{{crs_none_select_warning}}}).

This temporarily fixes the problem mentioned in r18739. The full fix will entail working on ticket #1291.

Thanks to Ethan from Sun for finding this bug.

This commit was SVN r18840.

The following SVN revision numbers were found above:
  r18739 --> open-mpi/ompi@a003fa7a50
2008-07-08 20:04:39 +00:00
Josh Hursey
22f4c829ba cleanup BLCR configure so --without-blcr works correctly
This commit was SVN r18825.
2008-07-08 02:48:20 +00:00
Lenny Verkhovsky
1ed465326b Change of name conventions in carto
NODE -> EDGE
CONNECTION ->   BRANCH
SLOT -> SOCKET.

This commit was SVN r18799.
2008-07-03 14:19:16 +00:00
Lenny Verkhovsky
ba1fa73881 Selectign Maffinity only if Paffinity selected fix
This commit was SVN r18797.
2008-07-03 13:39:34 +00:00
Jeff Squyres
8efe67e08c Improvements to the MCA param system: allow querying to find out where
an MCA parameter's value came from.  Note that the actual value of the
parameter is irrelevant.  For example, if a value was specified in an
MCA parameter file that happened to have the same defaultvalue that
was specified when the parameter was registered, the returned location
will indicate that the value was set from the file.

Possible answers:

 * '''MCA_BASE_PARAM_SOURCE_DEFAULT:''' no user-specified values were
   found, so the default value was used
 * '''MCA_BASE_PARAM_SOURCE_ENV:''' the value came from the
   environment (which also means the mpirun/orterun command line!)
 * '''MCA_BASE_PARAM_SOURCE_FILE:''' the value came a file (or the
   Windows registry)
 * '''MCA_BASE_PARAM_SOURCE_KEYVAL:''' the value came from a keyval
   (can currently never happen)
 * '''MCA_BASE_PARAM_SOURCE_OVERRIDE:''' the value came from an MCA
   param API "set" function

This commit was SVN r18770.
2008-06-28 15:13:25 +00:00
Jeff Squyres
21c7d95109 Fixes trac:1365: if we're using !^ to negate module inclusion, then don't
bother to check to see whether they exist or not.  Specifically, this
will not cause an error:

{{{
shell$ mpirun --mca btl ^does_not_exist ...
}}}

but neither will this:

{{{
shell$ mpirun --mca btl ^sm ...
}}}

(where the sm BTL ''does'' exist)

This commit was SVN r18760.

The following Trac tickets were found above:
  Ticket 1365 --> https://svn.open-mpi.org/trac/ompi/ticket/1365
2008-06-27 19:42:08 +00:00
Ralph Castain
830ea9dfe6 Reconnect the opal dss debug envar with the debug output
This commit was SVN r18759.
2008-06-27 19:29:18 +00:00
Shiqing Fan
d129578694 Small fix for including unistd.h header file.
This commit was SVN r18758.
2008-06-27 16:25:31 +00:00
Josh Hursey
a003fa7a50 C/R fix for broken CRS component selection resulting from r18707.
Make sure that if we ask for the 'none' component (which is not a 'real' component, but a component in crs/base) then we do not fail out of the box when using tools. We check for the {{{OPAL_ERR_NOT_FOUND}}} error.

Also make sure that component_open() returns {{{OPAL_ERR_NOT_FOUND}}} when it cannot find a value instead of {{{OPAL_ERROR}}} which means something quite a bit different.

C/R is working but the tools still print the warning below everytime they are ran:
{{{
--------------------------------------------------------------------------
A requested component was not found, or was unable to be opened.  This
means that this component is either not installed or is unable to be
used on your system (e.g., sometimes this means that shared libraries
that the component requires are unable to be found/loaded).  Note that
Open MPI stopped checking at the first component that it did not find.

Host:      odin.cs.indiana.edu
Framework: crs
Component: none
--------------------------------------------------------------------------
}}}

I'll have to figure out a work around for this warning (maybe work on the {{{MCA_NULL}}} Ticket #1291).

This commit was SVN r18739.

The following SVN revision numbers were found above:
  r18707 --> open-mpi/ompi@bdaaf01d8a
2008-06-25 14:55:09 +00:00
George Bosilca
2bc52a87d2 Related to my previous commit. The Sicortex is a MIPS machine, so
allow the assembly to understand this.

This commit was SVN r18732.
2008-06-25 03:09:02 +00:00
George Bosilca
872d957550 Allow Open MPI to configure correctly on the Sicortex machine.
This commit was SVN r18731.
2008-06-25 03:07:53 +00:00
Brian Barrett
e9c50a29ba Some (rare) platforms only have a #define for htonl and friends,
but not anything in libc.  Which causes an incorrect answer for
AC_CHECK_FUNCS.  Work around that by also checking for the
#define.

This commit was SVN r18730.
2008-06-24 23:20:25 +00:00
Brian Barrett
e7a299d046 Add timer support for Catamount
This commit was SVN r18729.
2008-06-24 22:13:34 +00:00
Rolf vandeVaart
95cd9758e5 Fix broken build on Solaris.
This commit was SVN r18719.
2008-06-24 14:57:12 +00:00
Ralph Castain
f70b7e51ce Fix a missing header file and ensure we use a portable name for a system limit
This commit was SVN r18712.
2008-06-23 22:32:26 +00:00
Jeff Squyres
bdaaf01d8a Fixes trac:1338: Have the MCA base specifically check for all requested
components.  If they are not found / able to be opened, a warning will
be printed and the mca_base_component_find() will return
OPAL_ERR_NOT_FOUND.  It is the upper-layer's responsibility to handle
this error appropriately.

This commit was SVN r18707.

The following Trac tickets were found above:
  Ticket 1338 --> https://svn.open-mpi.org/trac/ompi/ticket/1338
2008-06-23 16:14:05 +00:00
Ralph Castain
ccbf194e8f Visibility fix
This commit was SVN r18687.
2008-06-19 19:08:08 +00:00
Ralph Castain
26c9ad5799 Clean-up the DSS API to remove two functions that are supposed to be used solely internally to the DSS. These were likely exposed because we need to call them when packing/unpacking declared types, but this means that developers may accidentally use the wrong functions, causing the DSS buffer to get confused. Instead, return the system to the way it used to work and hide those functions.
This commit was SVN r18684.
2008-06-19 18:46:25 +00:00
Pak Lui
188c8bce5d Fix the SEGV when module_get finds that no proc is binded. Also make no-intr available for processor binding.
This commit was SVN r18671.
2008-06-18 16:03:08 +00:00
George Bosilca
f97a728dc6 Dont cast the int32_t pointer into a long pointer. This doesn't work on
64 bits architectures.

This commit was SVN r18667.
2008-06-18 08:33:58 +00:00
Ralph Castain
0532d799d6 Complete implementation of the --without-rte-support configure option. Working with Brian, this has been tested on RedStorm.
Some minor changes to help facilitate debugger support so that both mpirun and yod can operate with it. Still to be completed.

This commit was SVN r18664.
2008-06-18 03:15:56 +00:00
Jeff Squyres
16b2a50543 Slight clarification of help message.
This commit was SVN r18661.
2008-06-17 11:25:32 +00:00
Jeff Squyres
c1d1ffbc56 Fix compile problems on systems with older versions of libnuma (that
don't have MPOL_MF_MOVE).  I know that this is a configure change in
the middle of the US workday, but this compile problem is preventing
work on several kinds of systems (e.g., RHEL4).

This commit was SVN r18659.
2008-06-16 17:26:42 +00:00
Lenny Verkhovsky
dee2f1d175 Adding new functionality to Maffinity component to support NUMA awareness
This commit was SVN r18657.
2008-06-15 07:27:29 +00:00
Brian Barrett
7712b07ac4 Add perl based wrapper compilers for cross-compile environments. The default
is still to use the C based wrapper compilers (which have many more features
and are more well tested).  The Perl compilers are enabled with the option
--enable-script-wrapper-compilers, which also ignores the option
--disable-binaries (ie --enable-script-wrapper-compilers --disable-binaries
will result in perl-based wrapper compilers being installed, but no other
binaries being installed).

This commit was SVN r18655.
2008-06-13 22:52:25 +00:00
Brian Barrett
79ad6d983e - The ptmalloc2 memory manager component is now by default built as
a standalone library named libopenmpi-malloc.  Users wanting to
  use leave_pinned with ptmalloc2 will now need to link the library
  into their application explicitly.  All other users will use the
  libc-provided allocator instead of Open MPI's ptmalloc2.  This change
  may be overriden with the configure option enable-ptmalloc2-internal
- The leave_pinned options will now default to using mallopt on
  Linux in the cases where ptmalloc2 was not linked in.  mallopt
  will also only be available if munmap can be intercepted (the
  default whenever Open MPI is not compiled with --without-memory-
  manager.
- Open MPI will now complain and refuse to use leave_pinned if
  no memory intercept / mallopt option is available.

This commit was SVN r18654.
2008-06-13 22:32:49 +00:00
Ralph Castain
9613b3176c Effectively revert the orte_output system and return to direct use of opal_output at all levels. Retain the orte_show_help subsystem to allow aggregation of show_help messages at the HNP.
After much work by Jeff and myself, and quite a lot of discussion, it has become clear that we simply cannot resolve the infinite loops caused by RML-involved subsystems calling orte_output. The original rationale for the change to orte_output has also been reduced by shifting the output of XML-formatted vs human readable messages to an alternative approach.

I have globally replaced the orte_output/ORTE_OUTPUT calls in the code base, as well as the corresponding .h file name. I have test compiled and run this on the various environments within my reach, so hopefully this will prove minimally disruptive.

This commit was SVN r18619.
2008-06-09 14:53:58 +00:00
Ralph Castain
e1e224b81a Silence a couple of minor compiler warnings
This commit was SVN r18617.
2008-06-09 12:57:41 +00:00
Ralph Castain
7bee71aa59 Fix a potential, albeit perhaps esoteric, race condition that can occur for fast HNP's, slow orteds, and fast apps. Under those conditions, it is possible for the orted to be caught in its original send of contact info back to the HNP, and thus for the progress stack never to recover back to a high level. In those circumstances, the orted can "hang" when trying to exit.
Add a new function to opal_progress that tells us our recursion depth to support that solution.

Yes, I know this sounds picky, but good ol' Jeff managed to make it happen by driving his cluster near to death...

Also ensure that we declare "failed" for the daemon job when daemons fail instead of the application job. This is important so that orte knows that it cannot use xcast to tell daemons to "exit", nor should it expect all daemons to respond. Otherwise, it is possible to hang.

After lots of testing, decide to default (again) to slurm detecting failed orteds. This proved necessary to avoid rather annoying hangs that were difficult to recover from. There are conditions where slurm will fail to launch all daemons (slurm folks are working on it), and yet again, good ol' Jeff managed to find both of them.

Thanks you Jeff! :-/

This commit was SVN r18611.
2008-06-06 19:36:27 +00:00
George Bosilca
b2aa751c28 Remove a race condition in the threaded mode. As a callback is allowed
to modify the callback array (add or remove), make sure we don't call
the same callback twice if it get remove in another thread.

This commit was SVN r18608.
2008-06-06 15:54:40 +00:00
Josh Hursey
1de50b523c Fix some Coverity 'Event set_but_not_used' highlights.
Thanks to Jeff for bringing them to my attention.

This commit was SVN r18606.
2008-06-06 14:38:41 +00:00
Jeff Squyres
12a3fe57e1 As pointed out by Ralf
W. (http://www.open-mpi.org/community/lists/devel/2008/06/4095.php),
these dependencies don't need to be here.

This commit was SVN r18603.
2008-06-06 01:20:47 +00:00
Jeff Squyres
b123629e6a Fix CIDs 458, 716, 717: ensure that strings are long enough to always
be properly \0 terminated.

This commit was SVN r18602.
2008-06-06 00:59:08 +00:00
Jeff Squyres
e2b08aaca4 Fix bad free's found in CID 707 and CID 708.
This commit was SVN r18600.
2008-06-05 20:49:33 +00:00
Lenny Verkhovsky
a8b5dcb204 Added more output info about socket:core pair in paffinity / rankfile components
This commit was SVN r18589.
2008-06-05 10:28:44 +00:00
Ralph Castain
ca91ec525b Add a suffix to the opal_output stream descriptor object - we can now output both a prefix and a suffix for a given stream. Default the suffix to NULL.
Remove lingering references to a filtering system as this will no longer be implemented.

This commit was SVN r18586.
2008-06-04 20:52:20 +00:00
Josh Hursey
78f14b5255 Fix the none.checkpoint command.
orte-checkpoint/orte-restart seem to not seem to totally like orte_output so revert them to opal_output for now. Since we have no need for the additional complexity of orte_output we can drop it for now and revisit this if anyone needs it later.

It seems that if you set the verbose level on an output handle then try to call a normal orte_output() on it then the message will *not* be printed. This is the same for opal_output, and seems incorrect to me because it stops some error messages from being printed out if you do not directly specify opal_output(0, ...). Maybe someone should take a look a this.


orte-checkpoint would segv if passed an incorrect PID. Fixed the return code so it errors out properly.

Thanks to Eric Roman for bringing this to my attention.

This commit was SVN r18583.
2008-06-04 14:44:11 +00:00
Jeff Squyres
530a15baa4 Fix cross-compiling scenario with valgrind.m4.
This commit was SVN r18579.
2008-06-04 11:58:41 +00:00
Shiqing Fan
2dc812f720 Clean configure.m4 of memchecker/valgrind.
If Valgrind is requested but wrong version is supplied, print error messages and stop. 
Save the CPPFLAGS in opal_memchecker_valgrind_CPPFLAGS, which could be used in 
Makefile.am.

Many thanks to Jeff. 

This commit was SVN r18573.
2008-06-04 11:46:50 +00:00
Ralph Castain
9927b2445c Remove the filter framework - the xml support will have to be provided in a different manner that will be implemented shortly
This commit was SVN r18572.
2008-06-04 09:04:51 +00:00
Jeff Squyres
75a97ebbf0 Many thanks to Ralf W. for finding a subtle bug in these Makefile.am's
that can *sometimes* cause problems with "make -j [N>1] install".
Ensure to make the target directory before we copy stuff into it --
read the thread starting here for more details:

    http://www.open-mpi.org/community/lists/devel/2008/06/4080.php

This commit was SVN r18570.
2008-06-04 01:28:03 +00:00
Jeff Squyres
3b568d4b14 Remove an old attempt to understand the tradeoffs with using GNU libc's malloc_hooks functionality, which turned out to be totally unusable in practice. I think we just always forgot to remove them.
This commit was SVN r18547.
2008-05-30 00:11:12 +00:00
Shiqing Fan
b67a1244b6 Some small fixes.
This commit was SVN r18541.
2008-05-29 15:05:28 +00:00
Jeff Squyres
ed5bc2cd08 Per http://www.open-mpi.org/community/lists/devel/2008/05/4057.php, remove the darwin memory hooks component
This commit was SVN r18531.
2008-05-28 23:50:53 +00:00
Sharon Melamed
64fe554b8e Fix bug in carto component select. After the insertion of mca_base_select the carto file component was never selected.
This commit was SVN r18496.
2008-05-26 12:52:41 +00:00
Jeff Squyres
d45cb82ecc Fix two bugs in PLPA:
1. If we don't have the topology information, don't bother trying to
    create cross-referencing information
 1. Ensure to only check for valid processor ID's

This commit was SVN r18462.
2008-05-20 12:57:12 +00:00
Terry Dontje
ef7ac86929 created opal_version_string and orte_version_string to match the ompi changes
made in r18345 for ompi_version_string.  This was done per request from Jeff 
Squyres to maintain consistency and to remove some warnings caused by the 
non-use of some static const char.

This commit was SVN r18461.

The following SVN revision numbers were found above:
  r18345 --> open-mpi/ompi@8dd0421015
2008-05-20 12:13:19 +00:00
Jeff Squyres
ea1582856f Clarify some messages, move AC_ARG_WITH outside of the conditional
This commit was SVN r18459.
2008-05-19 23:13:31 +00:00
Jeff Squyres
d12b21e21b Ensure that if an error occurs, we actually return that error rather
than an undefined value (which could be 0/OPAL_SUCCESS).

This commit was SVN r18452.
2008-05-19 11:57:44 +00:00
Terry Dontje
517abf9b09 This commit fixes trac:1288.
This commit was SVN r18441.

The following Trac tickets were found above:
  Ticket 1288 --> https://svn.open-mpi.org/trac/ompi/ticket/1288
2008-05-15 17:40:08 +00:00
Jeff Squyres
fb17097de4 Make ompi_info correctly display "filter" components
This commit was SVN r18435.
2008-05-13 20:56:20 +00:00
Jeff Squyres
e7ecd56bd2 This commit represents a bunch of work on a Mercurial side branch. As
such, the commit message back to the master SVN repository is fairly
long.

= ORTE Job-Level Output Messages =

Add two new interfaces that should be used for all new code throughout
the ORTE and OMPI layers (we already make the search-and-replace on
the existing ORTE / OMPI layers):

 * orte_output(): (and corresponding friends ORTE_OUTPUT,
   orte_output_verbose, etc.)  This function sends the output directly
   to the HNP for processing as part of a job-specific output
   channel.  It supports all the same outputs as opal_output()
   (syslog, file, stdout, stderr), but for stdout/stderr, the output
   is sent to the HNP for processing and output.  More on this below.
 * orte_show_help(): This function is a drop-in-replacement for
   opal_show_help(), with two differences in functionality:
   1. the rendered text help message output is sent to the HNP for
      display (rather than outputting directly into the process' stderr
      stream)
   1. the HNP detects duplicate help messages and does not display them
      (so that you don't see the same error message N times, once from
      each of your N MPI processes); instead, it counts "new" instances
      of the help message and displays a message every ~5 seconds when
      there are new ones ("I got X new copies of the help message...")

opal_show_help and opal_output still exist, but they only output in
the current process.  The intent for the new orte_* functions is that
they can apply job-level intelligence to the output.  As such, we
recommend that all new ORTE and OMPI code use the new orte_*
functions, not thei opal_* functions.

=== New code ===

For ORTE and OMPI programmers, here's what you need to do differently
in new code:

 * Do not include opal/util/show_help.h or opal/util/output.h.
   Instead, include orte/util/output.h (this one header file has
   declarations for both the orte_output() series of functions and
   orte_show_help()).
 * Effectively s/opal_output/orte_output/gi throughout your code.
   Note that orte_output_open() takes a slightly different argument
   list (as a way to pass data to the filtering stream -- see below),
   so you if explicitly call opal_output_open(), you'll need to
   slightly adapt to the new signature of orte_output_open().
 * Literally s/opal_show_help/orte_show_help/.  The function signature
   is identical.

=== Notes ===

 * orte_output'ing to stream 0 will do similar to what
   opal_output'ing did, so leaving a hard-coded "0" as the first
   argument is safe.
 * For systems that do not use ORTE's RML or the HNP, the effect of
   orte_output_* and orte_show_help will be identical to their opal
   counterparts (the additional information passed to
   orte_output_open() will be lost!).  Indeed, the orte_* functions
   simply become trivial wrappers to their opal_* counterparts.  Note
   that we have not tested this; the code is simple but it is quite
   possible that we mucked something up.

= Filter Framework =

Messages sent view the new orte_* functions described above and
messages output via the IOF on the HNP will now optionally be passed
through a new "filter" framework before being output to
stdout/stderr.  The "filter" OPAL MCA framework is intended to allow
preprocessing to messages before they are sent to their final
destinations.  The first component that was written in the filter
framework was to create an XML stream, segregating all the messages
into different XML tags, etc.  This will allow 3rd party tools to read
the stdout/stderr from the HNP and be able to know exactly what each
text message is (e.g., a help message, another OMPI infrastructure
message, stdout from the user process, stderr from the user process,
etc.).

Filtering is not active by default.  Filter components must be
specifically requested, such as:

{{{
$ mpirun --mca filter xml ...
}}}

There can only be one filter component active.

= New MCA Parameters =

The new functionality described above introduces two new MCA
parameters:

 * '''orte_base_help_aggregate''': Defaults to 1 (true), meaning that
   help messages will be aggregated, as described above.  If set to 0,
   all help messages will be displayed, even if they are duplicates
   (i.e., the original behavior).
 * '''orte_base_show_output_recursions''': An MCA parameter to help
   debug one of the known issues, described below.  It is likely that
   this MCA parameter will disappear before v1.3 final.

= Known Issues =

 * The XML filter component is not complete.  The current output from
   this component is preliminary and not real XML.  A bit more work
   needs to be done to configure.m4 search for an appropriate XML
   library/link it in/use it at run time.
 * There are possible recursion loops in the orte_output() and
   orte_show_help() functions -- e.g., if RML send calls orte_output()
   or orte_show_help().  We have some ideas how to fix these, but
   figured that it was ok to commit before feature freeze with known
   issues.  The code currently contains sub-optimal workarounds so
   that this will not be a problem, but it would be good to actually
   solve the problem rather than have hackish workarounds before v1.3 final.

This commit was SVN r18434.
2008-05-13 20:00:55 +00:00
Josh Hursey
c70ba283b8 Fix a warning, and some return codes.
Thanks to Jeff for pointing this out to me.

This commit was SVN r18430.
2008-05-13 13:10:16 +00:00
Josh Hursey
4236255700 Add the framework name to the verbose message for improved debugging.
Also set the 'best_priority' to the smallest 32 bit integer possible so negaive priority component can be selected if they are the highest ranking component available.

This commit was SVN r18427.
2008-05-12 14:07:37 +00:00
Rainer Keller
b0cbeb0b41 - Add detection of __attribute__((hot)) and __attribute__((cold))
to allow explicit grouping of hot functions into similar code
   sections upon link-time. Should decrease TLB misses (iff the code-
   section is really too large)...
   Candidates for __opal_attribute_hot__ are MPI_Isend MPI_Irecv,
   MPI_Wait, MPI_Waitall
   Candidates for __opal_attribute_cold__ are MPI_Init, MPI_Finalize and
   MPI_Abort...

This commit was SVN r18421.
2008-05-10 10:38:51 +00:00
Josh Hursey
9b0cd5b02a Remove the 'include' check from mca_base_select. include/exclude is handled by the mca_base_open functionality and it is redundant (and wrong) to check this in the select function.
Thanks to Pak Lui for bringing this to my attention.

This commit was SVN r18418.
2008-05-08 23:41:07 +00:00
Josh Hursey
da2f1c58e2 Some checkpoint/restart cleanup.
* Remove the opal_only option. This was suffering from bit rot, and no one uses it. It can be added back fairly easily if wanted.
 * Cleanup metadata interactions at the local level.
 * Touch up some of the INC funcitonality (fix typos and a minor ordering issue)

This commit was SVN r18416.
2008-05-08 18:47:47 +00:00
Josh Hursey
8739edc580 Fix a couple of missing OPAL_DECLSPEC missing from r18407
This commit was SVN r18415.

The following SVN revision numbers were found above:
  r18407 --> open-mpi/ompi@7c7b9b0486
2008-05-08 18:44:23 +00:00
George Bosilca
fe495e429a Completely remove the kqueue support on MAC OS X. Remove the test
from kqueue that try to detect if kqueue might works with ptys.

This commit was SVN r18411.
2008-05-08 02:33:23 +00:00
Ralph Castain
7c7b9b0486 Do a little cleanup on the opal graph class and opal carto framework to conform to OMPI naming conventions and avoid potential conflict with user applications - no change in functionality, passes carto test program
This commit was SVN r18407.
2008-05-07 19:33:49 +00:00
Josh Hursey
9971bc9d95 Merge in the mca_base_select changes per RFC:
http://www.open-mpi.org/community/lists/devel/2008/04/3779.php

{{{
svn merge -r 18276:18380 https://svn.open-mpi.org/svn/ompi/tmp-public/jjh-mca-play .
}}}

Any components not in the trunk, but in one of the effected frameworks *must* be
updated. Contact the list, look at the RFC, or look at the diff for how to do this.

Sorry for the early commit of this, but I wanted to get it in today (per RFC) and
didn't know if I would have a chance later today.

This commit was SVN r18381.
2008-05-06 18:08:45 +00:00
Aurelien Bouteiller
c06620ad70 Add a const to the parameters of opal_dss_compare.
This commit was SVN r18374.
2008-05-05 19:12:01 +00:00
Brad Penoff
4f104ba5d1 Add header for FreeBSD.
This commit was SVN r18366.
2008-05-03 23:07:45 +00:00
George Bosilca
f5dfc005a4 Only check for /proc/cpuinfo if we are on a supported architecture.
This commit was SVN r18331.
2008-04-29 22:36:18 +00:00
George Bosilca
465f690f90 We need to force the compiler to preprocess these files as some of
them use #include. The standard way is to rename to file .S instead
of .s.

This commit was SVN r18290.
2008-04-24 21:40:40 +00:00
Josh Hursey
2c736873bb Fix a checkpoint/restart bug that causes a restarted application to occasionally throw a SIGSEGV or SIGPIPE due to invalid socket descriptors.
The problem was caused by a bad ordering between the restart of the ORTE level tcp connections (in the OOB - out-of-band communication) and the Open MPI level tcp connections (BTLs). Before this commit ORTE would shutdown and restart the OOB completely before the OMPI level restarted its tcp connections. What would happen is that a socket descriptor used by the OMPI level on checkpoint was assigned to the ORTE level on restart. But the OMPI level had no knowledge that the socket descriptor it was previously using has been recycled so it closed it on restart. This caused the ORTE level to break as the newly created socket descriptor was closed without its knowledge.

The fix is to have the OMPI level shutdown tcp connections, allow the ORTE level to restart, and then allow the OMPi level to restart its connections. This seems obvious, and I'm surprised that this bug has not cropped up sooner. I'm confident that this specific problem has been fixed with this commit.

Thanks to Eric Roman and Tamer El Sayed for their help in identifying this problem, and patience while I was fixing it.

 * Add a new state {{{OPAL_CRS_RESTART_PRE}}}. This state identifies when we are on the down slope of the INC (finalize-like) which is useful when you want to close, but not reopen a component set for fear of interfering with a lower level.
 * Use this new state in OMPI level coordination. Here we want to make sure to play well with both the OMPI/BTL/TCP and ORTE/OOB/TCP components.
 * Update ft_event functions in PML and BML to handle the new restart state.
 * Add an additional flag to the error output in OOB/TCP so we can see what the socket descriptor was on failure as this can be helpful in debugging.

This commit was SVN r18276.
2008-04-24 17:54:22 +00:00
Shiqing Fan
4a9787979e When valgrind is not available or it is deselected (--without-valgrind, --with-valgrind=no), don't compile this component, continue without abortion.
This commit was SVN r18243.
2008-04-23 11:50:42 +00:00
Josh Hursey
cc83d41ad9 Merge in tmp/jjh-scratch
{{{
 svn merge -r 18218:18240 https://svn.open-mpi.org/svn/ompi/tmp/jjh-scratch .
}}}

Contains:
 * Primarily a fix for a user reported problem where a cached file descriptor is causing a SIGPIPE on restart.
 * Cleanup some small memory leaks from using mca_base_param_env_var() - Thanks Jeff
 * Cleanup ORTE FT tool compilation in non-FT builds - Thanks Tim P.
 * Cleanup mpi interface with missplaced {{{OPAL_CR_ENTER_LIBRARY}}} - Thanks Terry
 * Some other sundry cleanup items all dealing with C/R functionality in the trunk.

This commit was SVN r18241.
2008-04-23 00:17:12 +00:00
Jeff Squyres
db2695ccab Make the symbols be visible.
This commit was SVN r18201.
2008-04-18 00:26:17 +00:00
Ralph Castain
fa082cafa9 Shift the architecture calculation from the ompi/datatype engine to the opal/util area. This allows us to compute the architecture earlier in the launch and communicate it outside of the modex.
Note: this is an early preliminary step in the movement of portions of the datatype engine to the opal layer.

This commit was SVN r18198.
2008-04-17 20:43:56 +00:00
George Bosilca
01148b77dc Generate the help message for the available event ops. Now the list only
contains the one that are compiled on the current ompi.

This commit was SVN r18196.
2008-04-17 18:16:54 +00:00
Ralph Castain
e7487ad533 Implement the seq rmaps module that sequentially maps process ranks to a list hosts in a hostfile.
Restore the "do-not-launch" functionality so users can test a mapping without launching it.

Add a "do-not-resolve" cmd line flag to mpirun so the opal/util/if.c code does not attempt to resolve network addresses, thus enabling a user to test a hostfile mapping without hanging on network resolve requests.

Add a function to hostfile to generate an ordered list of host names from a hostfile

This commit was SVN r18190.
2008-04-17 13:50:59 +00:00
Shiqing Fan
49fbc4e795 These functions should always have a return value.
This commit was SVN r18174.
2008-04-16 13:54:15 +00:00
George Bosilca
b359d84661 Use the correct prefix.
This commit was SVN r18048.
2008-03-31 21:42:59 +00:00
George Bosilca
be2454e0c5 Default the temporary directory to /tmp if no special environment
variables are set.

This commit was SVN r18046.
2008-03-31 20:15:49 +00:00
George Bosilca
ee784b601e For consistency reasons always use opal_home_directory and
opal_tmp_directory.

This commit was SVN r18043.
2008-03-31 18:13:41 +00:00
George Bosilca
60111ce66d Few less warnings.
This commit was SVN r18025.
2008-03-30 19:06:49 +00:00
Lenny Verkhovsky
fa6a084d33 added opal/mca/paffinity/base/paffinity_base_service.c with paffinity functions
This commit was SVN r18020.
2008-03-30 12:01:02 +00:00
Lenny Verkhovsky
7e45d7e134 Few updates due to RMAPS rank_file component changes
1. applied prefix rule to functions and variables of RMAPS rank_file component
2. cleaned ompi_mpi_init.c from paffinity code
3. paffinity code moved to new opal/mca/paffinity/base/paffinity_base_service.c file
4. added opal_paffinity_slot_list mca parameter

This commit was SVN r18019.
2008-03-30 11:52:11 +00:00
Shiqing Fan
f82092566f We don't have inttypes.h on Windows, and some types are redefined.
This commit was SVN r18010.
2008-03-28 17:33:54 +00:00
Shiqing Fan
aaf2730fab Winsock2.h also has definition for timeval and so on, it conflicts with our own definitions.
This commit was SVN r18009.
2008-03-28 17:30:33 +00:00
Jeff Squyres
6ea36061cf Fix typo found by Pak.
This commit was SVN r18000.
2008-03-27 23:04:17 +00:00
Jeff Squyres
c06f7c3992 Fixes trac:1254: ensure that evport.c is in the distribution tarball.
This commit was SVN r17989.

The following Trac tickets were found above:
  Ticket 1254 --> https://svn.open-mpi.org/trac/ompi/ticket/1254
2008-03-27 16:40:55 +00:00
Sharon Melamed
afa98f92e8 Changed the for loop to a while loop so I could
release the edge without conflicting with get next.

This commit was SVN r17979.
2008-03-26 14:45:45 +00:00
Jeff Squyres
33c09b30c2 Patch from George: ensure that we don't overwrite timer_linux_happy
improperly when checking the host type.

This commit was SVN r17975.
2008-03-26 11:22:57 +00:00
George Bosilca
4a5431ef11 Remove the event-config.h file, it is never used.
Correct the include logic that protect the headers. It's amazing
that this didn't bite us yet ...

This commit was SVN r17971.
2008-03-26 03:33:43 +00:00
George Bosilca
64bc580c78 Use evutil_timercmp instead of timercmp to take advantage of the
fallback installed in evutil.h.

This commit was SVN r17968.
2008-03-25 23:54:30 +00:00
George Bosilca
2e46a53b0a Avoid strcpy if its not really required.
This commit was SVN r17962.
2008-03-25 22:40:20 +00:00
George Bosilca
028c7391d3 Coverty fix: Replace strcpy by strncpy.
This commit was SVN r17961.
2008-03-25 22:39:24 +00:00
George Bosilca
6717b2dc75 Add the Solaris evport to the list of available event subsystems.
This commit was SVN r17958.
2008-03-25 18:00:40 +00:00
Jeff Squyres
763218e754 Fix #1253: default libevent to use select/poll and only use the other
mechanisms (such as epoll) if someone (ompi_mpi_init()) requests
otherwise.  See big comment in opal/event/event.c for a full
explanation.

This commit was SVN r17956.
2008-03-25 17:18:17 +00:00
George Bosilca
03c10e2a85 Add the Solaris evport support.
This commit was SVN r17954.
2008-03-25 16:44:27 +00:00
George Bosilca
9222ea0d0a Cast the uintptr_t to int when playing with fds.
This commit was SVN r17925.
2008-03-23 18:16:29 +00:00
Jeff Squyres
8239e40607 Add header for OS X.
This commit was SVN r17924.
2008-03-23 12:57:57 +00:00
Jeff Squyres
314ab2c6e7 Update internal libevent to upstream (v1.4.2-rc + OMPI changes).
Greatly reduce the number of "foo" -> "opal_foo" symbol renames in the
libevent source, and instead greatly expand the event_rename.h file
that uses preprocessor macros to make all public symbols be
"opal_foo".

This commit was SVN r17923.
2008-03-23 12:33:04 +00:00
Jeff Squyres
dee561d29e Per recent off-list discussions about the build system, I have done
some cleanups and standardizations in the various */tools/*/ 
Makefile.am files.  This commit:

 * Somewhat simplify the tool Makefile.am's 
 * Makes the tool Makefile.am's consistent with each other (do similar
   actions in similar ways)
 * Update the tool Makefile.am's to remove old kruft that was required
   by older versions of AM (trunk requires AM >=1.10)

This commit was SVN r17921.
2008-03-22 02:04:05 +00:00
Jeff Squyres
05a7b1ed55 Remove svn:executable from these files.
This commit was SVN r17918.
2008-03-21 21:16:11 +00:00
Jeff Squyres
a4ec8a9d53 Spring cleaning -- no one is using this stuff; remove it from the tree.
This commit was SVN r17913.
2008-03-21 17:14:42 +00:00
Jeff Squyres
e0fb3957cb Patch from Brian:
* The opal_sys_timer_get_cycles() call was implemented for
   Sparc v9 using inline assembly, but not in the assembly files.
   This would only currently matter on Linux Sparc systems using
   a compiler that didn't support inline assembly (not many of
   those), but it should be there for completion.
 * The linux timer component would always build on non-Alpha
   platforms, rather than only building on platforms where
   opal_sys_timer_get_cycles() was implemented.  This would
   only matter on a very narrow set of platforms that we don't
   really support, but still, it could be more right.  We now
   only build the component on platforms where we have the
   assembly call to get the cycle counter.
 * Added a comment to opal/sys/timer.h to note that the linux
   timer component needed to be updated if another platform was
   added.

This should be harmless to commit.  It will only really change
behaviors on platforms we don't have assembly support for, which
currently won't make it through configure.  It really only matters
when (if?) we support atomic operations through libatomic_ops.

This commit was SVN r17887.
2008-03-20 00:29:36 +00:00
George Bosilca
3997639ec6 Hide what should be hidden, and expose the others. Plus some indentation.
This commit was SVN r17856.
2008-03-18 03:00:08 +00:00
Jeff Squyres
f443644bfe From Brian B.:
This commit lowers the priority of the darwin backtrace component
below that of the ''execinfo'' and ''stackprint'' components, which
will cause OS X Leopard to use the ''execinfo'' component.  execinfo
utilizes a public API for printing the stacktrace.  The ''darwin''
component uses some evil hacks and a not-so supported package from
Apple to print the stack trace.  

This commit was SVN r17840.
2008-03-17 13:39:25 +00:00
Jeff Squyres
9b18b0e9c6 Fix visibility symbols on OS X
This commit was SVN r17838.
2008-03-17 13:18:12 +00:00
George Bosilca
210631962c Add two convenience functions in order to make sure we get these
environment variables in a consistent manner. These functions
retrieve the user and the temporary directories (based on the
system).

This commit was SVN r17815.
2008-03-13 17:56:44 +00:00
Jon Mason
2e8a316ae6 opal_evtimer_initialized is missing the opening '('
This commit was SVN r17814.
2008-03-12 20:33:22 +00:00
Sharon Melamed
4a8e2a2648 Renove status check from carto initiation.
This commit was SVN r17812.
2008-03-12 08:55:28 +00:00
George Bosilca
4267f2b967 This symbol have to be visible.
This commit was SVN r17793.
2008-03-08 23:53:17 +00:00
Rainer Keller
32dcd9e551 - Adding #include <stdbool.h> with protection in r17488 and r17504
seemed to be the right thing(tm), but broke the Sun Studio C++
   compiler under Linux (ticket 747).

   This patch should allow inclusion into C and C++ from other header
   files without problems.

This commit was SVN r17792.

The following SVN revision numbers were found above:
  r17488 --> open-mpi/ompi@d53131f261
  r17504 --> open-mpi/ompi@b22e8e7567
2008-03-08 12:53:10 +00:00
Josh Hursey
aaff245271 A couple verbose additions. Poll the event engine while waiting for the
named pipe.

This commit was SVN r17787.
2008-03-07 21:10:14 +00:00
Jeff Squyres
b2ed2b95aa Fix filename so that the help file can be found.
This commit was SVN r17759.
2008-03-06 14:44:47 +00:00
Rolf vandeVaart
91af56db00 Fix a few typos so this compiles on Solaris. Remove some trailing spaces.
This commit was SVN r17746.
2008-03-05 20:16:00 +00:00
Aurelien Bouteiller
c280b81e40 Revert the last patch. Still some warning should be issued on ia32 architectures. Looking for a fix.
This commit was SVN r17745.
2008-03-05 17:20:11 +00:00
Josh Hursey
612ebdc2ac Cleanup some symbol visability issues.
This commit was SVN r17733.
2008-03-05 13:59:25 +00:00
Josh Hursey
3b4073e32c This commit fixes the checkpoint/restart functionality on the trunk. Included in this commit are:
* Extension to the ESS framework to support C/R
 * Fixed support for {{{snapc_base_establish_global_snapshot_dir}}}
 * Fixed FileM support
 * Misc. minor code modifications

There are some outstanding visability issues that I want to fix next.

This commit was SVN r17725.
2008-03-05 04:57:23 +00:00
Jeff Squyres
ea5c0cb4a2 Now that the nightly tarball has safely been made, let's try this
commit again.  Remove the svn:ignore from problematic directories and
try a merge from /tmp-public/plpa-merge-area2.

This commit was SVN r17718.
2008-03-05 02:45:15 +00:00
Jeff Squyres
8189fcc7d5 Back out r17702; it went very badly.
This commit was SVN r17704.

The following SVN revision numbers were found above:
  r17702 --> open-mpi/ompi@3df754ebd7
2008-03-05 00:42:39 +00:00
Jeff Squyres
3df754ebd7 Bring over PLPA v1.1 from /tmp-public/plpa-v1.1 branch.
This commit was SVN r17702.
2008-03-05 00:16:49 +00:00