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

231 Коммитов

Автор SHA1 Сообщение Дата
Brian Barrett
753b9a888e * fix compiler warning
This commit was SVN r7412.
2005-09-16 19:15:36 +00:00
Brian Barrett
b3cc58b681 * use rd instead of mov because for some odd reason GAS doesn't like
moving the tick register to another register, but is fine with rd.
* properly mask out the upper 32 bits of the register containing the
  lower 32 bits so that the or with the upper 32bits actually works
  properly.  Hopefully, gcc will optimize this into code that doesn't
  suck so much (it's much easier to deal with when you get to control
  the argument registers...)

This commit was SVN r7410.
2005-09-16 17:44:18 +00:00
Brian Barrett
93e28ebe74 * hack up rml_cnos to work with last round of orte changes
* updates to the red storm configure setup
* fix missing header if no timer components are found

This commit was SVN r7402.
2005-09-16 02:25:41 +00:00
Brian Barrett
a35c2e911d * make sure to dist timer.h
* have the real assembly for 64 bit mode (doh!)
* make sure to define type (remove debugging #if 0)

This commit was SVN r7401.
2005-09-15 22:26:07 +00:00
Jeff Squyres
15d0a95202 - Remove extra whitespace from Makefile.am's from when we removed
Makefile.options
- Sample in each of the three projects of how to link againt the
  relevant libraries so that when components are loaded into a parent
  process' space, we don't rely on the libopal/liborte/libmpi symbols
  being in the parent's public symbol namespace -- instead,
  dynamically link to the relevant libraries, allowing the dynamic
  linker to pull those libraries in at run-time, if needed

This commit was SVN r7397.
2005-09-15 20:56:18 +00:00
Jeff Squyres
46bed32fc6 While double-checking the order of SUBDIRS (ensuring dynamic-mca is
after "."), remove some whitespace left over from when we removed
Makefile.options.

This commit was SVN r7393.
2005-09-15 20:46:29 +00:00
Brian Barrett
5dcec6e2fe add assembly for timer operations on SPARC, and update linux timer component to
get frequency when on SPARC

This commit was SVN r7372.
2005-09-14 21:14:39 +00:00
Jeff Squyres
ef955b2f81 Could have sworn that I removed these long ago...
This commit was SVN r7331.
2005-09-12 23:28:47 +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
c4731285ee protect state var with the same #if that the rest of the code is
protected with

This commit was SVN r7292.
2005-09-10 11:17:01 +00:00
George Bosilca
a4c70dd4c3 The trace macro take one argument even if we do not intent to use it. Otherwise some compilers complain and generate errors.
This commit was SVN r7271.
2005-09-09 19:59:33 +00:00
Ralph Castain
76ccec0cee Upgrade the new opal trace system to utilize verbosity. Begin building the trace command into the ORTE system.
This commit was SVN r7267.
2005-09-09 18:27:17 +00:00
Jeff Squyres
0b255830e0 Slight change to the defaults -- make the prefix "output-pid<pid>-" so
that multiple processes don't overwrite each other.  Change that
default in orte_init_stage1() to just "output-" (because the file will
be in a process-unique directory at that point; the pid is no longer
necessary).

This commit was SVN r7256.
2005-09-09 12:37:39 +00:00
Jeff Squyres
86cca77046 Clarification on docs
This commit was SVN r7255.
2005-09-09 12:25:55 +00:00
Jeff Squyres
7eadfc4bdc Add a new hook function into the opal_output system:
opal_output_set_output_file_info().  This allows getting and setting
the default directory where output stream files will be opened (for
all *new* streams).  Before this function is not invoked, the default
location is $TMPDIR or $HOME (if $TMPDIR is not defined).  

Added a call into orte_init_stage1() to call this function
immediately after the session directory is created and set the default
location of stream files to be the process' session directory.

This commit was SVN r7254.
2005-09-09 12:18:39 +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
Jeff Squyres
eeee36aa73 Style changes only (this was originally written before many of the
style guidelines existed) so that the next patch concentrates on
fixes / functionality changes

This commit was SVN r7249.
2005-09-09 09:38:43 +00:00
Jeff Squyres
eb25be25be Add missing "\"
This commit was SVN r7232.
2005-09-08 10:02:21 +00:00
Ralph Castain
5d68fa836f Change the flag name to conform to prefix rules
This commit was SVN r7223.
2005-09-07 19:43:40 +00:00
Ralph Castain
2c6e47e38c Add a trace utility that provides info on progress through functions. This is not enabled yet - need Jeff or Brian to add it to the configure/build system.
This commit was SVN r7222.
2005-09-07 18:52:28 +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
Rainer Keller
192625d2a1 - Once again: uninteresting cleanup to get diff smaller.
This commit was SVN r7178.
2005-09-04 20:54:19 +00:00
Brian Barrett
492aeecd11 * track the actual allocations within the ompi and opal free_lists, so that
we can free all allocated memory when the free_list is destructed.  Fixes
  a whole bunch of memory leaks...

This commit was SVN r7173.
2005-09-03 19:46:44 +00:00
Jeff Squyres
1deea5ddb9 Minor mods:
- style and error code updates
- use strdup instead of malloc/strcpy

This commit was SVN r7164.
2005-09-03 00:06:20 +00:00
Brian Barrett
a9863e5ff5 * properly construct / destruct the condition variable in the free list
structures

This commit was SVN r7153.
2005-09-02 16:00:42 +00:00
Jeff Squyres
a8f9df9951 Change the API slightly so that it is assumed that each process will
be called with a description of its memory segments to make local.  It
is a small enough API that changing to support a
one-process-does-all-assignment model is simple enough if we ever need
it.

This commit was SVN r7148.
2005-09-02 12:57:02 +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
67168466be Fix minor typo in the comment/docs
This commit was SVN r7126.
2005-09-01 12:12:32 +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
Tim Woodall
dc0f3eef63 more corrections
This commit was SVN r7100.
2005-08-30 21:26:24 +00:00
Tim Woodall
f742e4901f we always acquire/release this lock - support threaded users
of the library

This commit was SVN r7099.
2005-08-30 21:17:33 +00:00
Jeff Squyres
774549d640 Add missing header file
This commit was SVN r7090.
2005-08-30 10:41:25 +00:00
Brian Barrett
77ebdf1c6f * Add some debugging output Ralph asked for when an unknown error code is
passed to opal_error

This commit was SVN r7087.
2005-08-29 23:36:53 +00:00
Jeff Squyres
6089b02afd First cut of the libnuma implementation
This commit was SVN r7074.
2005-08-29 15:13:54 +00:00
Brian Barrett
2143ed4c81 * move error -> string converter registration from orte_init to
orte_init_stage1(), since not all ORTE processes call orte_init().
* Expad opal_error test case to make sure ORTE error codes print
  properly
* Make project error codes start at easy values (OPAL is -1 to -100,
  ORTE is -101 to -200, OMPI is less than -201) to make it easier
  to figure out what an error code as an integer means.  Also has
  the nice property of not changing the values of error codes ever
  time a new error code is added.

This commit was SVN r7061.
2005-08-26 23:36:57 +00:00
Jeff Squyres
c9cdb36b0b Finally get this right: move orte_sys_info.[ch] back into the orte
tree.
- fix up #include's throughout the tree (yay contrib/search_replace.pl!)
- remove a few extraneous #include's
- remove orte_sys_info*() from opal_init()/opal_finalize() (it's
  already in orte_init_stage1() and orte_system_finalize())
- remove dependencies in opal on orte_system_info -- util/os_path.c
  and util/os_create_dirpath.c (they only used path_sep, anyway --
  easily changed to #defines)

This commit was SVN r7059.
2005-08-26 21:03:41 +00:00
Jeff Squyres
f7638f0884 First cut of libnuma maffinity component; not yet complete
This commit was SVN r7052.
2005-08-26 19:51:02 +00:00
Jeff Squyres
a771aeb1ab Remove some kruft from copy-n-paste
This commit was SVN r7051.
2005-08-26 19:50:24 +00:00
Jeff Squyres
900631e9f9 - Add a first cut of the memory affinity (maffinity) framework. It's
API is still a bit unstable and may change.
- Add a primitive "first use" component that simply has each process
  "touch" the pages that they want to use, thereby [hopefully] locking
  them locally to a specific processor
- Add hooks in ompi_mpi_init to enable memory affinity when processor
  affinity is used.
- Added hooks in ompi_mpi_finalize to shut down memory affinity when
  it was initialized during ompi_mpi_init.
- Added right hooks in ompi_info to display maffinity components.

This commit was SVN r7044.
2005-08-26 10:56:39 +00:00
Jeff Squyres
2bd821d8dc Clarify some comments
This commit was SVN r7038.
2005-08-25 17:42:00 +00:00
Brian Barrett
71a28437bf * fix duplicate local symbol probelm in PPC64 assembly
This commit was SVN r7035.
2005-08-25 16:37:48 +00:00
Brian Barrett
7a8e646fff * add missing OBJ_RELEASE in memory manager code
* fix off-by-one error in os_path code
* Bunch of memory fixes for OPAL unit tests

This commit was SVN r7033.
2005-08-25 16:28:41 +00:00
Brian Barrett
e0d49880d7 * make sure that the sys_info structure has valid data for applications that
only call opal_init (like the new wrapper compilers in development) so that
  they don't find bad data in the structure

This commit was SVN r7024.
2005-08-25 00:59:21 +00:00
Brian Barrett
92fb84fd85 * oops - remove #if 0 that accidently slipped in
This commit was SVN r7013.
2005-08-24 20:41:52 +00:00
Brian Barrett
c37f9a6391 * give if code a chance to clean up after itself
This commit was SVN r7012.
2005-08-24 20:27:45 +00:00
Brian Barrett
2577ab4722 * a bunch of cleanups to make trivial opal programs valgrind-clean
This commit was SVN r7009.
2005-08-24 20:19:36 +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
Brian Barrett
440a95b808 * so apparently Linux has a lame old strerror_r that has a different
prototype than everyone else.  It's only active if _GNU_SOURCE is
  definted, which of course we have to have defined for asprintf.
  So just use strerror() underneath

This commit was SVN r7002.
2005-08-24 13:44:57 +00:00
Brian Barrett
c62ce1593a * IA64 high-res timer support for compilers without GCC-style inline
assembly

This commit was SVN r6997.
2005-08-24 03:42:31 +00:00
Jeff Squyres
bfc53fbb2f Add missing docs
This commit was SVN r6995.
2005-08-24 02:33:32 +00:00
Brian Barrett
adf92d6237 * IA32 high-res timer support for compilers without GCC-style inline
assembly

This commit was SVN r6992.
2005-08-24 00:54:16 +00:00
Brian Barrett
70ebb47670 * AMD64 high-res timer support for compilers without GCC-style inline
assembly

This commit was SVN r6989.
2005-08-23 22:07:56 +00:00
Brian Barrett
8d4175ad89 * support high-res timers even if we don't have inline assembly
This commit was SVN r6987.
2005-08-23 21:50:23 +00:00
Brian Barrett
1454e40f0e * for some reason, was having issues with C bool vs C++ bool on odin.
cast the return to an int in the C++ test case, just in case.
* C++ sucks.  If compiling with C++ on some GNU compiler/linker
  combos, the initialize hook isn't automagically fired for the
  malloc code.  Add a backup setting during opal_init, which is
  early enough not to cause any damage. 

This commit was SVN r6983.
2005-08-23 16:03:16 +00:00
Brian Barrett
2e73f0d1bd Two bug fixes to the argv code:
- If passing in a valid argv array with no members (so argv[0] == NULL),
    opal_argv_copy() should return a valid argv array with no members,
    instead of NULL.
  - make sure to update the argc value when deleting members of an array

This commit was SVN r6977.
2005-08-22 22:49:27 +00:00
Brian Barrett
b40e8be6a0 * timer support for the SGI Altix machines
This commit was SVN r6974.
2005-08-22 16:33:36 +00:00
Brian Barrett
4cf1186421 * need to include the libs in the wrapper_extra_libs in case we are building
static...

This commit was SVN r6973.
2005-08-22 04:39:21 +00:00
Brian Barrett
5375146d53 * replaces all uses of == with = in test arguments
* make sure LIBS contains -lpmapi before checking for pm_cycles()
* reorder aix functions so that we don't use get_usecs() before we
  define it

This commit was SVN r6970.
2005-08-22 03:47:48 +00:00
Brian Barrett
f48968d8f4 clean up the error code situation - ensure that OMPI_ERROR == ORTE_ERROR ==
OPAL_ERROR, same for all the other error codes.  Also, make sure that there
are never conflicts between OPAL anr ORTE error codes (for example).
Finally, provide opal_perror(), opal_strerror(), and opal_strerror_r() to
give stringified error messages for the different error codes

This commit was SVN r6969.
2005-08-22 03:05:39 +00:00
Brian Barrett
0eb5337230 * more AIX timer changes. Rough implementation, and some configure
updates that should make things out on aries happier

This commit was SVN r6963.
2005-08-21 22:43:40 +00:00
Brian Barrett
dcfcb5ab5a * shell of aix high-resolution times
This commit was SVN r6957.
2005-08-21 21:28:14 +00:00
Brian Barrett
071cf256ee * add missing header file for sysconf
This commit was SVN r6956.
2005-08-21 21:25:24 +00:00
Brian Barrett
e45fc567b3 * fix up configure help messages for timers
* make Solaris timer code compile
* fix compile error in solaris threads code

This commit was SVN r6954.
2005-08-21 21:02:28 +00:00
Brian Barrett
ecf3921ace * fix some problems with C++ protection in timer headers
* Make ompi_info list timer components
* Remove flag to display whether we have memory intercepts (components are
  already listed), until we can figure out how to do it *after* the
  components are opened.

This commit was SVN r6950.
2005-08-21 19:14:49 +00:00
Brian Barrett
f2769f14e8 * Add malloc_interpose memory manager intercept functions that should work
on all glibc systems (tested with x86 and x86_64 with a couple of C++
  compilers).  While not as ideal as the malloc_hooks method, it does
  have the advantage of working with threads.
* Modified malloc_hooks component to properly follow prefix rule.  No
  functionality changes
* Make the memory framework only chose one component, and modify all
  components to set priority to 20, except malloc-interpose, which is
  at 10.  This means that on Linux, malloc_hooks will be used unless
  threads are enabled, since I think malloc_hooks is a better design
  choice when we can use it

This commit was SVN r6949.
2005-08-21 19:01:39 +00:00
Brian Barrett
27bb12f665 * add copyright header to configure.m4 file
This commit was SVN r6948.
2005-08-21 18:56:40 +00:00
Brian Barrett
edbcdf0dac * add support for reading the PowerPC timebase
* add support to Linux timer for getting the frequency of the Timebase
  on a PPC Linux box 

This commit was SVN r6947.
2005-08-20 21:09:16 +00:00
Rainer Keller
202dac7ace - First check for a generated atomic-asm.s file in the Builddir,
iff not availble use the top_srcdir-one.

This commit was SVN r6932.
2005-08-19 10:20:33 +00:00
Brian Barrett
10339416e4 * add C++ mangling protection
This commit was SVN r6925.
2005-08-18 15:48:59 +00:00
Brian Barrett
dfdb5dc12a * high resolution, low latency timers for a number of platforms, plus mods
to opal_progress() to use the timers instead of a tick count for deciding
  whether to call the event loop or not.  Currently supported platforms are:

     - solaris (x86 / sparc)
     - Linux (x86 / x86_64 / IA64)
     - Mac OS X (x86 / Power PC)

This commit was SVN r6922.
2005-08-18 05:34:22 +00:00
Brian Barrett
1134d9b7d7 * remove old, broken, horrible hack for doing memory intercepts on Darwin
* Add memory intercept routines for Darwin using the official Darwin
  API (thanks to Drew Gallatin from Myricom for pointing me to some
  information from Apple engineers about how to make this work)
* add debugging output to functionality test

This commit was SVN r6920.
2005-08-18 02:59:02 +00:00
Jeff Squyres
12e6a10197 Enable the paffinity framework during opal_init()
This commit was SVN r6903.
2005-08-16 16:15:53 +00:00
Jeff Squyres
a00e37f516 - Clarification of docs
- Minor fixes in the wrappers

This commit was SVN r6902.
2005-08-16 16:11:32 +00:00
Jeff Squyres
933fcfe4fd Make the function names obey the prefix rule (whoops)
This commit was SVN r6900.
2005-08-16 14:40:54 +00:00
Jeff Squyres
d9e68c1f36 - Fixes for linux paffinity component, to be able to correctly handle
all the different cases (curses to RedHat for continually changing
  the glibc API!)
- Minor fixes for the Solaris paffinity component

This commit was SVN r6894.
2005-08-16 00:11:41 +00:00
Jeff Squyres
0dd5b5514c Rename opal_constants.h -> constants.h
This commit was SVN r6889.
2005-08-15 18:55:37 +00:00
Jeff Squyres
2c7d5009cc Tiny fix (is it enough for Tim?) -- part of a larger set that will be
coming soon (probably tonight).

This commit was SVN r6885.
2005-08-15 16:24:09 +00:00
Jeff Squyres
dc66360faa This component is now open for business.
This commit was SVN r6884.
2005-08-15 15:36:07 +00:00
Jeff Squyres
aca78f9930 Arrgh -- missed this rename (threads.h)
This commit was SVN r6883.
2005-08-15 15:29:15 +00:00
Jeff Squyres
433d84af9f Add the implementation for the solaris processor affinity component.
This commit was SVN r6881.
2005-08-15 15:16:22 +00:00
Jeff Squyres
c465eb8567 Rename opal/threads/thread.h -> opal/threads/threads.h to avoid a
naming conflict with Solaris' <thread.h>

This commit was SVN r6879.
2005-08-15 11:02:01 +00:00
Jeff Squyres
b4ed6f29ab Add ERR_NOT_IMPLEMENTED
This commit was SVN r6878.
2005-08-15 10:39:30 +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
Brian Barrett
3b9cc73d08 * updates to make Darwin malloc intercept code work properly in Open MPI
This commit was SVN r6873.
2005-08-14 17:24:57 +00:00
Brian Barrett
18bed00b9d * open / close the memory components
This commit was SVN r6872.
2005-08-14 17:23:34 +00:00
Brian Barrett
da89e06238 * update ptmalloc2 to build properly and intercept user-level calls to
munmap

This commit was SVN r6867.
2005-08-14 03:11:54 +00:00
Brian Barrett
22d28075eb * put component struct in it's own file. It requires the inclusion of
ompi_config.h, which can't be included in all the intercept code

This commit was SVN r6865.
2005-08-14 02:18:11 +00:00
Brian Barrett
8aca9ef966 * remove need to edit project/Makefile.am and project/{dynamic-,}mca/Makefile.am when adding a new component. Configure / autogen now do it for you.
* Add base to memory framework so that we can do something sane with
  ompi_info
* Updated ompi_info to print components for memory framework and
  show whether we have memory hooks active or not.

This commit was SVN r6861.
2005-08-13 20:19:24 +00:00
Jeff Squyres
0cbc8ea503 Add an missing header files instead of the top-level subdir for the
dist case.

This commit was SVN r6858.
2005-08-13 16:10:46 +00:00
Jeff Squyres
fe6f1bf069 Add forgotten header file
This commit was SVN r6856.
2005-08-13 15:46:27 +00:00
Jeff Squyres
323aff7b1e - First cut of a paffinity (processor affinity) framework in opal
- Simple components for getting and setting processor affinity of a
  process; does *not* include scheduling decisions
- No one in the OMPI code base invokes the framework yet
- Added linux component for using sched_setaffinity()
- Added shell solaris component that will use processor_bind()
  (currently .ompi_ignore'd)

This commit was SVN r6854.
2005-08-13 14:00:56 +00:00
Brian Barrett
1b830beddb * move over changes from the /tmp/bwb-memory-hooks/copy-1 into the trunk.
This includes updates to the malloc_hook method and making everything
  components.

This commit was SVN r6852.
2005-08-13 01:08:34 +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
b2225ea8f3 Arrgh -- stupid shell curses problems ended up naming that last commit
poorly.  :-(

This commit was SVN r6840.
2005-08-12 19:43:58 +00:00
Jeff Squyres
6095735046 Arrgh. Broke the tree with the last commit -- need to rename this to
avoid #include confusion.

This commit was SVN r6839.
2005-08-12 19:40:17 +00:00
Jeff Squyres
9947c71aa2 Starting to use this...
This commit was SVN r6836.
2005-08-12 18:54:09 +00:00
Brian Barrett
ad383f5fcd * If the event library is going to be a noop (really, this only happens on
Red Storm), don't bother doing all the book keeping work to do calls
  into the event library

This commit was SVN r6829.
2005-08-12 16:21:17 +00:00
Brian Barrett
57efade1e2 * bump the event_tick_rate count from 100 to 10k, per conversation with Tim.
Might want to bump this higher?
* remove assumption that progress functions registered with opal_progress
  are not reentrant.  There is still the assumption that the event loop
  is not reentrant (because it's not), so that part is still protected by
  a spinlock. 

This commit was SVN r6827.
2005-08-12 16:08:44 +00:00
Brian Barrett
070e376407 * don't build qsort workaround unless we actually have a broken qsort
This commit was SVN r6824.
2005-08-12 15:28:11 +00:00