1
1

578 Коммитов

Автор SHA1 Сообщение Дата
Abhishek Kulkarni
afbe3e99c6 * Wrap all the direct error-code checks of the form (OMPI_ERR_* == ret) with
(OMPI_ERR_* = OPAL_SOS_GET_ERR_CODE(ret)), since the return value could be a
 SOS-encoded error. The OPAL_SOS_GET_ERR_CODE() takes in a SOS error and returns
 back the native error code.

* Since OPAL_SUCCESS is preserved by SOS, also change all calls of the form
  (OPAL_ERROR == ret) to (OPAL_SUCCESS != ret). We thus avoid having to
  decode 'ret' to get the native error code.

This commit was SVN r23162.
2010-05-17 23:08:56 +00:00
Abhishek Kulkarni
b0e963299a Adding a new function to return the stack trace (not including the call to the function itself)
as a string (which must be freed by the caller).

This commit was SVN r23160.
2010-05-17 22:57:42 +00:00
Abhishek Kulkarni
5e05546194 Adding SOS headers and package data to the Makefile.
This commit was SVN r23159.
2010-05-17 22:53:33 +00:00
Abhishek Kulkarni
4e33e6aeaa Merge OPAL SOS into the trunk.
The OPAL SOS framework tries to meet the following objectives:

 * reduce the cascading error messages and the amount of code needed to print an error message.
 * build and aggregate stacks of encountered errors and associate related individual errors with each other.
 * allow registration of custom callbacks to intercept error events.

For more information, refer to
https://svn.open-mpi.org/trac/ompi/wiki/ErrorMessages

This commit was SVN r23158.
2010-05-17 22:51:52 +00:00
Jeff Squyres
8a85c4617f Fixes trac:2366: dragonboy noticed that the PGI compiler is picky about
#if directives -- had to change a pair of #if conditionals in
opal/util/stacktrace.c to make the PGI compiler accept it.

This commit was SVN r22923.

The following Trac tickets were found above:
  Ticket 2366 --> https://svn.open-mpi.org/trac/ompi/ticket/2366
2010-04-01 17:04:06 +00:00
Jeff Squyres
c26dae01ce Update the if.c code to properly use the OBJ_* system.
This commit was SVN r22869.
2010-03-23 20:37:06 +00:00
Rainer Keller
814fb9399f - Further patches for support on NetBSD (and DragonFly) by
Aleksej Saushev.
   Dont use bash or bashism in shell scripts
   We should use Posix' setpgid(0,0), which is equivalent to setpgrp().

This commit was SVN r22829.
2010-03-15 05:33:42 +00:00
Josh Hursey
e9b5162d79 Fix the configure logic for --with-ft so that it properly takes a comma separated list.
Many of the OPAL_ENABLE_FT should be OPAL_ENABLE_FT_CR, so fix those.

The OPAL Layer INC should call opal_output on restart so that it can refresh the string it prints to reflect the current pid/hostname which may have changed.

