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

148 Коммитов

Автор SHA1 Сообщение Дата
Gilles Gouaillardet
cf0f734a98 Fortran: add mpi_alloc_mem_cptr like bindings when configured with --without-weak-symbols
cmr=v1.8.3:reviewer=jsquyres

This commit was SVN r32622.
2014-08-28 09:34:54 +00:00
Jeff Squyres
3e78f7878c fortran: add missing bindings for WIN_SYNC, WIN_LOCK_ALL,
WIN_UNLOCK_ALL

cmr=v1.8.2:reviewer=hjelmn

This commit was SVN r32535.
2014-08-14 20:27:30 +00:00
Ralph Castain
70da69a4f3 Cleanup and ignore Intel compiler build products
This commit was SVN r32463.
2014-08-08 16:13:43 +00:00
Jeff Squyres
537aa674a5 fortran: remove a duplicate listing of this file
This fixes some duplicate symbols, once the .o files for the modules
were restored into the library (some compilers need the .o files, some
don't (!)).

Also, remove trailing whitespace.  :-)

This commit was SVN r32386.
2014-08-01 00:43:04 +00:00
Jeff Squyres
abbcde6cb9 fortran: add the .o's back into libmpi_usempif08
Thanks to Paul Hargrove for the massive hint to find this.

This commit was SVN r32385.
2014-07-31 23:41:47 +00:00
Jeff Squyres
8e80480cbc fortran: don't use optional params in the ompi/pompi interfaces
Fix a copy-n-paste error: the ompi/pompi interfaces should not have
optional ierror arguments.  Optional ierror arguments are only used in
the MPI_<foo> interfaces.  The ompi/pompi interfaces are the actual
underlying routines (in C, incidentally, which is why they're declared
as BIND(C)), and do not have optional ierror arguments.

Also fix a typo in the BIND(C) name for pompi_win_shared_query_f().

cmr=v1.8.2:reviewer=ggouaillardet

This commit was SVN r32287.
2014-07-22 21:51:29 +00:00
Jeff Squyres
4da3c85b54 fortran: revert Absoft-based fixes
Rever r32246, r32254, and 32255 -- they were fixing side-effects of
the real bug.  Real fix coming after this one.

This commit was SVN r32286.

The following SVN revision numbers were found above:
  r32246 --> open-mpi/ompi@08d2a1a48d
  r32254 --> open-mpi/ompi@232d4dbb7b
2014-07-22 21:49:22 +00:00
Gilles Gouaillardet
a7bfd6e766 fortran: fix compile issue with ABSoft compilers
one more fix ...

cmr=v1.8.2:ticket=trac:4792

This commit was SVN r32255.

The following Trac tickets were found above:
  Ticket 4792 --> https://svn.open-mpi.org/trac/ompi/ticket/4792
2014-07-17 07:38:13 +00:00
Gilles Gouaillardet
232d4dbb7b fortran: fix compile issue with ABSoft compilers
Simplify and fix the r32246

cmr=v1.8.2:ticket=trac:4792

This commit was SVN r32254.

The following SVN revision numbers were found above:
  r32246 --> open-mpi/ompi@08d2a1a48d

The following Trac tickets were found above:
  Ticket 4792 --> https://svn.open-mpi.org/trac/ompi/ticket/4792
2014-07-17 06:00:32 +00:00
Gilles Gouaillardet
08d2a1a48d fortran: fix compile issue with ABSoft compilers
ABSoft compilers cannot compile a fortran subroutine
with the BIND(C, NAME="name") modifier *and* argument(s)
with the OPTIONAL modifier

This patch detects this unsupported feature and use
adhoc wrappers if it is missing

cmr=v1.8.2:reviewer=jsquyres

This commit was SVN r32246.
2014-07-15 10:41:11 +00:00
Gilles Gouaillardet
ee9098e2ee Fix use-mpi-trk/Makefile.am
Always include into the tarball (aka 'make dist') :
 - mpi-f90-interfaces.h
 - mpi-f90-cptr-interfaces.F90

cmr=v1.8.2:ticket=trac:4736

This commit was SVN r32215.

The following Trac tickets were found above:
  Ticket 4736 --> https://svn.open-mpi.org/trac/ompi/ticket/4736
