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

150 Коммитов

Автор SHA1 Сообщение Дата
Jeff Squyres
faf63c68f8 Merge over from the /tmp/fortran-stuff branch
- split mpif.h into mpif.h and mpif-common.h[.in]
- mpif-common.h is included by various f90 things and contains output
  from configure
- mpif.h defines some f77-specific stuff and then includes
  mpif-common.h 

This commit was SVN r9997.
2006-05-20 02:15:49 +00:00
Jeff Squyres
299f4fdb2c Oops -- fix the comment. A victim of cut-n-paste.
This commit was SVN r9971.
2006-05-18 18:10:12 +00:00
Jeff Squyres
942f9e8f8d Fixes for ticket:14. Lengthy discussion is on that ticket and in a
comment in ompi_comm_invalid() in
source:/trunk/ompi/communicator/communicator.h.

Short version:
- ompi_comm_invalid() returns TRUE for MPI_COMM_NULL
- therefore MPI_COMM_C2F needs to explicitly check for MPI_COMM_NULL
  (because it uses ompi_comm_invalid())
- make ~20 MPI functions only call ompi_comm_invalid() instead of
  calling ompi_comm_invalid() *and* checking for MPI_COMM_NULL (~40 MPI
  functions already only called ompi_comm_invalid() -- we should be
  consistent)
- similar issue for ompi_win_invalid(), so I added a cross-referencing
  comment in win.h and fixed MPI_WIN_SET_NAME to only call
  ompi_win_invalid() (and not check for MPI_WIN_NULL)

This commit was SVN r9970.
2006-05-18 18:05:46 +00:00
Jeff Squyres
800ba39152 Fixes for:
- make dist
- proper inclusion of files between trivial and small
- vpath

This commit was SVN r9964.
2006-05-18 11:26:52 +00:00
Jeff Squyres
a7c854f878 Add some comments explaining why these functions have an interface but
no definition.

This commit was SVN r9962.
2006-05-17 22:22:29 +00:00
Jeff Squyres
c3aeaed77b SPAWN_MULTIPLE should actually be in the "small" size, not the
"medium" size.

This commit was SVN r9961.
2006-05-17 21:58:48 +00:00
Craig E Rasmussen
94f463c924 Changes to remove attr_fn functions from the mpi namespace/module.
This commit was SVN r9960.
2006-05-17 21:31:04 +00:00
Jeff Squyres
95c1f12b97 Missed this one yesterday
This commit was SVN r9958.
2006-05-17 16:31:25 +00:00
Jeff Squyres
1f8cc1af65 Add an extra -I so that compilers can find mpi-f90-interfaces.h in a
vpath build.

This commit was SVN r9937.
2006-05-16 17:30:42 +00:00
Jeff Squyres
d3ff507bc2 Add explicit path to mpi-f90-interfaces.h.sh. Blast; I could have
sworn that I committed this yesterday.

This commit was SVN r9935.
2006-05-16 15:00:23 +00:00
Jeff Squyres
3e60cd163e Ensure that mpi_sizeof.f90 is added to the build
This commit was SVN r9925.
2006-05-15 19:32:01 +00:00
Jeff Squyres
332954e168 Spell the AC_SUBST'ed names properly
This commit was SVN r9924.
2006-05-15 19:31:38 +00:00
Jeff Squyres
171585ff34 Ensure to put implicit none *before* the header file includes
This commit was SVN r9923.
2006-05-15 19:31:01 +00:00
Craig E Rasmussen
13c113b39c Changed INOUT to IN in MPI_*_SET_ATTR functions.
This commit was SVN r9922.
2006-05-15 17:13:20 +00:00
Craig E Rasmussen
a547a64f93 Changed INOUT to IN in MPI_*_SET_ATTR functions.
This commit was SVN r9916.
2006-05-15 16:00:04 +00:00
Edgar Gabriel
7e99dc4301 - fix in comm_spawn_multiple: we cannot check for the errorcodes array
being null, if the constant MPI_ERRCODES_IGNORE is defined as (void *)
NULL;
- the communicator in file open has to be an intra-communicator.

This commit was SVN r9893.
2006-05-11 13:23:53 +00:00
Jeff Squyres
87a2458bb1 Make sure to use the C version of the string.
This commit was SVN r9796.
2006-05-03 03:29:06 +00:00
Brian Barrett
1aa13c1e5c * do proper fortran string handling for the MPI-IO functions that take string
arguments.  Thanks to Bernard Knaepen for bringing this to our attention.

