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

327 Коммитов

Автор SHA1 Сообщение Дата
Brian Barrett
d1402cf8f5 * Update ROMIO release to the one included with MPICH2-1.0.4p1, tagged in
vendor/romio as mpich2-1.0.4p1.

This commit was SVN r11715.
2006-09-19 16:13:46 +00:00
Rainer Keller
611f3ba408 - Fix buglet found by Feng Sheng's IO tests;
Correctly initialize the status for non-blocking io.

This commit was SVN r11672.
2006-09-15 12:37:29 +00:00
Jeff Squyres
6173e952a2 Remove these files from SVN; they should not be committed.
This will force everyone to re-autogen.  Sorry!

This commit was SVN r11616.
2006-09-11 22:43:20 +00:00
George Bosilca
3f0a7cad9e The last patch for Windows support. Mostly casting and conversion to C++ friendly headers.
This commit was SVN r11400.
2006-08-24 16:38:08 +00:00
Brian Barrett
df9273587f * romio_cb_write should also be forced to enable when optimizations are
requested

This commit was SVN r10584.
2006-06-30 15:06:10 +00:00
Brian Barrett
0031e39d72 * fix for dumb memory bug introduced in romio performance fixup code
This commit was SVN r10528.
2006-06-27 19:58:18 +00:00
Brian Barrett
9a65a7ca97 * re-add -Is necessary for VPATH builds.
This commit was SVN r10524.
2006-06-27 14:10:34 +00:00
Brian Barrett
970d858f30 * Add performance code requested by LANL, per ticket #128. Must be
explicitly enabled at run-time with the mca parameter
  io_romio_enable_parallel_optimizations set to something non-zero.
  This will enable some magic flags in Panasas if the user didn't
  set them (either on or off) and do some slightly better things
  with strided collective writes.

This commit was SVN r10516.
2006-06-26 22:26:36 +00:00
Galen Shipman
218a438509 finished the ompi_free_list_t class nightmare..
This commit was SVN r10314.
2006-06-12 22:09:03 +00:00
Galen Shipman
18dda70fd0 make ompi_free_list_item_t a class..
This will go to the 1.1 branch but will probably require a few changes as
ompi_free_list_t is different in the branch.. 

This commit was SVN r10306.
2006-06-12 16:44:00 +00:00
Brian Barrett
cc99a63169 * fix issue with PANFS not building properly - we didn't add PANFS_LIB to the
list of libraries

This commit was SVN r10279.
2006-06-09 20:41:12 +00:00
Galen Shipman
83ff3201b5 don't use rank or nprocs in error messages when we don't have them..
This should hit 1.1 and 1.0 branches.. 
Reviewed by Brian

This commit was SVN r10164.
2006-06-01 14:24:11 +00:00
Brian Barrett
4904e34a52 set datarootdir, necessary for Autoconf-2.60 which will define some variables
based upon this value (e.g., datadir, docdir).

Submitted by: Ralf Wildenhues
Reviewed by: Brian Barrett

This commit was SVN r10133.
2006-05-31 03:43:55 +00:00
Brian Barrett
6026fc98f6 * Fix M4 quoting so that AC 2.60 won't complain
Submitted by: Ralf Wildenhues
Reviewed by: Brian Barrett

This commit was SVN r10129.
2006-05-31 03:39:18 +00:00
Jeff Squyres
15758d5f29 Fix AC_DEFINE to match what it's supposed to be defining
This commit was SVN r9952.
2006-05-17 03:26:43 +00:00
Brian Barrett
f2a6e63d82 Fix for the double iWrite problem Edgar found with ROMIO, plus some other
things I found:
  - Locking should prevent it from happening (I think), but there was a 
    race condition in the component progress -- a callback could be
    triggered that would free the request before it was off the outstanding
    requests list.
  - When pulling a request off the component free list, make sure to
    reinitialize the free_called state on the IO request.  This was
    what was causing Edgar's failures
  - In the request cleanup code, pull the request out of the per-
    component free list before returning to the free list.  This
    probably would cause asserts to fire, although it looks like
    I wrote the loops such that it would have been memory safe if
    the asserts didn't fire.  Not really sure why I did that, but
    let's try it again...

