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

229 Коммитов

Автор SHA1 Сообщение Дата
Josh Hursey
0404444dbe * Added 2 new MCA parameters
- mca_base_param_file_prefix
     (Default: NULL)
     This is the fullname of the "-am" mpirun option. Used to specify a ':'
     separated list of AMCA parameter set files.
  - mca_base_param_file_path
     (Default: $SYSCONFDIR/amca-param-sets/:$CWD)
     The path to search for AMCA files with relative paths. A warning will be
     printed if the AMCA file cannot be found.

* Added a new function "mca_base_param_recache_files" the re-reads the file
configurations. This is used internally to help bootstrap the MCA system.

* Added a new orterun/mpirun command line option '-am' that aliases for the
mca_base_param_file_prefix MCA parameter

* Exposed the opal_path_access function as it is generally useful in other
places in the code.

* New function "opal_cmd_line_make_opt_mca" which will allow you to append a
new command line option with MCA parameter identifiers to set at the same
time. Previously this could only be done at command line declaration time.

* Added a new directory under the $pkgdatadir named "amca-param-sets" where all
the 'shipped with' Open MPI AMCA parameter sets are placed. This is the first
place to search for AMCA sets with relative paths.

* An example.conf AMCA parameter set file is located in
contrib/amca-param-sets/.

* Jeff Squyres contributed an OpenIB AMCA set for benchmarking.