This commit was SVN r9792.
2006-05-02 14:39:11 +00:00
Craig E Rasmussen
8a16f844ec Changes MPI_Intercomm_merge high variable from integer to logical
This commit was SVN r9783.
2006-05-01 18:58:35 +00:00
Craig E Rasmussen
0c584d783e Changes MPI_Intercomm_merge high variable from integer to logical
This commit was SVN r9782.
2006-05-01 18:58:05 +00:00
Jeff Squyres
22dbda116e Add in oodles of missing files
This commit was SVN r9767.
2006-04-28 02:22:19 +00:00
Craig E Rasmussen
888c19b9ee Changed bool Fortran type to logical
This commit was SVN r9766.
2006-04-27 22:49:06 +00:00
Craig E Rasmussen
bd77c2b212 Changed bool Fortran type to logical
This commit was SVN r9765.
2006-04-27 22:48:07 +00:00
Craig E Rasmussen
9333a2628b Added counter to output name and changed bool Fortran type to logical
This commit was SVN r9764.
2006-04-27 22:46:48 +00:00
George Bosilca
29fe545451 Remove all references to the ompi_mpi_long_long variable. The MPI_LONG_LONG is now
a synonym to MPI_LONG_LONG_INT.

This commit was SVN r9703.
2006-04-24 22:15:42 +00:00
Jeff Squyres
0556c129df Fix MPI_*_GET_ATTR flag parameter to be of type logical. Thanks to
Michael Kluskens for pointing this out.

This commit was SVN r9676.
2006-04-21 04:31:49 +00:00
Craig E Rasmussen
6de9755919 Added counter to output macro name
This commit was SVN r9675.
2006-04-20 21:30:28 +00:00
Craig E Rasmussen
8646604497 Fixed to match Jeff S's changes to mpi-f90-interfaces.h.sh
This commit was SVN r9674.
2006-04-20 21:18:04 +00:00
Craig E Rasmussen
65d5e18e9b Fixed to match Jeff S's changes to mpi-f90-interfaces.h.sh
This commit was SVN r9673.
2006-04-20 21:17:09 +00:00
Jeff Squyres
f8e634d6ca Bring over /tmp/f90-stuff branch to the trunk.
svn merge -r 9453:9609 https://svn.open-mpi.org/svn/ompi/tmp/f90-stuff .

Several improvements over the current F90 MPI bindings:

- The capability to make 4 sizes of the F90 bindings:
  - trivial: only the F90-specific MPI functions (sizeof and a few
    others)
  - small: (this is the default) all MPI functions that do not take
    choice buffers
  - medium: small + all MPI functions that take one choice buffer
    (e.g., MPI_SEND)
  - large: all MPI functions, but those that take 2 choice buffers
    (e.g., MPI_GATHER) only allow both buffers to be of the same type
- Remove all non-standard MPI types (LOGICAL*x, CHARACTER*x)
- Remove use of selected_*_kind() and only use MPI-defined types
  (INTEGER*x, etc.)
- Decrease complexity of the F90 configure and build system

This commit was SVN r9610.
2006-04-11 03:33:38 +00:00
Jeff Squyres
f710ef5b2b Commit 1.5 of 2: just like r9560, we need to make the MPI_*_C2F
functions return an invalid fortran handle (-1) if an invalid C handle
is passed in.

