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

58 Коммитов

Автор SHA1 Сообщение Дата
Jeff Squyres
d6f23a727d - Add missing MPI_INTEGER #define
- After consulting with George, only define the fortran types if the
  back end Fortran compiler actually supports them.  We always have
  the corresponding global C datatypes, but it seems nicer user
  behavior to have them fail at compile time rather than at run time
  if they try to use MPI_INTEGER8 and it doesn't exist (in which case
  ompi_mpi_integer8 will be a synonym for ompi_mpi_datatype_null)

This commit was SVN r5520.
2005-04-28 11:42:42 +00:00
Jeff Squyres
73d284eb13 Change the name of the "OMPI_MPI" macro to "OPEN_MPI" which is less
redundant and less confusing.

This commit was SVN r5512.
2005-04-27 10:23:32 +00:00
Jeff Squyres
fe2522f315 A bunch of changes to support MPI_INTEGER*x, MPI_REAL*x,
MPI_COMPLEX*x, and some optional C datatypes in MPI reduction
operations.  These types are not technically supported by the letter
of the MPI standard, but are implied by the spirit of it (and there
are definitely users that use them in real applications)

- Add checks in configure for back-end C types for MPI_INTEGER*x and
  MPI_REAL*x
- Create C data structs for MPI_COMPLEX*x
- Fixed typo for MPI_INTEGER8 in mpi.h
- Updated configure macros to create MPI_FORTRAN_INTEGER* defines, as
  opposed to MPI_FORTRAN_INT, which was causing [me] lots of confusion
  (between C "*_INT" names and Fortran "*_INT" names).  This caused
  some trivial updates in ddt, ompi_info, and the MPI layer to match.
- Update ompi_info to show whether we have each MPI_INTEGER*x,
  MPI_REAL*x, and MPI_COMPLEX*x
- Extended reduction operations for optional datatypes:
  - "C integer" now includes long long int, long long, and unsigned
    long long
  - "Fortran integer" now includes MPI_INTEGER*x
  - "Floating point" now includes MPI_REAL*x
  - "Complex" now includes MPI_COMPLEX*x

This commit was SVN r5511.
2005-04-27 10:23:06 +00:00
Josh Hursey
24e3ae8b94 Remove extraneous DECLSPEC on enum.
This commit was SVN r5442.
2005-04-19 14:33:02 +00:00
Brian Barrett
0964152893 clean up the OMPI_BUILDING #define. Rather than being defined to 1 if
we are part of the source tree and not defined otherwise, we are going
with an always defined if ompi_config.h is included policy.  If
ompi_config.h is included before mpi.h or before OMPI_BUILDING is set,
it will set OMPI_BUILDING to 1 and enable all the internal code that
is in ompi_config_bottom.h.  Otherwise, it will only include the
system configuration data (enough for defining the C and C++ interfaces
to MPI, but not perturbing the user environment).

This should fix the problems with bool and the like that the Eclipse
folks were seeing.  It also cleans up some build system hacks that
we had along the way.

Also, don't use int64_t as the default size of MPI_Offset, because it
requires us including stdint.h in mpi.h, which is something we really
shouldn't be doing.

And finally, fix a ROMIO Makefile that didn't set -DOMPI_BUILDING=1,
as ROMIO includes mpi.h, but not ompi_config.h

This commit was SVN r5430.
2005-04-19 03:51:20 +00:00
Brian Barrett
372434f9dc * Merge in all changes from the mpi-devel branch
This commit was SVN r5040.
2005-03-26 18:49:16 +00:00
Jeff Squyres
6b055a767d Fix parameter names in some default functions. I know that
technically speaking, this is a cosmetic change, but having the wrong
parameter names was extremely confusing -- it took me a while (and I
had to cross-reference MPI-1) to figure out that they were wrong, and
I was thinking about the functions incorrectly as a result.  Our mpi.h
should have the Right names in order to not confuse users (and
developers!).

This commit was SVN r5034.
2005-03-26 03:51:55 +00:00
Jeff Squyres
3f5541349a Add UC copyright
This commit was SVN r5009.
2005-03-24 12:43:37 +00:00
George Bosilca
44c3dba63c Add the
This commit was SVN r4536.
2005-02-24 23:00:37 +00:00
George Bosilca
33f62c7f75 Add a new entry in the MPI_Status struct. We need a place to keep the cancelled flag which can
be set using MPI_Status_set_cancelled.