This should go to the v1.0 and v1.1 branches.

This commit was SVN r9913.
2006-05-13 02:30:40 +00:00
Jeff Squyres
a6d52ceed1 Minor correction in use of mca param API; otherwise the param is not found.
This commit was SVN r9903.
2006-05-11 22:12:29 +00:00
Brian Barrett
1d337831d0 Fixes for more issues found by Dries Kimpe:
- We had a bad conditional choice, such that asking for pvfs2 would
    result in pvfs trying to build as well, which was going to fail.
  - We didn't try to link in the libray for PVFS2's adio component.
  - We were clobbering romio_flags, so it was impossible to pass
    flags to romio (like the selection of filesystems)

This commit was SVN r9854.
2006-05-09 09:30:09 +00:00
Brian Barrett
7dddc6d54c Define the constants needed by ROMIO to activate support code for
DARRAY / SUBARRAY.

This commit was SVN r9851.
2006-05-08 16:33:31 +00:00
Brian Barrett
462849d88c Fix two issues reported by Dries Kimpe:
- LDFLAGS set at the top level of Open MPI were not passed to the 
   ROMIO configure script
 - If ROMIO was explicitly required (with --enable-io-romio) and
   not able to be built, abort OMPI's configure script.

This needs to go to the v1.0 and v1.1 branches.

This commit was SVN r9845.
2006-05-08 13:13:32 +00:00
George Bosilca
612570134f The request management framework has been redesigned. The main idea is
to let the PML (or io, more generally the low level request manager)
to have it's own release function (what was before the req_fini). This
function will only be called from the low level while the req_free will
be called from the upper level (MPI layer) in order to mark the request
as not used by the user anymore.

From the request point of view the requests will be marked as inactive
everytime we read their status (true for persistent as well). As 
MPI_REQUEST_NULL is already marked as inactive, the test and wait functions
are simpler. The drawback is that now we have to change in the
ompi_request_{test|wait} the req_status of the request once we get it's
status.

This commit was SVN r9290.
2006-03-15 22:53:41 +00:00
Jeff Squyres
4a0d9bd46f Turns out that $(MCA_io_romio_STATIC_LTLIBS) is a throwback to a
previous incarnation of the configure/build system and isn't defined
anymore.  So it can be removed.

This commit was SVN r9158.
2006-02-27 03:28:40 +00:00
Jeff Squyres
d068c1516c A few minor Makefile.am fixes
This commit was SVN r9157.
2006-02-27 03:18:57 +00:00
Brian Barrett
d45b2b77d1 * don't reset AR or RANLIB - libtool will do the "right thing" for us
This commit was SVN r9151.
2006-02-26 20:32:47 +00:00
Brian Barrett
4a061c89ed * put all the CPPFLAGS Open MPI adds to ROMIO in one place, and set them
as needed for the modified source tree layout.  Since we don't include
  anything but mpi.h in the ROMIO build, we don't need most of the flags
  anyway...

This commit was SVN r8995.
2006-02-12 18:32:21 +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
Brian Barrett
17d2c907fc Some changes to better support cross-compiling OMPI:
- fall back to compile test for windows paffinity component
    when cross compiling
  - fall back to platform guess when checking for threads having
    different pids with pthreads (yes on linux, no elsewhere)
  - pass the proper host, target, and build flags to the
    ROMIO configure script

With these changes, cross-compiling should be possible with the exception
of the Fortran 77 and Fortran 90 bindings.  Fortran 77 can be cross-
compiled if cache values are provided for type sizes and alignment.

This commit was SVN r8702.
2006-01-16 04:00:44 +00:00
George Bosilca
9457534520 Add full path for the header files.
This commit was SVN r8610.
2005-12-28 19:28:32 +00:00
Brian Barrett
209fe64de0 * make sure we set the --enable-{static/shared} flags correctly for ROMIO
when linking into libmpi.{so,a} directly