2014-07-11 05:05:19 +00:00
Jeff Squyres
0089ac20af Fortran: put type(c_ptr) interfaces in a separate file in the TKR mpi module
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
2014-07-10 19:10:03 +00:00
Jeff Squyres
5081f958a6 fortran: fix MPI_Win_allocate_shared and MPI_Win_shared_query
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
2014-07-09 00:10:04 +00:00
Jeff Squyres
fb9d063be2 Fortran: include the type functions (eq/ne) in libmpi_usempif08
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
2014-06-24 17:48:15 +00:00
Gilles Gouaillardet
926e29c972 Fortran: add ompi/mpi/fortran/use-mpi-f08/mpi-f08-sizeof.F90 to the dist tarball.
cmr=v1.8.2:ticket=trac:4736

This commit was SVN r32065.

The following Trac tickets were found above:
  Ticket 4736 --> https://svn.open-mpi.org/trac/ompi/ticket/4736
2014-06-23 04:14:28 +00:00
Gilles Gouaillardet
d1f5d9f675 Fortran: fix OMPI_GENERATE_F77_BINDINGS macro invokation
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
2014-06-23 02:10:35 +00:00
Jeff Squyres
395078da00 Fortran: fix two type mistakes
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
2014-06-19 20:25:09 +00:00
Jeff Squyres
8935e0a5e0 Fortran use-mpi-tkr: remove real*16 and complex*32 (for now)
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.
2014-06-19 18:12:53 +00:00
Jeff Squyres
b375808928 Fortran: add files accidentally skipped in r32042
cmr=v1.8.2:ticket=trac:4736

This commit was SVN r32046.

The following SVN revision numbers were found above:
  r32042 --> open-mpi/ompi@fa764c1567

The following Trac tickets were found above:
  Ticket 4736 --> https://svn.open-mpi.org/trac/ompi/ticket/4736
2014-06-19 13:53:27 +00:00
Jeff Squyres
134c527f18 Fortran: Move all f08-related modules out of fortran/base
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
2014-06-19 13:44:08 +00:00
Jeff Squyres
fa764c1567 Fortran: add missing implementation of win_allocate_shared and win_shared_query
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
2014-06-19 13:38:25 +00:00
Jeff Squyres
2cbda4fe6d Fortran: fix a few ierr->ierror mistakes that crept in
Thanks for Walter Spector for raising the issue on the users list.

Refs trac:3582

cmr=v1.8.2:ticket=trac:4736

This commit was SVN r32041.

The following Trac tickets were found above:
  Ticket 3582 --> https://svn.open-mpi.org/trac/ompi/ticket/3582
  Ticket 4736 --> https://svn.open-mpi.org/trac/ompi/ticket/4736
2014-06-19 13:37:22 +00:00
Jeff Squyres
555073630e Fortran: remove the scripts from the use-mpi-tkr implementation
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.
2014-06-19 13:35:30 +00:00
George Bosilca
f5ebd2faeb Fix the Fortran issue identified by Akan Sang Loon. The dist graph
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.
2014-06-05 17:10:48 +00:00
Jeff Squyres
87f9f6815f use-mpi-tkr: fix ierr->ierror param names
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.
2014-06-03 15:26:02 +00:00
George Bosilca
750c6c7861 Update the UTK copyright on the topology related files.
This commit was SVN r31805.
2014-05-16 22:23:52 +00:00
Jeff Squyres
0fac9781b3 Assume we always have fortran PROCEDURE support
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
2014-05-01 18:18:38 +00:00
Jeff Squyres
10e2137b97 mpi_f08 fixes from Craig's review:
* 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
2014-04-19 12:06:24 +00:00
Jeff Squyres
c0f3d80c98 Change this filename back (i.e., revert r31375).
It's a singular filename because there's only 1 interface in the
file.  Also, r31375 missed updating the name in a few places, and
broke the build for compilers that supported the mpi_f08 interface.

This commit was SVN r31389.

The following SVN revision numbers were found above:
  r31375 --> open-mpi/ompi@fe1935de14
2014-04-14 19:51:06 +00:00
Ralph Castain
fe1935de14 Rename file to match pattern used in other names and in Makefile.am
Don't know if this needs to go to 1.8.1, but will cmr it and leave for Jeff to decide

cmr=v1.8.1:reviewer=jsquyres

This commit was SVN r31375.
2014-04-12 14:43:20 +00:00
Jeff Squyres
ed32143dc5 fortran: remove warning that compiling the "mpi" module takes a long time
Since we only builds the "small" size of the "mpi" module any more, it
does not take a long time to compile.  So remove the warning that is
emitted.

Also remove a vestage of Windows support that was leftover in the
Fortran area (i.e., building mpi.obj).

This commit was SVN r31374.
2014-04-11 21:06:43 +00:00
Jeff Squyres
5551e78275 fortran: Separate pre-defined attribute and conversion interfaces
Differentiate the pre-defined attribute and conversion interfaces into
those with INTEGER handles and those with TYPE(MPI_*) handles.