This commit was SVN r4522.
2005-02-24 00:12:26 +00:00
George Bosilca
422eb0fa11 Add the 3 typeclass parameters MPI_TYPECLASS_INTEGER, MPI_TYPECLASS_REAL and MPI_TYPECLASS_COMPLEX.
This commit was SVN r4510.
2005-02-23 08:16:09 +00:00
Jeff Squyres
3966e30902 Remove every part of MPI-2 one-sided functionality from the tree with
#if OMPI_WANT_MPI2_ONE_SIDED and some automake conditionals.  Also had
to add some AC_SUBSTs to eliminate part of mpif.h (otherwise the
"external" statements would have made undefined symbols).

All the MPI-2 one-sided functionality (including the skeleton
top-level MPI API functions that only invoke an MPI exception) can be
re-enabled with --enable-mpi2-one-sided.

This commit was SVN r3802.
2004-12-14 02:35:03 +00:00
Jeff Squyres
ac5f313af8 First cut at non-blocking IO progress. No asychronous progress
support is included because ROMIO is inherently thread-unsafe.

One possible way to have true asynchronous progress would be to use a
progress thread that wakes up and polls at some frequency when there
are non-blocking IO requests pending.  This is pretty icky, though --
it should definitely have an MCA parameter to enable/disable this
functionality, as well as another to control the polling frequency.

This also strengthens the argument that we need a v2 of the io
framework -- one that is not designed to exclusively support ROMIO --
one that does something unimaginably "better" for the parallel MPI-2
IO interface.  :-)

This commit was SVN r3786.
2004-12-12 15:29:29 +00:00
Jeff Squyres
616269a9be Add HLRS copyright
This commit was SVN r3665.
2004-11-28 20:09:25 +00:00
Jeff Squyres
e9ed717748 First cut at copyrights: IU, UTK, and some OSU. LANL and HLRS still
pending.

This commit was SVN r3655.
2004-11-22 01:38:40 +00:00
George Bosilca
72bc6ad0a6 Remove OMPI_DECLSPEC from the typedefs.
This commit was SVN r3288.
2004-10-22 17:47:53 +00:00
Prabhanjan Kambadur
4257467fec this is the big windows commit. there are more things which have gone into this than i can remember. but basically, we are looking for
1. header file and source file protections using #ifdef WIN32
2. new files and directories to support windows functionality
3. appropritate linkage symbols added (OMPI_DECLSPEC) for windows
4. some functions are unimplemented on the windows side. this is mostly
because there might not be need to implement it in windows land. eg., forking
a daemon off
5. Introduced locking mechanisms for windows

This commit was SVN r3286.
2004-10-22 16:06:05 +00:00
Prabhanjan Kambadur
dac14aaf94 committing the header file fixes for protection against C++ name mangling. This is a hge commit. Please make sure that your files are protected right. There is some redundan protection in that the protection has been added right at teh beginning and at teh end ion some cases even thught typedefs are not requred to be protected. But this was done in order to have teh minimal change to the code base
This commit was SVN r3246.
2004-10-20 22:31:03 +00:00
Tim Woodall
d23227214a increased bsend overhead
This commit was SVN r3211.
2004-10-19 20:53:15 +00:00
Tim Woodall
0df8ca90ea small re-org of request completion - moved test/wait out of pml
This commit was SVN r3066.
2004-10-12 15:50:01 +00:00
Edgar Gabriel
eae5533433 fixing MPI_ERR_LASTCODE in C and fortran
fixing the result of the Comm/group compare operations, 
since the enum in C starts with 0 and not with 1 :-)

This commit was SVN r2803.
2004-09-22 16:59:10 +00:00
Jeff Squyres
2137897b31 Oops! That change should not have been committed yet -- backing out...
This commit was SVN r2789.
2004-09-21 00:29:03 +00:00
Jeff Squyres
8724f59dbb Fix more fortran values
This commit was SVN r2786.
2004-09-21 00:25:08 +00:00
George Bosilca
7707eedb51 Some additions for MPI2. At the page 297 in the MPI2 standard several new predefined datatypes are introducted.
This commit was SVN r2762.
2004-09-19 10:16:00 +00:00
George Bosilca
6788ad6681 The new datatype engine. With this commit the engine is completly imported in OpenMPI.
Better memory handling, faster it adapt it's behaviour to the low level driver and to the
datatype representation. However, only the TCP driver has been modified to fit the new engine.