This commit was SVN r22824.
2010-03-12 23:57:50 +00:00
Ralph Castain
8c7f3a0c44 Silence warnings by correctly identifying when we are on a Mac
This commit was SVN r22724.
2010-02-27 08:15:49 +00:00
Iain Bason
7445b23e0d Fixed a minor typo.
This commit was SVN r22706.
2010-02-24 19:05:19 +00:00
Terry Dontje
cfe37fb5a1 Fixed issue with detecting root dir and used appropriate defines for solaris detection
This commit was SVN r22686.
2010-02-23 15:58:49 +00:00
Rainer Keller
a46cecf4f2 - Use strrchr instead of loop for '/' as Nysal suggests.
This commit was SVN r22649.
2010-02-17 23:40:08 +00:00
Jeff Squyres
17f0885f12 Add proper BSD interface detection code. Fixes a long-standing
discussion on the users list (see
http://www.open-mpi.org/community/lists/users/2009/12/11526.php). 

Many thanks to Kevin Buckley who did most of the coding work, and to
Aleksej Saushev for his extreme patience in waiting for me to review
and commit this stuff.

This commit was SVN r22640.
2010-02-17 19:43:57 +00:00
Nysal Jan
0538b1a948 Adding GPFS to the list of file systems checked
This commit was SVN r22612.
2010-02-12 14:15:39 +00:00
Rainer Keller
ea4de16561 - Check whether file is opened on network file-system.
If file does not exist, check the directory it lives in...
   Maybe used by caller, trying to open mmap() on NFS, Lustre or
   Panasas (thanks Sam).
   For now, this is used to warn about the usage of mmap on such FS.

   Please note, that Ralph mentioned the orte_no_session_dir parameter.
   The help message includes a reference to this.

   Tested on NFS and Lustre on Linux on
     smoky: mpirun --mca orte_tmpdir_base $HOME/tmp -np 2 ./mpi_stub
     jaguar: mpirun ... --mca orte_tmpdir_base /tmp/work/$USER ...

   Fixes trac:1354

   This should   cmr:v1.5   once it has soaked and is shown to work on
   Solaris

This commit was SVN r22604.

The following Trac tickets were found above:
  Ticket 1354 --> https://svn.open-mpi.org/trac/ompi/ticket/1354
2010-02-10 23:18:29 +00:00
Brian Barrett
86d8356b13 Updates to allow OMPI to build on Cray XT platforms running Catamount
This commit was SVN r22381.
2010-01-07 18:14:03 +00:00
George Bosilca
e55f89dda7 Add a format to stop the complaining.
This commit was SVN r22276.
2009-12-08 17:26:42 +00:00
Rainer Keller
4ce710a147 - The internal function may fail make_opt (e.g. OPAL_ERR_OUT_OF_RESOURCE),
pass that on to callers of opal_cmd_line_make_opt_mca().
   Thanks to Thomas Naughton III.

 - Additionally, cmd-line parameters passed in table to opal_cmd_line_create()
   may be wrong (e.g. OPAL_ERR_BAD_PARAM), which may be missed in the
   loop.

This commit was SVN r22153.
2009-10-28 15:14:31 +00:00
Ralph Castain
c991d155f4 Fix a minor omission in opal/util/path. If someone provides a relative path to the current working directory, without starting it with a
'.', we should still find the executable - it is in a directory beneath us.

In other words, if someone gives us "foo/bar" instead of "./foo/bar", we should still be able to find bar

This commit was SVN r22110.
2009-10-20 04:05:16 +00:00
Ralph Castain
c58a30ea10 Add two new functions:
1. check for loopback interface

2. convert tuple addresses to ip addrs + mask

This commit was SVN r22080.
2009-10-09 15:24:41 +00:00
George Bosilca
b04a42ba3b Add the format to the opal_output call.
This commit was SVN r22041.
2009-09-30 23:33:12 +00:00
Ralph Castain
84a45fea0a Add a convenience macro for assembling network addresses
This commit was SVN r22036.
2009-09-30 14:38:52 +00:00
Ralph Castain
176fdd3a83 Add a new API to the show_help system that allows external users (e.g., libraries built upon OMPI) to define their own locations for show_help files. This allows such users to exploit the rather nice features of the OPAL show_help system -without- interfering with the ability of the ORTE and OMPI layers to use show_help themselves.
Reviewed by Jeff to protect toes...and to get some good comments :-)