Refs trac:4157

cmr=v1.8.1:ticket=trac:4512

This commit was SVN r31372.

The following Trac tickets were found above:
  Ticket 4157 --> https://svn.open-mpi.org/trac/ompi/ticket/4157
  Ticket 4512 --> https://svn.open-mpi.org/trac/ompi/ticket/4512
2014-04-11 21:01:16 +00:00
Jeff Squyres
65b95e2844 mpi_f08: pass function pointers from Fortran to C properly
Use type(c_funptr) to "cast" the fortran function pointers to
arbitrary C pointers.  In C, we then pick up the appropriate function
pointer type.

Tested with ifort 14.0.2 and gfortran 4.9 snapshot (which is what
identified that the previous method of passing function pointers was
not Fortran'08-compliant).

Refs trac:4157

This commit was SVN r31371.

The following Trac tickets were found above:
  Ticket 4157 --> https://svn.open-mpi.org/trac/ompi/ticket/4157
2014-04-11 20:56:11 +00:00
Jeff Squyres
12e82daa78 mpi_f08: Fix param name and string length for MPI_GET_LIBRARY_VERSION
Junchao Zhang pointed out to me that we had the wrong parameter name
and string length specification for the "version" parameter.  This
matters because Fortran allows passing by parameter name
(vs. parameter ordering).  Specifically, we had the interface as:

{{{
subroutine MPI_Get_library_version_f08(name,resultlen,ierror)
   character(len=MPI_MAX_PROCESSOR_NAME), intent(out) :: name
...etc.
}}}

but it should be:

{{{
subroutine MPI_Get_library_version_f08(version,resultlen,ierror)
   character(len=MPI_MAX_LIBRARY_VERSION_STRING), intent(out) :: version
...etc.
}}}

Thankfully, MPI_MAX_PROCESSOR_NAME and MPI_MAX_LIBRARY_VERSION_STRING
are both 255 in OMPI, so there's no ABI issue caused by changing the
length from MMPN --> MMLVS.

The ABI is also unaffected by the parameter name change: if you
compile/link an MPI application calling MPI_GET_LIBRARY_VERSION with
1.8, it'll still run-time link with this change.

However, if an MPI program compiled using parameter name passing with
the old/incorrect parameter name ("name"), it won't be able to compile
with the new/correct parameter name ("version").  But this will only
happen for an incorrect MPI application (because the MPI-3 mandated
parameter name is "version", not "name"), so they deserve what they
get.

cmr=v1.8.1:reviewer=dgoodell

This commit was SVN r31365.
2014-04-10 14:45:36 +00:00
George Bosilca
95a4f219ea This commit fixes some of the Coverity reported warnings. I addressed
some of the collective modules, the shared memory and the profiling
interface. I left out VT, dynamic fcoll and seq rmaps.

cmr=v1.8.1:reviewer=jsquyres:subject=silence Coverity reported warnings

This commit was SVN r31309.
2014-04-06 18:23:49 +00:00
Jeff Squyres
173c046617 build: add Automake-like silent/verbose macros for "ln -s ..." operations
Also, since I put some of the macros for these silent/verbose rules up
in the top-level Makefile.man-page-rules file, I renamed it to
Makefile.ompi-rules.

I've had this sitting around for a while; now seems like as good a
time as any to commit it.

This commit was SVN r31271.
2014-03-28 18:24:32 +00:00
Nathan Hjelm
595a6e94e6 Fix typos in r31260
Also added some missing values and sentinels.

cmr=v1.8:ticket=trac:4470

This commit was SVN r31263.

The following SVN revision numbers were found above:
  r31260 --> open-mpi/ompi@69036437b7

The following Trac tickets were found above:
  Ticket 4470 --> https://svn.open-mpi.org/trac/ompi/ticket/4470
2014-03-27 22:34:28 +00:00
Jeff Squyres
24f7bd327e MPI-3: Add missing MPI_Comm_get|set_info functions
Thanks to Lisandro Dalcin for pointing out the issue.

cmr=v1.8:reviewer=hjelmn

This commit was SVN r31262.
2014-03-27 21:41:59 +00:00
Nathan Hjelm
69036437b7 Add missing MPI_WEIGHTS_EMPTY constant
cmr=v1.8:reviewer=jsquyres

This commit was SVN r31260.
2014-03-27 20:59:52 +00:00
Jeff Squyres
24020ef1e3 Refs trac:4372: 3rd and hopefully final addendum to Fortran API fixes for the RMA functions
These parameters should not be marked as INTENT(OUT) (they aren't in
the MPI-3 standard).

This commit was SVN r31056.

The following Trac tickets were found above:
  Ticket 4372 --> https://svn.open-mpi.org/trac/ompi/ticket/4372
2014-03-12 22:55:57 +00:00
Jeff Squyres
ccff41383c Refs trac:4372: Another addendum to Fortran API fixes for the RMA functions
* Several parameters should not be marked as INTENT(OUT) (they aren't in
  the MPI-3 standard).
* Added missing PMPI F08 OMPI interfaces

This commit was SVN r31049.

The following Trac tickets were found above:
  Ticket 4372 --> https://svn.open-mpi.org/trac/ompi/ticket/4372
2014-03-12 20:22:15 +00:00
Jeff Squyres
8a5a832085 Refs trac:4372: Addendum to Fortran API fixes for the RMA functions
These parameters should not be marked as INTENT(OUT) (they aren't in
the MPI-3 standard).

This commit was SVN r31048.

The following Trac tickets were found above:
  Ticket 4372 --> https://svn.open-mpi.org/trac/ompi/ticket/4372
2014-03-12 19:59:04 +00:00
Jeff Squyres
c6fb1b51b1 Remove "medium" RMA interfaces
We no longer specify interfaces with choice buffers in the TKR "mpi"
module implementation -- MPI-3 prohibits it (see r30169 and r30170 for
more details).

cmr=v1.7.5:ticket=trac:4372

This commit was SVN r31033.

The following SVN revision numbers were found above:
  r30169 --> open-mpi/ompi@759ee33fd4
  r30170 --> open-mpi/ompi@776f6144af

The following Trac tickets were found above:
  Ticket 4372 --> https://svn.open-mpi.org/trac/ompi/ticket/4372
2014-03-12 15:51:42 +00:00
Jeff Squyres
53248a90f3 Add missing files in Makefile.am listing
cmr=v1.7.5:ticket=trac:4372

This commit was SVN r31032.

The following Trac tickets were found above:
  Ticket 4372 --> https://svn.open-mpi.org/trac/ompi/ticket/4372
2014-03-12 15:48:55 +00:00
Jeff Squyres
b8cd2878e7 Fix more pragma argument names to match dummy argument names.
Issue found by Absoft MTT runs.

cmr=v1.7.5:ticket=trac:4372

This commit was SVN r31028.

The following Trac tickets were found above:
  Ticket 4372 --> https://svn.open-mpi.org/trac/ompi/ticket/4372
2014-03-12 14:30:51 +00:00
Jeff Squyres
f3b5670dce Fix pragma argument names to match dummy argument names.
Issue found by Absoft MTT runs.

cmr=v1.7.5:ticket=trac:4372

This commit was SVN r31027.

The following Trac tickets were found above:
  Ticket 4372 --> https://svn.open-mpi.org/trac/ompi/ticket/4372
2014-03-12 14:27:43 +00:00
Jeff Squyres
3523e315b8 Fix ompi function in Fortran RMA bindings
cmr=v1.7.5:ticket=trac:4372

This commit was SVN r31026.

The following Trac tickets were found above:
  Ticket 4372 --> https://svn.open-mpi.org/trac/ompi/ticket/4372
2014-03-12 14:12:10 +00:00
Jeff Squyres
da87b506bd Remove warnings identified by clang 3.4
* Remove unused static functions
 * Remove unused static variables

cmr=v1.8:reviewer=hjelmn

This commit was SVN r31023.
2014-03-12 13:17:54 +00:00
Nathan Hjelm
c4de1aa1ce osc: add fortran bindings for new RMA function
I have only checked that these bindings compile without warnings. They
appear to work with both intel's compilers and gfortran.

cmr=v1.7.5:reviewer=jsquyres

This commit was SVN r31010.
2014-03-11 23:02:27 +00:00
Jeff Squyres
db41d749c1 Remove ASYNCHRONOUS from the ignore TKR mpi_f08 module.
It turns out that ASYNCHRONOUS should not be used with ignore TKR
dummy parameters (some compilers will [correctly] warn about this).

Many thanks to Rolf Rabenseifner and Christoph Niethammer, who noticed
the problem.

Submitted by Rolf Rabenseifner, reviewed by Jeff.

cmr=v1.7.5:reviewer=ompi-rm1.7:subject=Remove ASYNCHRONOUS from the ignore TKR mpi_f08 module.

This commit was SVN r30665.
2014-02-11 13:19:30 +00:00