Note: You will need to autogen with this commit as it adds a configure param.
  Sorry :(

This commit was SVN r13867.
2007-03-01 13:39:20 +00:00
Rainer Keller
0889ebd59f - Eliminate warnings, that PGI-6.2.5 issues with -Minform=inform
This commit was SVN r13840.
2007-02-28 08:36:34 +00:00
Jeff Squyres
f02f8297a7 Minor fix for verbose message when a component is rejected and closed.
This commit was SVN r13807.
2007-02-27 02:07:33 +00:00
George Bosilca
386fe713ef Define the windows registry static function only on Windows.
This commit was SVN r13691.
2007-02-16 21:48:02 +00:00
George Bosilca
924224e66d On Windows allow the MCA params to come from the Windows Registry. The keys
are readed recursively, and their name built-up based on the definition
tree.

This commit was SVN r13688.
2007-02-16 18:39:40 +00:00
George Bosilca
77a8a40d6a This function is supposed to be static.
This commit was SVN r13685.
2007-02-16 18:17:50 +00:00
Rainer Keller
061ba05439 - Fixes uncovered with the format attribute to
opal_output and opal_output_verbose

This commit was SVN r13371.
2007-01-30 20:56:31 +00:00
Jeff Squyres
fe08f5c675 Fix a compiler warning that Ralph noticed when compiling with
--disable-dlopen (extra OBJ_CLASS_INSTANCES that were not being
used).

This commit was SVN r13169.
2007-01-17 22:36:33 +00:00
Jeff Squyres
38e3e8161c Add some more docs for clarification for MCA param names.
This commit was SVN r11832.
2006-09-26 19:37:44 +00:00
George Bosilca
e33c35112b Correct the conversion between int and bool. Apply it on all files except
the one that will be modified by Ralph for the ORTE 2.0. The missing ones
are in the rsh PLS.

This commit was SVN r11476.
2006-08-28 18:59:16 +00:00
George Bosilca
5e280cda19 Latest and greatest. Now OPAL is ready for the Windows prime-time.
The same treatement will happens on all sub-projects. The .h files
have to be C++ compatibles and all symbols with an external visibility
have to get the {PROJECT}_DECLSPEC in front of the prototype.

This commit was SVN r11340.
2006-08-23 00:29:35 +00:00
George Bosilca
63fe3bb2d9 Do not believe what the man page say.
This commit was SVN r11337.
2006-08-22 23:48:54 +00:00
George Bosilca
a28b025150 Everything related to file and path management. Now we have a full
range of OS friendly path management functions, such as opal_basename
opal_dirname. They should always be used instead of basename and
dirname. There are several functions which allow us to create paths
that are compatible with the OS.
The OPAL_ENV_SEP define should be used (instead of ':') when a env
variable is splitted.

This commit was SVN r11336.
2006-08-22 23:25:13 +00:00
George Bosilca
558646b07f One big step forward. Mostly explicit casting for Windows plus the
Windows version for the libevent. The one they provide is more than
innapropriate for what we need (without talking about the fact that
the code is just plain wrong).

This commit was SVN r11329.
2006-08-22 20:07:42 +00:00
George Bosilca
3f37470fec - Start the big windows commit. First cleanup the way we build PATH and
environment variables. 
- The HOME on Windows is called USERPROFILE.
- C++ compilers (at least on Windows) require explicit casts. Even going
through a void* does not help.
- Cleanup the Windows file name management.
- Always use opal_os_path to create OS friendly paths.

This commit was SVN r11311.
2006-08-21 21:44:48 +00:00
George Bosilca
983eb15335 If we fail/miss the initialization then do not release anything.
This commit was SVN r11302.
2006-08-21 19:52:10 +00:00
George Bosilca
6afa4c6c64 Windows friendly version. We have to split the OMPI_DECLSPEC in at least 3
different macros, one for each project. Therefore, now we have OPAL_DECLSPEC,
ORTE_DECLSPEC and OMPI_DECLSPEC. Please use them based on the sub-project.

This commit was SVN r11270.
2006-08-20 15:54:04 +00:00
Brian Barrett
25273f57e3 * don't close debugging stream if we're just closing the unused components in
a "select only one" framework

This commit was SVN r11226.
2006-08-16 16:23:35 +00:00
Brian Barrett
bc16f462b9 * print framework and component name during load errors
* return a failure from mtl select code if we don't have a
  component that can run

This commit was SVN r11092.
2006-08-02 20:59:58 +00:00
Jeff Squyres
32c1f38976 Be a little smarter when checking the MCA parameters that specify what
components to load:

- only allow the ^ to be the first character of the value
- if we find ^ elsewhere in the value, print an error and fail  

This commit was SVN r10880.
2006-07-19 14:19:44 +00:00
Josh Hursey
f8541ea644 Actually define the "mca_base_param_env_var" function that was declared.
This commit was SVN r10551.
2006-06-28 21:54:31 +00:00
Jeff Squyres
19a51e2492 Clarify the documentation.
This commit was SVN r9904.
2006-05-12 02:14:57 +00:00
Brian Barrett
c42da09796 * Fix a small bug George noticed - if you change the prefix (or any of the
installation directories) in configure, the files that depend on this
  information are not properly rebuilt.  If you need this information,
  don't setup a -D in the Makefile.am - instead, include 
  opal/install_dirs.h.
* Use the : option in AC_CONFIG_FILES to avoid needing to expose that
  we are playing around with temporary files with our headers to avoid
  rebuilding
* Clean up the version file information a bit, and like the install 
  directory stuff, make sure that there is a dependency so that 
  ompi_info gets rebuilt properly when a version number changes.

This commit was SVN r9256.
2006-03-12 04:35:01 +00:00
Rainer Keller
5c7497bceb - In fix r9182, stream with id 0 was explicitly exluded
Still release the standard stream upon finalizing.

This commit was SVN r9204.

The following SVN revision numbers were found above:
  r9182 --> open-mpi/ompi@a2a26525b3
2006-03-05 11:45:43 +00:00
Rainer Keller
a2a26525b3 - Release the output-stream in mca_base_component_close
- Destroy the verbose-stream upon finalize, not when closing.
   Also free the output_prefix and output_dir variables.

This commit was SVN r9182.
2006-02-28 12:33:42 +00:00
Jeff Squyres
b8ae4060b2 Fix warnings about setting read-only MCA parameters on bproc systems.
This commit was SVN r9057.
2006-02-16 04:41:38 +00:00
Brian Barrett
566a050c23 Next step in the project split, mainly source code re-arranging
- move files out of toplevel include/ and etc/, moving it into the
    sub-projects
  - rather than including config headers with <project>/include, 
    have them as <project>
  - require all headers to be included with a project prefix, with
    the exception of the config headers ({opal,orte,ompi}_config.h
    mpi.h, and mpif.h)

This commit was SVN r8985.
2006-02-12 01:33:29 +00:00
George Bosilca
29684dd800 Remove a warning about an unused variable.
This commit was SVN r8755.
2006-01-19 15:52:17 +00:00
George Bosilca
8b50c3d8c3 Handle systems where the HOME directory is NULL (windows and friends).
A small and ugly workaround the path problem on windows (the absolute
path start with [a-z]: whn : is considered as separator for most of
the environment variables.

This commit was SVN r8746.
2006-01-19 07:05:34 +00:00
George Bosilca
e728fc0c15 I know windows is "different" ... but not at this point !!!
This commit was SVN r8743.
2006-01-19 06:54:23 +00:00
Brian Barrett
c96f870674 * Merge of wrapper compiler updates from the bwb-wrapper-fix branch (r8690 -
r8698), with changes below:

  - Split wrapper flags into those required for each of the three projects,
    and cleaned up some cruft (including the LIBMPI_EXTRA_*FLAGS) through-
    out the build system
  - Added opal_init_util and opal_finalize_util to allow init / cleanup
    of all the opal code that doesn't require the MCA system
  - Create standalone key=value file parser, based on the one that used
    to be in the mca param parser, so that it can be shared in multiple
    places
  - Add wrapper datafiles for opal, orte, and ompi wrappers, and add
    wrapper compiler with support for all the old features

This commit was SVN r8699.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r8690
  r8698
2006-01-16 01:48:03 +00:00
Jeff Squyres
c3cc1d5bbc Avoid false positives in bcheck/valgrind -- there are holes in the
mca_base_param_t struct, and it eventually ends up getting memcpy()'ed 

This commit was SVN r8642.
2006-01-04 22:18:30 +00:00
Brian Barrett
a5af07cd6b fixes suggested by Ralf for supporting both Libtool 1 and 2 in Open MPI...
This commit was SVN r8538.
2005-12-19 03:10:23 +00:00
George Bosilca
958bba0f99 mca_base_param_find should be exported.
This commit was SVN r8534.
2005-12-17 22:08:02 +00:00
Jeff Squyres
6bc6178e8d Make the comment explain much more fully what is going on (in typical
Jeff-length).  Also change it such that we also have a lt_dlhandle
type -- even in the case of --disable-dlopen.  Specifically, even in
the case of --disable-dlopen, we still have shell functions that use
an lt_dlhandle parameter, so we need that type, even if <ltdl.h> isn't
used.

This commit was SVN r8507.
2005-12-15 17:47:54 +00:00
George Bosilca
3e03a5f702 A better comment I hope ...
This commit was SVN r8477.
2005-12-12 23:39:40 +00:00
George Bosilca
39e8d4ce02 Protect the function definition not the typedef.
This commit was SVN r8475.
2005-12-12 22:33:02 +00:00
George Bosilca
bd0ee62e62 Protect headers and use __WINDOWS__ for Windows code.
This commit was SVN r8468.
2005-12-12 22:01:51 +00:00
George Bosilca
6e5aeab0b5 Remove the dependance to ltdl.h for all the the places where we dont't really need it. Read
the comment for more informations.

This commit was SVN r8466.
2005-12-12 21:51:20 +00:00
Jeff Squyres
b04f6bf71b Fix a segv; it's possible to have an empty string parameter (""), such
that opal_argv_split() will return an empty array.  So test for that
case before trying to iterate through the array.

This commit was SVN r8396.
2005-12-06 20:06:40 +00:00
George Bosilca
1fe691c1f5 powerpc-apple-darwin8-gcc-4.0.0 catch 2 warnings about uninitialized usage. Reading the code I have to agree with it,
even if it's highly improbable that it could happens in real life. But we never know ...

This commit was SVN r8393.
2005-12-06 18:44:52 +00:00
Brian Barrett
c6fb3217f8 always include ltdl.h with the full opal path, so that we always grab our
version instead of the (possible) system installed version.

This commit was SVN r8248.
2005-11-23 19:30:12 +00:00
Jeff Squyres
42ec26e640 Update the copyright notices for IU and UTK.
This commit was SVN r7999.
2005-11-05 19:57:48 +00:00
Jeff Squyres
43b9b2c7da Allow mca-params.conf files to not have a \n at the end of the file
This commit was SVN r7741.
2005-10-12 22:49:23 +00:00
Jeff Squyres
fcef1774d5 Per advice from Ralf W., change the pkgdata declarations in
Makefile.am's to be a *slightly* more correct (and, more importantly,
less error-prone) construct.

This commit was SVN r7554.
2005-09-30 13:32:39 +00:00
Jeff Squyres
fa4f7a6261 Move assignment out of inner loop -- only needs to be done once, and
fixes a compiler warning (and potential bug)

This commit was SVN r7540.
2005-09-29 10:09:20 +00:00
Jeff Squyres
26efa2c4cd Add a default prefix to stream 0 ("[hostname:pid]") to help identify
where output is coming from.  Threw in a few minor style fixes while I
was editing these files.

This commit was SVN r7522.
2005-09-27 19:27:26 +00:00
Jeff Squyres
5ffd95e971 Commit of the unified component selection system. This was mostly
in-place already (turns out that I was wrong in thinking that it
didn't work for static components), but the logic for excluding
components was not there.  This commit does a few things:

- Adds "exclude" logic, so that you can do:

  mpirun --mca btl ^mvapi,openib ...

  (note the "^" character -- I tried "!" but then you have to escape
  it in the shell, and that was icky) which will exclude both the
  mvapi and openib btl components (excluding one component means that
  you are excluding all components in the list; it doesn't make sense
  to include some and exclude others -- you're entire entirely
  including or entirely excluding)

- Simplifies the "include" logic, so the same old stuff like this
  still works:

  mpirun --mca btl tcp,self ...

  will only use the tcp and self btl components.

- Added more verbosity statements to make this selection process
  clear.

This commit was SVN r7509.
2005-09-26 21:55:32 +00:00
Jeff Squyres
eb5775cb6e - Expand error messages to be a bit more helpful
- Use the new MCA param API to register the parameters

This commit was SVN r7309.
2005-09-12 16:07:05 +00:00
Jeff Squyres
4aa75fa739 - Make opal_output_stream_t be a real opal_object_t so that it can use
a constructor, like the rest of the code base
- Convert usage in the tree to use the constructor to zero out an
  instance of opal_output_stream_t
- Still need to re-enable output files

This commit was SVN r7253.
2005-09-09 10:46:54 +00:00
Brian Barrett
ed56e743b7 * update configure.ac to use the modern version of AC_INIT and
AM_INIT_AUTOMAKE, instead of the deprecated version.
* Work around dumbness in modern AC_INIT that requires the version
  number to be set at autoconf time (instead of at configure time, as
  it was before).  Set the version number, minus the subversion r number,
  at autoconf time.  Override the internal variables to include the r
  number (if needed) at configure time.  Basically, the right thing
  should always happen.  The only place it might not is the version
  reported as part of configure --help will not have an r number.
* Since AM_INIT_AUTOMAKE taks a list of options, no need to specify
  them in all the Makefile.am files.
* Addes support for subdir-objects, meaning that object files are put
  in the directory containing source files, even if the Makefile.am is
  in another directory.  This should start making it feasible to
  reduce the number of Makefile.am files we have in the tree, which
  will greatly reduce the time to run autogen and configure.

This commit was SVN r7211.
2005-09-07 05:54:53 +00:00
Jeff Squyres
3962c53e2e - Add to AM_CPPFLAGS $(OPAL_LTDL_CPPFLAGS) where necessary in order to
add a -I to find the included ltdl.h (vs. a system-installed ltdl.h)
- Clean up kruft in a bunch of Makefile.am's to remove now-unnecessary
  AM_CPPFLAGS settings to get static-components.h for each framework
- Move the component_repository API functions out of opal/mca/base/base.h
  and into opal/mca/base/mca_base_component_repository.h in order to
  decrease unnecessary dependencies (e.g., before this, almost
  everything in the tree depended on ltdl.h, which is unnecessary --
  only a small number of files really need ltdl.h)

This commit was SVN r7127.
2005-09-01 12:16:36 +00:00
Jeff Squyres
b4e2c96e22 - Adjust include paths for ltdl.h
- Properly set CLEANFILES to remove F90 kruft

This commit was SVN r7106.
2005-08-31 10:56:01 +00:00
Jeff Squyres
cba8c1895f - Plug a memory leak
- Be a little more direct in looking up the files

This commit was SVN r7005.
2005-08-24 16:40:12 +00:00
Jeff Squyres
2e114e1adb Rename MCA param to match rest of code.
This commit was SVN r6877.
2005-08-15 10:39:07 +00:00
Jeff Squyres
cf2c8b45a8 - Use proper prefixes for all #include statements (opal/, orte/, and
ompi/).
- There's still a handful of places that have orte/ #include files;
  still need to clean those up
- A lot of places still use ompi/include/constants.h -- those need to
  be converted over to use OPAL_ return codes and then switch to the
  opal constants.h.  This commit is the first few steps towards
  that...

This commit was SVN r6843.
2005-08-12 20:46:25 +00:00
Jeff Squyres
090712ebf9 Remove two useless files (they weren't even listed in their respective
Makefile.am's)

This commit was SVN r6841.
2005-08-12 20:30:25 +00:00
Jeff Squyres
7f726081ba Oops -- accidentally broke code that used the old API to override the
final MCA parameter name by passing NULL instead of the parameter that
was received.

This commit was SVN r6768.
2005-08-08 20:54:15 +00:00
Jeff Squyres
32e71e5c6c Fix a problem where orterun itself would not receive MCA parameters
that were set on the command line.  This was techinically exactly the
way the code was designed, but it certainly violated the Law of Least
Astonishment (even to its designer ;-) ).  So now if you execute
something like this:

   mpirun -mca pls_rsh_debug 1 -np 4 hello

You'll see debugging output from the rsh pls component, as you would
expect (this was not previously the case -- the MCA pls_rsh_debug
parame would be set to 1 in the 4 spawned hello processes, but *not*
in the orterun process).

More specifically, MCA parameters will be set in the orterun process
in the following cases:

- The new command line switch "--gmca" (or "-gmca") is used,
  indicating that the MCA parameter is "global".  --gmca also means
  that that MCA parameter will be applied to all context app's.  For
  example:

      mpirun -gmca foo bar -np 1 hello : -np 2 goodbye

  The foo MCA param will be set in both the hello and goodbye
  processes.

- If there is only one context app.  For example:

      mpirun -mca pls_rsh_debug 1 -np 4 hello

  will set pls_rsh_debug to 1 in both the orterun process and the 4
  spawned hello processes.

Also added a few more comments inside orterun to document a somewhat
confusing use of a state variable in a recursive case.

This commit was SVN r6764.
2005-08-08 16:42:28 +00:00
Jeff Squyres
ae7d85b6ca Fix a corner case -- if the MCA param had already been registered, be
sure to look it up if NULL != current_value.

This commit was SVN r6727.
2005-08-03 20:59:44 +00:00
Jeff Squyres
d827253e7f Better help string
This commit was SVN r6707.
2005-08-02 17:47:11 +00:00
Jeff Squyres
4c1dd716c7 Change and add new features to the MCA parameter system:
- new preferred API calls for registering MCA parameters are
  mca_base_param_reg_{int|string} and
  mca_base_param_reg_{int|string}_name.
- See opal/mca/base/mca_base_param.h for docs on new calls.  
- Can now register and lookup a value at the same time.
- Can now mark a parameter "read only" at registration time
- Can now mark a parameter "internal" at registration time
- Can now associate a help message with the parameter at registration
  time; displayed in the ompi_info output.

The old API calls are still available for backwards compatibility
(mca_base_param_register_{int|string}.  They will eventually be
removed -- all developers are encouraged to use the new APIs from here
on out and replace any old calls with the new API.

Some params were also renamed -- the previous convention of using
"base_" as a prefix for any param that was not associated with a
component is henceforth deprecated.  Instead, use one of the following
prefixes:

mca: for anything in the MCA base itself
opal: for anything in OPAL
orte: for anything in ORTE
mpi: for anything in OMPI

This commit was SVN r6698.
2005-08-01 22:38:17 +00:00
Josh Hursey
0c32f34cb7 Let's clean up the block comment parsing to be a bit more lex-like.
This commit was SVN r6695.
2005-08-01 22:25:47 +00:00
Josh Hursey
50545ef082 Additional Comment possibilities supported for both hostfile and
mca param file.
------
/*
 * Block Quote
 */

// Line Quote

# Shell Style Line Quote
-------

This commit was SVN r6694.
2005-08-01 22:11:26 +00:00
Brian Barrett
14b89e0e50 Bunch more updates from operation Red Storm:
* Add ability to completely disable libltdl (the dlopen code to load
  dynamic shared objects) to configure: --disable-dlopen
* Added MCA param (component_disable_dlopen) to disable DSO loading
  at runtime
* Made the event library behave in some not-completely-erroneous way
  on platforms where it has absolutely no eventops support (ie, no
  select, poll, or epoll)
* Disabled orte_wait, opal_few, and opal_daemon_init code on
  platforms without fork, waitpid support.  All non-init functions
  will return OPMI_ERR_NOT_SUPPORTED
* Disable orteprobe tool when fork or pipe aren't supported

This commit was SVN r6490.
2005-07-14 18:05:30 +00:00
Josh Hursey
048d5c1415 Added some userlevel error checking, and messaging.
This commit was SVN r6440.
2005-07-12 18:06:31 +00:00
Brian Barrett
170ef8af1f * rename ompi_show_help to opal_show_help
* rename ompi_stacktrace to opal_stacktrace
* rename ompi_strncpy to opal_strncpy

This commit was SVN r6336.
2005-07-04 02:38:44 +00:00
Brian Barrett
ed81e51c3a * rename ompi_printf to opal_printf
* rename ompi pty code to opal pty code
* rename ompi_qsort to opal_qsort

This commit was SVN r6335.
2005-07-04 02:16:57 +00:00
Brian Barrett
e55f99d23a * rename ompi_if to opal_if
* rename ompi_malloc to opal_malloc
* rename ompi_numtostr to opal_numtostr
* start of rename of ompi_environ to opal_environ

This commit was SVN r6332.
2005-07-04 01:36:20 +00:00
Brian Barrett
9f44b80291 * rename ompi_argv to opal_argv
* rename ompi_basename to opal_basename
* rename ompi bitop functions to opal
* rename ompi_cmd_line to opal_cmd_line
* rename ompi_sizet2int to opal_sizet2int
* rename orte_daemon_init to opal_daemon_init
* rename ompi_few to opal_few

This commit was SVN r6330.
2005-07-04 00:13:44 +00:00
Brian Barrett
a13166b500 * rename ompi_output to opal_output
This commit was SVN r6329.
2005-07-03 23:31:27 +00:00
Brian Barrett
9f0c969bb4 * rename ompi_hash_table opal_hash_table
This commit was SVN r6324.
2005-07-03 16:52:32 +00:00
Brian Barrett
764a9314db * rename ompi_value_array opal_value_array
This commit was SVN r6323.
2005-07-03 16:38:52 +00:00
Brian Barrett
761402f95f * rename ompi_list to opal_list
This commit was SVN r6322.
2005-07-03 16:22:16 +00:00
Brian Barrett
499e4de1e7 * rename ompi_object and ompi_class to opal_object and opal_class
This commit was SVN r6321.
2005-07-03 16:06:07 +00:00
Jeff Squyres
5691aa5c93 Fix up -- no need modex here, but now need mca/mca.h
This commit was SVN r6300.
2005-07-02 15:56:45 +00:00
Jeff Squyres
d865e68e20 First cut at Makefile.am changes
This commit was SVN r6272.
2005-07-02 14:08:19 +00:00
Jeff Squyres
cd497636ac Move modex out of opal MCA base into orte/util
This commit was SVN r6268.
2005-07-02 13:43:30 +00:00
Jeff Squyres
3a9179a0d7 Initial population of the opal tree
This commit was SVN r6267.
2005-07-02 13:43:20 +00:00