Older gfortran compilers (e.g., the gfortran that ships in RHEL5) do
not support ISO_C_BINDING, and therefore do not support the
TYPE(C_PTR) type. As such, they cannot support the overloaded
interfaces for MPI_WIN_ALLOCATE_SHARED and MPI_SHARED_QUERY that are
mandated in MPI-3.
So we separate those interfaces out into a separate .F90 file that is
#include'd in the tkr mpi.F90 file. In this separate .F90 file, we
use an #if to determine whether the compiler supports ISO_C_BINDING or
not.
Also re-jiggered the order of testing in ompi_setup_mpi_fortran.m4: we
now need to test whether the compiler supports ISO_C_BINDING even when
we're only building the mpi module (not strictly when we're building
the mpi_f08 module).
Finally, tweaked the use-mpi-tkr/Makefile.am to:
* Add some proper dependencies for mpi.F90
* Allow the general AM compilation to be used instead of supplying a
specific rule for compiling mpi.F90
cmr=v1.8.2:ticket=trac:4736
This commit was SVN r32204.
The following Trac tickets were found above:
Ticket 4736 --> https://svn.open-mpi.org/trac/ompi/ticket/4736
Several problems with MPI_Win_allocate_shared and MPI_Win_shared_query
were discovered in a code review. This commit fixes them:
* Add _cptr versions of both subroutines in mpif-h, use-mpi-tkr, and
use-mpi-ignore-tkr directories
* Fix case of PMPI weak symbols for both C implementations
* Add MPI and PMPI f08 implementations of both subroutines (there is
no _cptr version in the mpi_f08 module)
* Fixed _f08 suffix on the f08 module of both subroutines
cmr=v1.8.2:ticket=trac:4736
This commit was SVN r32162.
The following Trac tickets were found above:
Ticket 4736 --> https://svn.open-mpi.org/trac/ompi/ticket/4736
mca_base_var_get now can return OPAL_ERR_NOT_FOUND if a variable no
longer exists. This commit updates the return code check to ensure
the correct MPI_T error code is returned to the user.
cmr=v1.8.2:reviewer=jsquyres
This commit was SVN r32161.
This corner case is now handled in the pml so the same code
is invoked for both MPI_Start and MPI_Startall.
This also correctly report an error if MPI_Startall is invoked twice
on a MPI_PROC_NULL persistent request.
This commit was SVN r32139.
This file has to be pre-emptively compiled to generate the module, but
then it also has to be included in libmpi_usempif08.
cmr=v1.8.2:ticket=trac:4736
This commit was SVN r32071.
The following Trac tickets were found above:
Ticket 4736 --> https://svn.open-mpi.org/trac/ompi/ticket/4736
Some parameters were ommited and compilation failed if
configured with --disable-weak-symbols
cmr=v1.8.2:ticket=trac:4736
This commit was SVN r32064.
The following Trac tickets were found above:
Ticket 4736 --> https://svn.open-mpi.org/trac/ompi/ticket/4736
Use the appropriate modules, don't use mpif-config.h.
cmr=v1.8.2:ticket=trac:4736
This commit was SVN r32052.
The following Trac tickets were found above:
Ticket 4736 --> https://svn.open-mpi.org/trac/ompi/ticket/4736
There is more comprehensive work regarding MPI_SIZEOF coming, but the
Fortran working group in the MPI Forum is debating this internally,
and I'm still doing more testing to get a final solution. So for the
moment, just remove real*16 and complex*32 support so that it compiles
porperly with older compilers (that do not support real*16 and
complex*32).
This commit was SVN r32048.
Move them all to fortran/use-mpi-f08, since that's the only directory
that uses them (the use-mpi-f08-desc directory has been disabled).
cmr=v1.8.2:ticket=trac:4736
This commit was SVN r32045.
The following Trac tickets were found above:
Ticket 4736 --> https://svn.open-mpi.org/trac/ompi/ticket/4736
Thanks to Michael Rachner for pointing out the issue.
cmr=v1.8.2:ticket=trac:4736
This commit was SVN r32042.
The following Trac tickets were found above:
Ticket 4736 --> https://svn.open-mpi.org/trac/ompi/ticket/4736
This is part one of several Fortran improvements and fixes. This
first part removes the now-defunct scripts that are used to generate
the .f90 files in the use-mpi-tkr implementation, and just commits the
output from those scripts. This makes long-term maintenance of the
use-mpi-tkr implementation simpler.
cmr=v1.8.2:reviewer=jsquyres:subject=Various Fortran fixes/improvements
This commit was SVN r32040.
This changeset :
- always call the low/level implementation for :
* MPI_Alltoallv
* MPI_Neighbor_alltoallv
* MPI_Alltoallw
* MPI_Neighbor_alltoallv
- fix mca_coll_tuned_alltoallv_intra_basic_inplace
so zero size types are correctly handled
cmr=v1.8.2:reviewer=bosilca:ticket=4715
This commit was SVN r32013.
The following Trac tickets were found above:
Ticket 4715 --> https://svn.open-mpi.org/trac/ompi/ticket/4715
It is valid to lock/unlock MPI_PROC_NULL. It probably isn't work tracking
whether MPI_PROC_NULL is locked for MPI_PROC_NULL RMA operations so this
is probably the permanent solution.
Closes trac:4720
Tracking the 1.8.2 issue with this CMR.
cmr=v1.8.2:reviewer=bbenton
This commit was SVN r32011.
The following Trac tickets were found above:
Ticket 4720 --> https://svn.open-mpi.org/trac/ompi/ticket/4720
is really special as the weights can be one of the following three
values (NULL, EMPTY or some legal value). As such, we need a complex
if to correctly convert the Fortran value to the corresponding C
value. Thus, always defining the c_ array is the simplest and most
straighforward approach.
cmr=v1.8.2:reviewer=jsquyres
This commit was SVN r31955.
Issue noted by Walter Spector on the user's mailing list.
Throwing to Craig Rasmussen for review.
cmr=v1.8.2:reviewer=jsquyres
This commit was SVN r31933.
This fixes a bug introduced in :
- r31815 (trunk)
- r31853 (v1.8 branch)
cmr=v1.8.2:reviewer=bosilca
This commit was SVN r31888.
The following SVN revision numbers were found above:
r31815 --> open-mpi/ompi@8bafe06c57
r31853 --> open-mpi/ompi@bff944d766
- fix bugs
- silent warnings
cmr=v1.8.2:ticket=4651:reviewer=bosilca
This commit was SVN r31831.
The following Trac tickets were found above:
Ticket 4651 --> https://svn.open-mpi.org/trac/ompi/ticket/4651
This commit :
- Correctly retrieve the communicator size when
checking memory and parameters
- Ensure (sendtype,sendcount) and (recvtype,recvcount)
matches and return with MPI_ERR_TRUNCATE otherwise
- Return with MPI_SUCCESS without invoking the low level
if no data is going to be transferred
- Fixes trac:4506
cmr=v1.8.2:reviewer=bosilca
This commit was SVN r31815.
The following Trac tickets were found above:
Ticket 4506 --> https://svn.open-mpi.org/trac/ompi/ticket/4506
MPI_Cart_Create/MPI_Graph_create/MPI_Dist_Graph
Fixes trac:4581
This commit was SVN r31716.
The following Trac tickets were found above:
Ticket 4581 --> https://svn.open-mpi.org/trac/ompi/ticket/4581
Per #4590, we now ''require'' the PROCEDURE keyword support in Fortran
for the mpi_f08 module. So if the Fortran compiler doesn't support
it, then we won't build the mpi_f08 module.
Fixes trac:4590
This commit was SVN r31588.
The following Trac tickets were found above:
Ticket 4590 --> https://svn.open-mpi.org/trac/ompi/ticket/4590
Several fixes:
- I was allowing an MPI_T_cvar_handle to be created for an invalid
variable. Fixed this by checking if the variable is valid in
mca_base_var_get.
- Use a better error code when the caller tries to create an unbound
pvar handle for a bound variable.
- Return the verbosity level in MPI_T_cvar_get_info.
cmr=v1.8.2:reviewer=jsquyres
This commit was SVN r31576.
This combination does not make sense but is not explicitly forbidden by
the standard so remove the argument check for this combination.
cmr=v1.8.2:reviewer=jsquyres
This commit was SVN r31523.
Patch submitted by Gilles Gouaillardet on #4518. Reviewed by Jeff.
Fixes trac:4518
cmr=v1.8.2:reviewer=ompi-rm1.8
This commit was SVN r31517.
The following Trac tickets were found above:
Ticket 4518 --> https://svn.open-mpi.org/trac/ompi/ticket/4518
One more commit for this ticket... as pointed out by Giles, we have
ompi_op_is_commute(). We should use that instead of replicating the
logic for the test.
Refs trac:4548
This commit was SVN r31497.
The following Trac tickets were found above:
Ticket 4548 --> https://svn.open-mpi.org/trac/ompi/ticket/4548
MPI_OP_COMMUTATIVE should work on all MPI_Op's -- regardless of
whether they are predefined or not.
Refs trac:4548.
This commit was SVN r31491.
The following Trac tickets were found above:
Ticket 4548 --> https://svn.open-mpi.org/trac/ompi/ticket/4548
* Superfluous use of MPI_User_function in comm_create_keyval_f08.F90
* Missed adding "value" keyword to function pointer arguments in pmpi
C interfaces
Submitted by Craig, reviewed by Jeff.
Refs trac:4512
This commit was SVN r31455.
The following Trac tickets were found above:
Ticket 4512 --> https://svn.open-mpi.org/trac/ompi/ticket/4512
This man page contains the prototype and descriptions for both
MPI_TYPE_INDEXED and MPI_TYPE_CREATE_HINDEXED. Bastian Beischer
noticed that the type of the array_of_displacements argument in the
MPI_TYPE_CREATE_HINDEXED was wrong.
Also, a minor update to MPI_Type_hindexed.3in: indicate that the C
type is MPI_Aint and the Fortran type is INTEGER (which is why this
function was deprecated and then deleted by the MPI Forum!).
cmr=v1.8.1:reviewer=dgoodell
This commit was SVN r31411.