This commit was SVN r22026.
2009-09-29 02:07:46 +00:00
Ralph Castain
7765c71428 Add a macro for formatting IP addresses for printing
This commit was SVN r21985.
2009-09-22 00:53:54 +00:00
Rainer Keller
8e1b23779f - Replace combinations of
#if defined (c_plusplus)
          defined (__cplusplus)
   followed by
      extern "C" {
   and the closing counterpart by BEGIN_C_DECLS and END_C_DECLS.

   Notable exceptions are:
    - opal/include/opal_config_bottom.h:
      This is our generated code, that itself defines BEGIN_C_DECL and
      END_C_DECL
    - ompi/mpi/cxx/mpicxx.h:
      Here we do not include opal_config_bottom.h:                                 
    - Belongs to external code:                                                    
      opal/mca/backtrace/darwin/MoreBacktrace/MoreDebugging/MoreBacktrace.c        
      opal/mca/backtrace/darwin/MoreBacktrace/MoreDebugging/MoreBacktrace.h        
    - opal/include/opal/prefetch.h:
      Has C++ specific macros that are protected:                                  

    - Had #if ... } #endif  _and_ END_C_DECLS (aka end up with 2x
      END_C_DECLS)
      ompi/mca/btl/openib/btl_openib.h
    - opal/event/event.h has #ifdef __cplusplus as BEGIN_C_DECLS...
    - opal/win32/ompi_process.h: had extern "C"\n {...
      opal/win32/ompi_process.h: dito
    - ompi/mca/btl/pcie/btl_pcie_lex.l: needed to add *_C_DECLS
      ompi/mpi/f90/test/align_c.c: dito
    - ompi/debuggers/msgq_interface.h: used #ifdef __cplusplus
    - ompi/mpi/f90/xml/common-C.xsl: Amend

   Tested on linux using --with-openib and --with-mx

   The following do not contain either opal_config.h, orte_config.h or
   ompi_config.h
   (but possibly other header files, that include one of the above):
      ompi/mca/bml/r2/bml_r2_ft.h
      ompi/mca/btl/gm/btl_gm_endpoint.h
      ompi/mca/btl/gm/btl_gm_proc.h
      ompi/mca/btl/mx/btl_mx_endpoint.h
      ompi/mca/btl/ofud/btl_ofud_endpoint.h
      ompi/mca/btl/ofud/btl_ofud_frag.h
      ompi/mca/btl/ofud/btl_ofud_proc.h
      ompi/mca/btl/openib/btl_openib_mca.h
      ompi/mca/btl/portals/btl_portals_endpoint.h
      ompi/mca/btl/portals/btl_portals_frag.h
      ompi/mca/btl/sctp/btl_sctp_endpoint.h
      ompi/mca/btl/sctp/btl_sctp_proc.h
      ompi/mca/btl/tcp/btl_tcp_endpoint.h
      ompi/mca/btl/tcp/btl_tcp_ft.h
      ompi/mca/btl/tcp/btl_tcp_proc.h
      ompi/mca/btl/template/btl_template_endpoint.h
      ompi/mca/btl/template/btl_template_proc.h
      ompi/mca/btl/udapl/btl_udapl_eager_rdma.h
      ompi/mca/btl/udapl/btl_udapl_endpoint.h
      ompi/mca/btl/udapl/btl_udapl_mca.h
      ompi/mca/btl/udapl/btl_udapl_proc.h
      ompi/mca/mtl/mx/mtl_mx_endpoint.h
      ompi/mca/mtl/mx/mtl_mx.h
      ompi/mca/mtl/psm/mtl_psm_endpoint.h
      ompi/mca/mtl/psm/mtl_psm.h
      ompi/mca/pml/cm/pml_cm_component.h
      ompi/mca/pml/csum/pml_csum_comm.h
      ompi/mca/pml/dr/pml_dr_comm.h
      ompi/mca/pml/dr/pml_dr_component.h
      ompi/mca/pml/dr/pml_dr_endpoint.h
      ompi/mca/pml/dr/pml_dr_recvfrag.h
      ompi/mca/pml/example/pml_example.h
      ompi/mca/pml/ob1/pml_ob1_comm.h
      ompi/mca/pml/ob1/pml_ob1_component.h
      ompi/mca/pml/ob1/pml_ob1_endpoint.h
      ompi/mca/pml/ob1/pml_ob1_rdmafrag.h
      ompi/mca/pml/ob1/pml_ob1_recvfrag.h
      ompi/mca/pml/v/pml_v_output.h
      opal/include/opal/prefetch.h
      opal/mca/timer/aix/timer_aix.h
      opal/util/qsort.h
      test/support/components.h

This commit was SVN r21855.

The following SVN revision numbers were found above:
  r2 --> open-mpi/ompi@58fdc18855
2009-08-20 11:42:18 +00:00
Rainer Keller
c3226b36b7 - It's BUS_ADRERR, not BUSADRERR...
- Fix typos.

This commit was SVN r21808.
2009-08-12 13:07:04 +00:00
George Bosilca
81c16ac317 Add missing header.
This commit was SVN r21653.
2009-07-13 19:40:31 +00:00
Jeff Squyres
d7d07e0720 Improve the help messages from r20706.
This commit was SVN r21616.

The following SVN revision numbers were found above:
  r20706 --> open-mpi/ompi@248bbb8a2f
2009-07-09 11:58:31 +00:00
George Bosilca
2570a15651 Add a TODO bullet for later processing ...
This commit was SVN r21611.
2009-07-07 17:27:47 +00:00
Shiqing Fan
0e09cb650e The kernel index of the network interface wasn't set on Windows, it really caused a lot of problems.
This commit was SVN r21587.
2009-07-02 14:44:41 +00:00
Rainer Keller
b572dc3591 - As discussed revert r21330, Fortran-configure info should
not end up in OPAL
 - Will post an updated patch for the OMPI_ALIGNMENT_ parts (within C).

This commit was SVN r21342.

The following SVN revision numbers were found above:
  r21330 --> open-mpi/ompi@95596d1814
2009-06-01 19:02:34 +00:00
Rainer Keller
95596d1814 - Move alignment and size output generated by configure-tests
into the OPAL namespace, eliminating cases like opal/util/arch.c
   testing for ompi_fortran_logical_t.
   As this is processor- and compiler-related information
   (e.g. does the compiler/architecture support REAL*16)
   this should have been on the OPAL layer.
 - Unifies f77 code using MPI_Flogical instead of opal_fortran_logical_t

 - Tested locally (Linux/x86-64) with mpich and intel testsuite
   but would like to get this week-ends MTT output


 - PLEASE NOTE: configure-internal macro-names and
   ompi_cv_ variables have not been changed, so that
   external platform (not in contrib/) files still work.

This commit was SVN r21330.
2009-05-30 15:54:29 +00:00
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
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
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
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
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
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
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
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
George Bosilca
b7c1ae4f76 Nothing important, just an identation.
This commit was SVN r20919.
2009-04-01 15:27:16 +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
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