For Fortran the MPI_DATATYPE_NULL is now registered at index 0 in the translation table.

This commit was SVN r2757.
2004-09-19 07:20:24 +00:00
Jeff Squyres
eb4279559e Some fixes for the attribute code:
- move the attribute init section in ompi_mpi_init() down below where
  communicators are setup (we need MPI_COMM_WORLD to be setup before
  attributes and keyvals are setup)
- removed confusing extra wrapper class around ompi_hash_table_t;
  looks like it was a victim of slow eroding of members so I put took
  it out back and put it out of its misery
- added preliminary definitions for all the pre-defined keyvals.
  Still need more work here to assign their initial values, but I
  think Edgar was running into an atrribute problem and it may have
  been that the pre-defined attrs didn't yet exist.
- removed some LAM-specific predefined keyvals from mpi.h

This commit was SVN r2695.
2004-09-16 00:00:09 +00:00
Jeff Squyres
f6f0cccbec First cut of MPI_File / io MCA component framework. This also
includes the romio component.  Only blocking operations are supported
-- non-blocking stuff is pending some changes in the top-level
progression engine, and some threaded issues need to be worked out.

This commit was SVN r2655.
2004-09-14 10:55:10 +00:00
Jeff Squyres
434a09fbf1 Fix a bad MPI function prototype
This commit was SVN r2529.
2004-09-07 21:38:46 +00:00
George Bosilca
f9114b22a6 Removing the complaint about the attribute functions when we compile a C++ file.
Second level commit log: "The Great and Powerful Jeff Squyres figured out and fixed this bug remotely. All praise Jeff." ;) yup yup

This commit was SVN r2304.
2004-08-25 17:44:06 +00:00
Jeff Squyres
cfd5524ad5 Committing several things under one commit, but they're all at least
somewhat tied together and I'd rather have a consistent commit rather
than several smaller commits that individually break the tree:
- first cut of src/file/file.c: MPI_File handling.  More to come here.
- tweaked MPI_Info handling a bit: cause MPI_Info_f2c to invoke error
  handler if provided index is out of range (vs. returing
  MPI_INFO_NULL without invoking an error handler)
- moved general MPI MCA params off into their own .h and .c file (so
  that ompi_info can call it and therefore display MPI MCA params)