Just so it's logged somewhere -- it looks like commit 2 of 2 as noted
in the r9560 commit message (ok, 3 of 3 if you're really counting),
where we have to edit the C interface functions to check for NULL, is
going to be far easier than I thought -- many (but not all) of the C
interface functions already check for NULL MPI handles (either
directly or through helper functions).  

Woo hoo for foresight...

This commit was SVN r9561.

The following SVN revision numbers were found above:
  r9560 --> open-mpi/ompi@e00c6053dc
2006-04-07 04:01:22 +00:00
Jeff Squyres
e00c6053dc Commit 1 of 2: be consistent in the MPI_*_F2C functions for the
handling of invalid Fortran handles.  Per MPI-2:4.12.4, if we get an
invalid Fortran handle, we should return an invalid C handle.  Before
this commit, we checked if the fortran handle index was out of range
(i.e., <0 or >sizeof(array)).  If so, we used to return MPI_*_NULL
(i.e., a valid C handle).  But to be faithful to MPI-2:4.12.4, we
now return NULL (an invalid C handle).

If the fortran index is in bounds but is an index for an MPI object
that has already been freed, the code already returns NULL because the
entry in the array will be NULL (i.e., we already did what
MPI-2:4.12.4 said for this case).

Hence, this commit makes the handling of invalid fortran handles in
the MPI_*_F2C functions be uniform: we always return NULL.

Commit 2 of this will be to edit just about every C interface function
(!) to ensure that MPI handles are not NULL.  Otherwise, if the user
calls a fortran interface function with an invalid handle, the fortran
interface function will call MPI_*_F2C and blindly pass the result to
the back-end C function.  The C function will eventually end up trying
to dereference it -- segv.  Having a run-time check for NULL and
invoking an MPI exception is far more social (e.g., the user can get a
stack trace out of MPI_ABORT) and consistent (i.e., we're already
checking for MPI_*_NULL in the C interface functions).

Since all the C interface functions have all the machinery for
run-time parameter checking, and they all already check for
MPI_*_NULL, it's easy enough to add another check for NULL.

This commit was SVN r9560.
2006-04-07 03:49:58 +00:00
Sven Stork
e6b0828a4f - add missing lb check
This commit was SVN r9516.
2006-04-03 13:22:04 +00:00
George Bosilca
285b1af2a7 Follow the standard when the count is set to zero. Or let me say it differently,
follow the statement from the standard that make the most sense to me. In this
particular case this statement is:
If there is no active handle in the list it returns outcount = MPI_UNDEFINED.

This commit was SVN r9512.
2006-04-01 07:39:55 +00:00
George Bosilca
ae47cbfe02 Accept an array of request set to NULL if the count is set to ZERO.
This commit was SVN r9504.
2006-03-31 20:32:56 +00:00
Sven Stork
711b30fbac - introduction of user buffer checking for pt2pt operations
This commit was SVN r9449.
2006-03-29 09:26:27 +00:00
George Bosilca
85bb1a9c90 Add one more argument to the copy functions for the MPI objects. As this argument
is the last one on the list and as on C the caller "make it right" this addition
will not affect the way we handle the user defined copy functions. Only the C
version of the function has this additional parameter. As it represent the pointer
to the newly created MPI object It hold the key to allow us to modify the new
object (communicator, window or type) depending on some key stored on the initial
communicator.

This commit was SVN r9371.
2006-03-23 04:47:14 +00:00
Tim Woodall
bd870519fd - modified convertor copy_and_prepare routines to accept an addition
flag, new flags to be included when convertor is initialized
- modified pml/btl module defs and added stub functions for diagnostic
  output routines to dump state of queues / endpoints
- updates to data reliability pml

This commit was SVN r9329.
2006-03-17 18:46:48 +00:00
Mohamad Chaarawi
b8c9adc833 checking of multiply included/excluded processes in
group_range_incl/excl has now been separated from the implementation.

This commit was SVN r9311.
2006-03-16 17:51:16 +00:00
Rainer Keller
a8144cca8d - Fix the return codes -- not OMPI, but MPI..
- Use the datatype-checks of bindings.h within recv.
   However, for the time being disable the check for overlapped,
   as it is not correctly set.

This commit was SVN r9298.
2006-03-16 09:42:46 +00:00
George Bosilca
d19e924ca8 gcc print out: warning: ISO C90 forbids mixed declarations and code.
This commit was SVN r9283.
2006-03-14 22:27:19 +00:00
Mohamad Chaarawi
c5a8870f6b move the implementation of the group creation functions into according back-end
functions. 

This commit was SVN r9281.
2006-03-14 21:01:46 +00:00
Edgar Gabriel
073c6e6c32 The f2c interface of these routines have to do proper conversation of
fortran strings to c strings, else the name-publishing and name-lookup
and all subsequent calls (e.g. connect/accept) do not work with fortran.

This commit was SVN r9272.
2006-03-13 22:56:56 +00:00
Edgar Gabriel
be9ea4d1b0 we should pass c_command to MPI_Comm_spawn, and not the fortran version
of the string. Since it is relevant fix, however not affecting any other
part of the source code, should probably still go onto the 1.0 branch.

This commit was SVN r9214.
2006-03-07 23:13:42 +00:00
George Bosilca
679ccbcac7 Correctly handle the MPI_STATUSES_IGNORE, and trigger the MPI error handler and return the
same error code.

This commit was SVN r9206.
2006-03-06 16:59:46 +00:00
Jeff Squyres
2cceba7230 Fix to George's and my bugs. :-) A comedy of errors made the test
case still compile properly, even though these bindings were wrong.  :-(

- Both interface functions are necessary.
- I accidentally had a subroutine interface named the same thing as the
  back-end F77 function -- a definite no-no.  Ensure that all F90
  interface functions have a suffix to make them different than the
  back-end F77 function names.
- Also parameterize the output() subroutine on the type of the argvs
  parameter to switch between the character arrays and the integer.

This commit was SVN r9202.
2006-03-04 19:36:13 +00:00
George Bosilca
a649ebc7c6 MPI_Comm_spawn_multiple does not need to have 2 definitions. Moreover,
this function is not allowed to call itself recursively.

This commit was SVN r9201.
2006-03-04 19:22:55 +00:00
George Bosilca
bd109c90f5 One of the , was missing.
This commit was SVN r9199.
2006-03-04 17:41:57 +00:00
Jeff Squyres
9d119109b6 Change the types of some of the "special" constants in mpif.h so that
they will match the prototypes in the [styictly-typed] MPI F90
bindings.  Specifically, fix up MPI_COMM_SPAWN and
MPI_COMM_SPAWN_MULTIPLE so that the constants MPI_ARGV_NULL,
MPI_ERRCODES_IGNORE, and MPI_ARGVS_NULL can be used in the F90
bindings.  Thanks to Michael Kluskens for pointing this out to us.

Some work still remains in the F90 bindings -- we are missing all
places where choice buffers can be of type CHARACTER.

This commit was SVN r9198.
2006-03-04 14:24:44 +00:00
Jeff Squyres
c31e515db1 Since we've had problems recognizing the "special" Fortran constants,
add an explicit test case that checks for them.  It is necessary to
put this test function here because the OMPI_IS* macros are only
defined in this directory.

This commit was SVN r9195.
2006-03-04 13:23:19 +00:00