This commit was SVN r8557.
2005-12-20 00:52:02 +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
53235eb34d The Windows protection is called __WINDOWS__ (and it's a mix between WIN32 and _WIN32).
This commit was SVN r8440.
2005-12-10 22:10:39 +00:00
Jeff Squyres
6fbd321442 Fix a bunch of install locations for header files
This commit was SVN r8406.
2005-12-08 00:54:44 +00:00
Brian Barrett
7998cca0f3 - don't try to read the LIBS info from ROMIO's configure script if running
the script did not complete successfully
- ROMIO likes to default to using the system compiler if no compiler is
  specified.  This can lead to using a different compiler for ROMIO as
  for Open MPI, which is not always a good thing.  Reset the default to
  behave the same way Open MPI does.

This commit was SVN r8380.
2005-12-05 23:54:27 +00:00
Brian Barrett
72bb35a814 * don't build the ROMIO request f2c and c2f routines. We don't use them
(because we wrap ROMIO requests as first class OMPI requests).

This commit was SVN r8338.
2005-11-30 15:37:14 +00:00
Brian Barrett
7afad13808 * minor cleanup to remove warning
This commit was SVN r8337.
2005-11-30 14:43:52 +00:00
Brian Barrett
a46d0d3801 Add support to Open MPI for MPI_Register_datarep, as ROMIO now has support for the
functionality.  This is a global registration, so all components have to be made
aware of the registration -- therefore, do things at the component level, not the
module level.

This commit was SVN r8314.
2005-11-29 18:25:35 +00:00
Brian Barrett
6bd76c8f91 * prefix the newest of the ROMIO MPI interface functions
This commit was SVN r8311.
2005-11-29 15:45:00 +00:00
Brian Barrett
f35d5d67a8 * PGI compilers found this little bugglet in ROMIO - check the datatype, not
the count when using the DATATYPE check macro....

This commit was SVN r8310.
2005-11-29 14:56:30 +00:00
Brian Barrett
8b9a539986 * update ROMIO with the version from MPICH 1.2.7p1, marked as version
2005-06-09

This commit was SVN r8300.
2005-11-29 01:41:53 +00:00
Brian Barrett
20cea60b82 * fix "make distclean" error in PML
* turns out (duh!) that there was a reason that the <projectdir>dir
  variable was set in the AM conditional.  If not, stupid directories
  are created and not needed...  duh.

This commit was SVN r8205.
2005-11-20 07:41:09 +00:00
Brian Barrett
8faa1884f0 * The last of the build system optimizations. Combine the component and
component/base Makefile.am files, reducing the time configure spends
  stamping out Makefiles at the end
* Install base_impl.h file when devel-headers are being installed

This commit was SVN r8200.
2005-11-20 01:03:01 +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
Brian Barrett
1302cb4072 The next in a long line of crazed build system changes from Brian. This was
originally suggested by Ralf Wildenhues, to try to speed autogen, configure,
and make (and possibly even make install).  Use automake's include directive
to drastically reduce the number of Makefile files (although the number of
Makefile.am files is the same - most are just included in a top-level
Makefile.am).  Also use an Automake SUBDIRs feature to eliminate the
dynamic-mca tree, which was no longer really needed.  This makes adding
a framework easier (since you don't have to remember the dynamic-mca
tree) and makes building faster (as make doesn't have to recurse through
the dynamic-mca tree)

This commit was SVN r7777.
2005-10-17 00:21:10 +00:00
Andrew Friedley
555ae37255 Add lib{opal,orte,mpi}.la to appropriate LIBADD's, some whitespace cleanup as well.
This commit was SVN r7477.
2005-09-22 12:28:54 +00:00
Jeff Squyres
2b82224a4f Remove superflous ; (actually causes an error in some cases)
This commit was SVN r7405.
2005-09-16 12:27:25 +00:00
George Bosilca
e501768f10 Sleep is defined in the unistd.h file, do not forget to include it on the dependencies list.
This commit was SVN r7301.
2005-09-11 20:05:17 +00:00
Jeff Squyres
e8da20a6ae Fix VPATH build
This commit was SVN r7281.
2005-09-09 22:20:37 +00:00
Jeff Squyres
8ec6721f24 Prior fix for the ROMIO re-#define problem didn't really fix the
problem because Autoconf replaced the "#undef ..." with "#define
...".  Fix this by not putting the "#undef ..." statement directly in
romioconf.h[.in] -- but rather having romioconf.h[.in] #include
romioconf-undefs.h, which has the #undef statements.

This commit was SVN r7252.
2005-09-09 10:33:04 +00:00
Jeff Squyres
e8b120fbf2 - Add some #undef's so that we don't conflict with the
AC-automatically-generated macros
- Remove a useless #include

This commit was SVN r7228.
2005-09-08 09:42:19 +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
560f323048 Update to ensure that the macros AC_REQUIRE'd by AC_CHECK_HEADER are
always invoked properly.

This commit was SVN r7147.
2005-09-02 11:01:07 +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
9d6c22b0d5 Commit 2 of 2 to shorten romio component filenames: change the sym
links from mca_io_romio_dist_* to io_romio_*

This commit was SVN r7066.
2005-08-27 15:33:42 +00:00
Jeff Squyres
8006b1a5a8 Part 1 of 2 of a commit to reduce filenames in the romio component
(because we kept bumping up against the max filename limit in "tar"
when making tarballs, especially if the version number got long).

This commit was SVN r7065.
2005-08-27 15:17:25 +00:00
Brian Barrett
523fa13ed8 * don't include ompi_config.h in mpi.h. This was causing some not-so
friendly #defines to be included in mpi.h (even for users), such as
  _GNU_SOURCE, which can have some really big consequences on Linux.
  Instead, add mpi.h to AC_CONFIG_HEADERS and just include the #defines
   we have to have for mpi.h and the C++ bindings.

This commit was SVN r7022.
2005-08-25 00:41:26 +00:00
Jeff Squyres
cf16a521c8 Ensure to get ompi/include/constants.h
This commit was SVN r6845.
2005-08-12 21:42:07 +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
Brian Barrett
4d580fa706 * disable TCP ptl and oob components if there is no TCP support (look at
sockaddr_in - seems to be a good indicator)
* disable util/if code if no inet devices (again, no sockaddr_in)
* add enable/disable flag to disable stacktrace pretty-print code
  (defaults to enabled).  Seems there's something funky going on with
  the preprocessor on Red Storm that was causing problems - this was
  the easiest fix
* clean up a bunch of the configure.m4 files to remove bogus comments,
   properly comment them, fix the dumb logic for happy/unhappy
* Create a macro for testing both header and library for a package, 
  since we seem to do this kind of test quite often.  Handles the
  -I and -L search paths properly (including stripping out /usr and
  /usr/local if not needed)
* Converted mvapi components to configure.m4, using the nice new
  ompi_check_package macro (above)

This commit was SVN r6454.
2005-07-13 04:16:03 +00:00
Brian Barrett
586918853c * Turn thread support on by default, but disable both mpi and progress
threads (basically, same as before, but we now link the right thread
  libraries). 
* Add disable-io-romio flag to disable compiling ROMIO
* Migrathe mvapi btl from configure.stub to configure.m4

This commit was SVN r6453.
2005-07-13 01:07:31 +00:00
Brian Barrett
29b6112358 * remove module flag from linking romio - it should be in the romio component
(which it is) and not romio itself
* Work around dark, evil linker voodoo that prevented building both shared
  and static libraries on OS X.  The global variables in ad_init.c were
  not initialized, and so were marked as tentative definitions, which caused
  much pain for the linker later on.  Initializing them makes them
  actual definitions and the problem goes away.  I hate linkers.

This commit was SVN r6439.
2005-07-12 18:06:15 +00:00
Brian Barrett
6e4f33e48c * after careful consideration, there's really no reason to force config.m4
components to succeed with --enable-dist.  Instead, just add them to
  all_components and make dist will still work - we're going to stamp out
  the Makefiles no matter what
* Add missing header to ob1 pml for make dist
* Clean up the Portals BTL configure code

This commit was SVN r6413.
2005-07-10 01:09:31 +00:00
Brian Barrett
a991d883c1 * Rewrite ompi_mca.m4 to use m4_defined lists of projects (ompi, orte, etc.),
frameworks, and components without configure scripts instead of
  hard-coded shell variables (for projects and frameworks) and 
  shell variable building (for components).
* Add 3rd category of component configuration (in addition to configure
  scripts and no-configured components): configure.m4 components.  These
  components can only be built as part of OMPI (like no-configure), but
  can provide an m4 file that is run as part of the main configure
  script.  These macros can set whether the component should be built, 
  along with just about any other configuration wanted.  More care must
  be taken compared to configure components, as doing things like setting
  variables or calling AC_MSG_ERROR now affects the top-level configure
  script (so calling AC_MSG_ERROR if your component can't configure
  probably isn't what you want)
* Added support to autogen.sh for the configure.m4-style components,
  as well as building up the m4_define lists ompi_mca.m4 now expects
* Updated a number of macros to be more config.cache friendly (both
  so that config.cache can be used and so the test can be quickly
  run multiple times in the same configrue script):
    - ompi_config_asm
    - c_weak_symbols
    - c_get_alignment
* Added new macros to be shared when configuring components:
    - ompi_objc.m4 (this actually provides AC_PROG_OBJC - don't ask...)
    - ompi_check_xgrid
    - ompi_check_tm
    - ompi_check_bproc
* Updated a number of components to use configure.m4 instead of
  configure.stub
    - btl portals
    - io romio
    - tm ras and pls
    - bjs, lsf_bproc ras and bproc_seed pls
    - xgrid ras and pls
    - null iof (used by tm) 

This commit was SVN r6412.
2005-07-09 18:52:53 +00:00
Brian Barrett
0ae16f2ab7 * add local hook to remove static-components.h in distclean target. The
files are generated by configure, and not part of the tarball, so
  distclean would be the right place to remove them.

This commit was SVN r6390.
2005-07-08 13:54:12 +00:00
Jeff Squyres
888f0c5afd Remove the EXTRA_DIST=VERSION stuff from all the Makefile.am's so that
"make dist" can succeed.  Duh.  :-\

This commit was SVN r6351.
2005-07-05 19:01:47 +00:00
Jeff Squyres
ba99409628 Major simplifications to component versioning:
- After long discussions and ruminations on how we run components in
  LAM/MPI, made the decision that, by default, all components included
  in Open MPI will use the version number of their parent project
  (i.e., OMPI or ORTE).  They are certaint free to use a different
  number, but this simplification makes the common cases easy:
  - components are only released when the parent project is released
  - it is easy (trivial?) to distinguish which version component goes
    with with version of the parent project
- removed all autogen/configure code for templating the version .h
  file in components
- made all ORTE components use ORTE_*_VERSION for version numbers
- made all OMPI components use OMPI_*_VERSION for version numbers
- removed all VERSION files from components
- configure now displays OPAL, ORTE, and OMPI version numbers
- ditto for ompi_info
- right now, faking it -- OPAL and ORTE and OMPI will always have the
  same version number (i.e., they all come from the same top-level
  VERSION file).  But this paves the way for the Great Configure
  Reorganization, where, among other things, each project will have
  its own version number.

So all in all, we went from a boatload of version numbers to
[effectively] three.  That's pretty good.  :-)

This commit was SVN r6344.
2005-07-04 20:12:36 +00:00
Jeff Squyres
6a9c9953bc Remove a bunch of -I's that are no longer necessary with
properly-prefixed static-component.h files.

This commit was SVN r6342.
2005-07-04 18:24:58 +00:00
Jeff Squyres
05e8cb7e5b Add a few -I's for ROMIO
This commit was SVN r6337.
2005-07-04 10:55:17 +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
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
39dbeeedfb * rename locking code from ompi to opal
This commit was SVN r6327.
2005-07-03 22:45:48 +00:00
Brian Barrett
ccd2624e3f * rename ompi_progress to opal_progress
This commit was SVN r6326.
2005-07-03 21:57:43 +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
Brian Barrett
e422152b55 * make romio compile
* fix typos in ompi/Makefile.am

This commit was SVN r6310.
2005-07-02 17:56:20 +00:00
Jeff Squyres
aa056f7bfd First cut of OMPI Makefile.am's, plus a few more catchup updates in orte
This commit was SVN r6286.
2005-07-02 15:06:47 +00:00
Jeff Squyres
4ab17f019b Rename src -> ompi
This commit was SVN r6269.
2005-07-02 13:43:57 +00:00