- first [abbreviated] cut of src/mca/io/base/* -- much more to come
  here; stripped down to basics for this commit
- filled in a small number of MPI_File* functions for testing purposes
- updated a bunch of doxygen docs
--> Unresolved questions about MPI_ERRORS_RETURN, MPI_ERRORS_ABORT,
    and MPI::ERRORS_THROW_EXCEPTIONS because of vagueness in MPI
    standard -- Edgar and I are discussing what to do here
--> Unresolved questions about what to do in a case like this:
      MPI_File_open(..., &file);
      MPI_File_close(&file);
      MPI_File_read(..., &file);
    because MPI-2:9.7 says that the default error handler on MPI_File
    handles is MPI_ERRORS_RETURN -- we can't even print a warning
    here!  This certainly violates the Law of Least Astonishment for
    MPI users (who certainly expect MPI functions that fail to
    complain loudly and to abort by default).

This commit was SVN r2136.
2004-08-14 01:56:05 +00:00
Jeff Squyres
726af9ea85 Revamp MPI_Info handling a bit:
- fix a few bugs
- convert/add doxygen comments for internal info functions in
  src/info/info.h (some comments were originally in src/info/info.c)
- make it thread safe
- make MPI_INFO_NULL be a real object (vs ((struct ompi_info_t*) 0))
- add error checking into top-level MPI functions
- add support in MPI_Info for "never freeing MPI handles" as a form of
  debugging i.e., check if see if you accidentally use a freed handle)
- add support for "print out a list of un-freed MPI_Info handles
  during MPI_FINALIZE"

This commit was SVN r2089.
2004-08-12 16:56:24 +00:00
Jeff Squyres
a721849e84 While waiting for a lengthy compile, I noticed a bunch of old remnants
from the "LAM/MPI" -> "Open MPI" name change that didn't convert
properly.  So this commit fixes all instances of "OMPI/MPI" to "Open
MPI".

This commit was SVN r1924.
2004-08-06 14:30:18 +00:00
Jeff Squyres
949bf3f51d Fix fortran bindings on systems with weak symbols
This commit was SVN r1773.
2004-07-17 20:10:03 +00:00
George Bosilca
c1f0e9bcc2 Change the datatype MPI_DATATYPE_NULL from NULL to a real datatype delacred
in src/datatype/dt_module.c. Now we can easily test for all the correct
flags on send and receive (like datatype commit ...)

This commit was SVN r1768.
2004-07-16 21:06:37 +00:00
Brian Barrett
000644007f * C++ MPI bindings. MPI:: only
This commit was SVN r1712.
2004-07-14 14:11:03 +00:00
Brian Barrett
25e7107517 * doh! I can't read. Only DELETE should be void*, the others should have
a last argument of int*.  Go back to the previous way for the others.

This commit was SVN r1658.
2004-07-13 04:58:39 +00:00
Brian Barrett
d71d949620 * fix prototypes for the strange COPY, DUP, DELETE functions - last argument
should be void* not int*

This commit was SVN r1654.
2004-07-13 04:41:55 +00:00
Tim Woodall
84dd3084b0 backed out changed to OMPI_THREAD_LOCK
This commit was SVN r1469.
2004-06-24 21:09:55 +00:00
Tim Woodall
9b830472fd changed THREAD_LOCK/THREAD_UNLOCK to OMPI_THREAD_LOCK/OMPI_THREAD_UNLOCK
to prevent conflicts w/ external libraries/headers

This commit was SVN r1467.
2004-06-24 20:51:46 +00:00
Edgar Gabriel
37b9a01025 updated the MPI error codes to be positiv. Completed the list
with all MPI-2 error codes, even if we are not using all of them at the moment.

This commit was SVN r1401.
2004-06-17 22:38:45 +00:00
George Bosilca
1e4dcd7f61 Remove the second prototypes for some functions.
This commit was SVN r1379.
2004-06-17 19:16:33 +00:00
George Bosilca
e1942d9068 Add the attribute default copy & delete functions for all types of objects: communicators, datatypes and
windows. Add the MPI 1 function to.

This commit was SVN r1372.
2004-06-17 18:29:35 +00:00
David Daniel
563ac2a338 First pass of lam -> ompi conversion
This commit was SVN r1191.
2004-06-07 15:33:53 +00:00
Vishal Sahay
62e5cbea60 Remove typos and add one more defn
This commit was SVN r1127.
2004-05-07 23:45:40 +00:00
Jeff Squyres
e4bbefd57b Fix for bug 845: elminiated an #if/#endif block that is only necessary
if we're going to suport non-ANSI compilers (in which case we would
need a corresponding #else block with a set of non-ANSI typedefs),
which we're not going to do.  :-)

This commit was SVN r1102.
2004-04-28 01:52:56 +00:00
George Bosilca
d45d74b36c Add the type for 2 more MPI predefined datatypes: lam_mpi_2cplex and lam_mpi_2dblcplex.
This commit was SVN r1100.
2004-04-27 18:26:05 +00:00
Prabhanjan Kambadur
ca48b3962b Changing some prototypes and also changing the functions. There were some spelling mistakes and other problems. Also commiting the MPI topology functions
This commit was SVN r1075.
2004-04-21 20:55:54 +00:00
Jeff Squyres
4be63d8cd2 Forgot to fix op global names, and forgot to add global for op_null.
Oops.

This commit was SVN r1063.
2004-04-20 23:10:05 +00:00
Jeff Squyres
7177358f23 Doh! Fix typo.
This commit was SVN r1060.
2004-04-20 22:35:13 +00:00
Jeff Squyres
ea6b6c4fd5 - Remove some extraneous ()'s
- Add type for MPI_OP_NULL
- Rename global op intrinsics
- Change errhandler globals back to instances, not pointers

This commit was SVN r1059.
2004-04-20 22:18:26 +00:00