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.
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.
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.
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.
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.
args from the old data-type. As this args are only read-only, I don't want to have several
copies around, so I add a reference count to them and simply attach them to the new
datatype. The args array now get freed only when the last reference dissapear.
This commit was SVN r9191.
you can't be in a post and a start at the same time, and that is clearly
legal to do
* Fix interptretation of when the epochs start for MPI_Fence. Only start
an epoch if communication actually occurs, otherwise it isn't actually
an epoch. I don't know who thought that wording in the MPI standard
was a good idea, but can't change it now...
This commit was SVN r9139.
MPI-2:6.3.4 says about reduction operations
* Have the point-to-point one-sided component spew a warning and return
an error if a non-predefined datatype is used with an MPI_OP other
than MPI_REPLACE. Yes, this violates the MPI standard, but it's the
best we can do until George and I implement support for figuring out
where all the locations to update are..
This commit was SVN r9134.
Note, the checksums are not enabled currently, setting to zero as the
convertor is not ready for checksums yet.
Also, we can't call unpack/pack on convertor with 0 bytes, otherwise it
crashes.
This commit was SVN r9062.
- Add more checks on the params to ensure that the user conformed to
MPI-2 (i.e., can have MPI_UNDEFINED for p *or* r in the real/complex
functions, but not both)
- Always return MPI_ERR_ARG, not MPI_ERR_OTHER -- seems to make a
little more sense here, since any errors that are returned are
solely because of the arguments that were passed into the function
This commit was SVN r9037.
support for Fortran 90 module flags in the wrapper compilers when I
re-wrote them to be less project-specific. Re-add that support and drop
the ugly install in include hack I had done.
This commit was SVN r9003.
changes. The two Big Changes are elegance (much more re-use of code
rather than cut-n-pasting the same code over and over and over and...)
and enabling cross-compilation for F77 and F90 (because we actually
have to *run* some compiled F77 and F90 programs for some of the
tests, which obviously won't work in a cross-compilation environment
-- so enable the use of config.cache to load such values in
cross-compiling environments).
This commit was SVN r8991.
- 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.
* Implement win_lock and win_unlock in the pt2pt component. Not well
tested, but appears to move bits if properly motivated...
This commit was SVN r8922.
It appears that some compilers look in the library paths and others in
the include paths, so just have both available and save ourselves the
trouble.
This commit was SVN r8897.
Granger for bringing this to our attention.
This needs to be modified slightly to go to the v1.0 branch. Will
submit patch via e-mail.
This commit was SVN r8872.
* Implement fortran handle -> c handle tracking
* Remove some unneeded locking around free lists (the free list
macros do their own locking)
* Try to be a bit more memory friendly with the w_mode setting /
checking
This commit was SVN r8865.
complete, but stable enough that it will have no impact on general development,
so into the trunk it goes. Changes in this commit include:
- Remove the --with option for disabling MPI-2 onesided support. It
complicated code, and has no real reason for existing
- add a framework osc (OneSided Communication) for encapsulating
all the MPI-2 onesided functionality
- Modify the MPI interface functions for the MPI-2 onesided chapter
to properly call the underlying framework and do the required
error checking
- Created an osc component pt2pt, which is layered over the BML/BTL
for communication (although it also uses the PML for long message
transfers). Currently, all support functions, all communication
functions (Put, Get, Accumulate), and the Fence synchronization
function are implemented. The PWSC active synchronization
functions and Lock/Unlock passive synchronization functions are
still not implemented
This commit was SVN r8836.
implementation was not thread safe). See lengthy comment in
ompi/mpi/cxx/intercepts.cc::ompi_mpi_cxx_op_intercept() for a full
explanation.
This commit was SVN r8606.
confuses the Lahey compiler (because it doesn't want to name a module
mpi_kinds.ompi_module). We shouldn't need this because we're already
touching a sentinel file (mpi_kinds.ompi_module) for make
dependencies; we don't need the compiler-generated module to be named
that.
This commit was SVN r8571.
- Fix some typos from last commit
- Add collectives of intercommunicators
- Move the static current_op member from Intracomm to Comm
--> this is still a remaining problem: the global variable
current_op is not thread safe!
This commit was SVN r8520.
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.
case of:
sizeof(MPI_Flogical) != sizeof (int)
and
Fortran value of .TRUE. != 1
as is often the case.
- Check in configure the value of .TRUE., the C-type coresponding to
logical and check, that fortran compiler does not do something strange
with arrays of logicals
- Convert all occurrences of logicals in the fortran wrappers, only
in case it is needed.
*Please note* Implementation of MPI_Cart_sub needed special treatment.
- Output these value in ompi_info -a
- Clean up the prototypes_mpi.h to just have a single definition and
thereby deleting the necessity for prototypes_pmpi.h
- configured, compiled and tested with F90-program, which uses
MPI_Cart_create and MPI_Cart_get:
linux ia32, gcc (no testing, as no f90)
linux ia32, gcc --disable-mpi-f77 --disable-mpi-f90 (had a bug there)
linux ia32, icc-8.1
linux opteron, gcc-3.3.5, pgcc, pathccx/pathf90 (tested just
pgi-compiler)
linux em64t, gcc, icc-8.1 (tested just icc)
This commit was SVN r8254.