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

71 Коммитов

Автор SHA1 Сообщение Дата
Jeff Squyres
9f9fb5ce38 Add weak symbols for the MPI-3.1 MPI_Alloc_mem_cptr fortran subroutine.
This subroutine was added in an errata to MPI-3.0; here's the MPI
Forum ticket about it:
    
    https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/390

This commit was SVN r29385.
2013-10-04 22:43:40 +00:00
Jeff Squyres
c08f97b030 Fix problems with calling back-end BIND(C) ompi_*_f() functions.
BIND(C) doesn't let us have LOGICAL parameters, so we have to be
creative in how we invoke back-end ompi_*_f() C functions.
Additionally, the mpi_f08 type for MPI_Status presented some
difficulties, too.
    
See the large comment in
ompi/mpi/fortran/use-mpi-f08/mpi-f-interfaces-bind.h that explains
this in much more detail.

This commit was SVN r29384.
2013-10-04 22:43:07 +00:00
Jeff Squyres
f23d3bca64 Remove BIND(C) from all mpi_f08 interfaces.
This commit was SVN r29383.
2013-10-04 22:41:59 +00:00
Jeff Squyres
e81e3ccee0 Add missing implementation of MPI_FREE_MEM in the TKR mpi module.
This commit was SVN r29382.
2013-10-04 22:38:57 +00:00
Jeff Squyres
4899c531d3 Add PMPI versions for all ignore-TKR Fortran mpi module interfaces.
This commit was SVN r29380.
2013-10-04 21:58:56 +00:00
Jeff Squyres
be191619a9 Remove erroneous use of "MPI_Aint".
There is no "MPI_Aint" in the Fortran interface.  Surprisingly, the
Intel compiler didn't choke on this, but the Absoft compiler did.

This commit was SVN r29371.
2013-10-04 15:27:29 +00:00
Jeff Squyres
dc9bb26902 Fix one more typo in Fortran interfaces.
Refs trac:3796

This commit was SVN r29339.

The following Trac tickets were found above:
  Ticket 3796 --> https://svn.open-mpi.org/trac/ompi/ticket/3796
2013-10-02 18:53:19 +00:00
Nathan Hjelm
b3240df1b1 Merge in Jeff's fortran fixes for new communicator duplicator functions
This commit was SVN r29338.
2013-10-02 18:42:04 +00:00
Nathan Hjelm
63084b1003 Add fortran bindings for MPI-3 communicator creation functions.
Thanks to Jeff for finding and fixing compilation issues with
the new fortran bindings.

cmr=v1.7.4:reviewer=jsquyres:ticket=trac:3796

This commit was SVN r29335.

The following Trac tickets were found above:
  Ticket 3796 --> https://svn.open-mpi.org/trac/ompi/ticket/3796
2013-10-02 14:26:58 +00:00
Jeff Squyres
00bbab4dae Remove commented-out code for deprecated functions that were not added to MPI-3.
This commit was SVN r29320.
2013-10-01 21:20:45 +00:00
Jeff Squyres
d04ea88d87 Missed updating the profiling versions of the neighbor collectives in r29299.
Refs trac:3802.

This commit was SVN r29302.

The following SVN revision numbers were found above:
  r29299 --> open-mpi/ompi@66eb7ff610

The following Trac tickets were found above:
  Ticket 3802 --> https://svn.open-mpi.org/trac/ompi/ticket/3802
2013-09-30 19:45:09 +00:00
Jeff Squyres
4af194ca32 Missed updating the profiling versions of [I]Alltoallw in r29298.
Refs trac:3814.

This commit was SVN r29301.

The following SVN revision numbers were found above:
  r29298 --> open-mpi/ompi@0acebc0a1f

The following Trac tickets were found above:
  Ticket 3814 --> https://svn.open-mpi.org/trac/ompi/ticket/3814
2013-09-30 19:44:24 +00:00
Jeff Squyres
66eb7ff610 Fix the !MPI_[I]Neighbor_* mpi_f08 interfaces.
Use the same trick for send/recvtypes as we did in r29298 for
![I]Alltoallw.  Also, add all prototypes for all the back-end
ompi_neighbor_*_f functions.

Refs trac:3802

This commit was SVN r29299.

The following SVN revision numbers were found above:
  r29298 --> open-mpi/ompi@0acebc0a1f

The following Trac tickets were found above:
  Ticket 3802 --> https://svn.open-mpi.org/trac/ompi/ticket/3802
2013-09-30 17:54:12 +00:00
Jeff Squyres
0acebc0a1f Make the Alltoall/Ialltoallw F08 interfaces a little less sucky.
Use proper array types for the sendtypes and recevtypes params in the
definition of these subroutines (since they're prototyped to be array
parameters in the module).  See the comment in the code for a more
complete explanation.

Note that after talking to Craig Rasumussen, he says that this is
fairly common practice in the Fortran community (i.e., pass a scalar
that is part of an array to effectively pass an offset into that
array, since Fortran passes by reference).  So this might be a hack,
but it's a commonly-accepted hack.

Reviewed by Craig Rasmussen.

cmr=v1.7.3:subject=Fix [I]Alltoallw mpi_f08 wrapper functions

This commit was SVN r29298.
2013-09-30 17:50:43 +00:00
Jeff Squyres
b84863be20 Add missing MPI_Dist_graph interfaces to the ignore-TKR Fortran mpi module bindings.
This commit was SVN r29295.
2013-09-30 16:09:10 +00:00
Jeff Squyres
4313bbbe20 Fix type in weak symbol declarations for the new _x functions.
This commit was SVN r29284.
2013-09-28 12:31:56 +00:00
Jeff Squyres
c0232e031c Add some missing declarations to allow the new Fortran neighbor
collective interfaces to compile.

This commit was SVN r29283.
2013-09-28 12:14:25 +00:00
Nathan Hjelm
c5596548b2 MPI-3: Add support for neighborhood collectives
Blocking versions are simple linear algorithms implemented in coll/basic. Non-
blocking versions are from libnbc 1.1.1. All algorithms have been tested with
simple test cases.

cmr=v1.7.4:reviewer=jsquyres

This commit was SVN r29265.
2013-09-26 21:55:08 +00:00
Jeff Squyres
ed130dcef0 Add missing Fortran mpi module TKR implementation for MPI_Get_address
This commit was SVN r29005.
2013-08-06 15:08:00 +00:00
George Bosilca
4adaaa0b2b Fix the profiling prototypes and the copyright.
This commit was SVN r29000.
2013-08-05 21:07:32 +00:00
George Bosilca
a938f8fcc5 Add all missing prototypes for the _x functions.
This commit was SVN r28999.
2013-08-05 20:49:31 +00:00
George Bosilca
47b1128993 It must be an MPI_Count.
This commit was SVN r28998.
2013-08-05 20:49:00 +00:00
Jeff Squyres
c59770651f Propagate the use of MPI_COUNT_KIND everywhere.
This commit was SVN r28956.
2013-07-25 22:41:48 +00:00
Jeff Squyres
a001f01f05 Remove the other bogus KIND from here; it looks like old kruft
This commit was SVN r28955.
2013-07-25 22:41:12 +00:00
Nathan Hjelm
7097ba3992 MPI_COUNT_KIND is defined in mpif-config.h
This commit was SVN r28954.
2013-07-25 21:42:27 +00:00
Nathan Hjelm
90f5bd9424 Add missing f08 binding declarations for MPI_Count functions
This commit was SVN r28936.
2013-07-23 19:00:06 +00:00
Nathan Hjelm
c6e586a81d MPI-3: fortran support for large counts using derived datatypes
Jeff:
 - Make sure not to go over 72 characters.  Love Fortran!
 - Ensure to include 'mpif-config.h' in Type_size_x.

This commit was SVN r28933.
2013-07-23 15:36:03 +00:00
George Bosilca
fe012cdc2b Use the converted value instead of calling the macro again.
This commit was SVN r28701.
2013-07-02 11:33:18 +00:00
George Bosilca
5fae72b9aa Add the MPI 2.2 MPI_Dist_graph functionality.
This patch reshape the way we deal with topologies completely. Where
our topologies were mainly storage components (they were not capable
of creating the new communicator), the new version is built around a
[possibly] common representation (in mca/topo/topo.h), but the functions
to attach and retrieve the topological information are specific to each
component. As a result the ompi_create_cart and ompi_create_graph functions
become useless and have been removed.

In addition to adding the internal infrastructure to manage the topology
information, it updates the MPI interface, and the debuggers support and
provides all Fortran interfaces.

This commit was SVN r28687.
2013-07-01 12:40:08 +00:00
Jeff Squyres
c9c6ced1c9 Use some handy shell scripts from W Spector to s/ierr/ierror/ in the
mpi module.

This commit was SVN r28403.
2013-04-26 22:07:42 +00:00
Ralph Castain
a4b6fb241f Remove all remaining vestiges of the Windows integration
This commit was SVN r28137.
2013-02-28 17:31:47 +00:00
Jeff Squyres
fb217ff8ff Fix --disable-mpi-io in the Fortran mpi-f08 interface.
This commit was SVN r28097.
2013-02-22 03:08:04 +00:00
Jeff Squyres
8617d0ea57 Ensure that these files always get picked up during "make dist", not
only when we have Fortran support available.

This commit was SVN r27924.
2013-01-26 14:19:07 +00:00
Jeff Squyres
18e0c75857 Ensure to set Fortran ierr properly at the end of
MPI_Get_processor_name.  Thanks to LANL for spotting the issue.

This commit was SVN r27669.
2012-12-13 15:03:48 +00:00
Jeff Squyres
92e197de73 * MPI_Reduce_scatter_block is now implemented, so remove it from the
"not yet implemented" list (it was already in the mpi_api_files
   macro, actually)
 * Add mistakenly missed palltoall file.  Thanks to Brian for
   noticing its absence.

This commit was SVN r27554.
2012-11-01 13:58:40 +00:00
Ralph Castain
95db4b7536 Fix typo
This commit was SVN r27417.
2012-10-05 03:56:31 +00:00
Ralph Castain
dab45fc0f6 Include missing header file in tarball
This commit was SVN r27415.
2012-10-05 01:47:05 +00:00
Eugene Loh
25ad84b925 Ensure that MPI_Status objects have proper alignment:
- fix the Fortran layer to use new macros to convert Fortran-to-C status
- change the C internals to pull out old OMPI_SET_STATUS* macros

Also, change name of "status" argument in topo_test_f.c to "topo_type".

This commit was SVN r27403.
2012-10-04 14:39:51 +00:00
Jeff Squyres
82171eef9d Fixes from Ake Sandgren for MPI_SIZEOF for the TKR mpi module
implementation.  This was already fixed in the ignore TKR mpi module.

This commit was SVN r27392.
2012-10-02 16:29:06 +00:00
Jeff Squyres
dd5876f74e Add optimization (i.e., avoid malloc(0)) in the (count==0) case. Just
set the correct return values and return.

This commit was SVN r27133.
2012-08-24 16:12:01 +00:00
Jeff Squyres
dd601b7de8 More fortran fixes:
* More "assumed shape" -> "assumed rank" text fixes
 * Don't put a comment after "#endif" in .F90 files; gfortran hates that
 * Fix OMPI_PROCEDURE to work properly (i.e., OMPI_HAVE_PROCEDURE ->
   OMPI_FORTRAN_HAVE_PROCEDURE), and add all the required "use ::
   mpi_f08_interface_callbacks" now that OMPI_PROCEDURE is now working

This commit was SVN r27119.
2012-08-23 10:07:08 +00:00
Jeff Squyres
0ef6782b0b * Fix some comments to update to the new Fortran binding directory
structure
 * Minor optimization: if MPI_Test returns flags==.FALSE., don't copy
   over the request/status to the OUT variables
 * Update comments about .TRUE./.FALSE. compiler values

This commit was SVN r27041.
2012-08-14 23:13:32 +00:00
Jeff Squyres
4e3b02e836 This is an amazingly long-lived bug; AFAICT, this has been around
forever.  

Don't copy a value back to the user's buffer unless the FLAG was set
to .TRUE. (i.e., indicating that we found the key).

This commit was SVN r27040.
2012-08-14 23:10:21 +00:00
Jeff Squyres
5594c90fce * Minor touch-ups to ompi/info/info.c to distinguish between keys and
vals.
 * Note that the pre-defined Info objects don't need to have fortran
   indexes assigned; they should already be assigned in the
   constructor.  So add an assert() to ensure that this really happens
   properly. 
 * Add MPI_ENV_INFO to the Fortran interfaces

This commit was SVN r27039.
2012-08-14 23:05:41 +00:00
Jeff Squyres
7390ab8a23 Many updates and bug fixes for the Fortran bindings. Sorry these
aren't separated out into individual commits; they represent a few
months of work in the Mercurial branch, and it seemed error-prone to
try to break them up into multiple SVN commits.

 * Remove 2nd overloaded interfaces for MPI_TESTALL, MPI_TESTSOME,
   MPI_WAITALL, and MPI_WAITSOME in the "mpi" module implementations
   (because we're not allowed to have them, anyway -- it causes
   complications in the profiling interface).  This forced an MPI-2.2
   errata in the MPI Forum; we applied the errata here (the array of
   statuses parameter could not have a specific dimension specified in
   the dummy argument).  Fixes trac:3166.
 * Similarly, fix type for MPI_ARGVS_NULL in Fortran
 * Add MPI_3.0 function MPI_F_SYNC_REG (Fortran interfaces only).
 * Add MPI-3.0 MPI_MESSAGE_NO_PROC in the mpi_f08 module.
 * Added mpi_f08 handle comparison operators, per MPI-3.0 addendum to
   the F08 proposal at the last Forum meeting.  
 * Added missing type(MPI_File) and type(Message) in mpi_f08 module.
 * Fix --disable-mpi-io configure switch with all Fortran interfaces
 * Re-factor the Fortran header files to be fundamentally simpler and
   easier to maintain.  Fortran constant values in the header files
   are now generated by a script named mpif-values.pl during
   autogen.pl (they were previously generated by mpif-common.pl, but
   it was quite a bit more subtle/complex).  A second commit will
   follow this one to update svn:ignore values (just to ensure we
   don't muck up the first commit with the SVN client getting confused
   by the changed ignore values and new/changed files).
 * Fix some dependencies for compile ordering in
   ompi/mpi/fortran/use-mpi-ignore-tkr/Makefile.am. 
 * Fix bad wording in several places (.m4 file name, ompi_info output,
   etc.): we previoulsy said "F08 assumed shape" when we really meant
   "F08 assumed rank" (for Fortran gurus, those are very different
   things). 
 * Removed the GREEK/SVN version string from mpif.h.  It really had no
   purpose being there.

Still to be done:

 * Handling of 2D array of strings in MPI_COMM_SPAWN_MULTIPLE still
   isn't right yet.  Not sure how many people really care about this
   :-), but it is still broken.

This commit was SVN r26997.

The following Trac tickets were found above:
  Ticket 3166 --> https://svn.open-mpi.org/trac/ompi/ticket/3166
2012-08-10 21:19:47 +00:00
Jeff Squyres
c339131b1e Do NOT remove all the source files in "make distclean" -- that's a
holdover from when these files were generated.

This commit was SVN r26982.
2012-08-10 02:04:50 +00:00
Jeff Squyres
2f136023f0 Some Fortran fixes to r26967.
This commit was SVN r26968.

The following SVN revision numbers were found above:
  r26967 --> open-mpi/ompi@083938cc10
2012-08-08 13:46:15 +00:00
George Bosilca
083938cc10 It is now almost impossible to add a new function to the MPI interface
without messing the Fortran part.

This commit was SVN r26967.
2012-08-08 13:17:57 +00:00
Jeff Squyres
da219e6ab6 Remove the use of mpi_f08_interfaces -- it shouldn't be there.
Thanks to Nathan for spotting this.

This commit was SVN r26963.
2012-08-07 20:04:01 +00:00
Shiqing Fan
42dfbc7d2f Another CMake scripts update for:
correctly generate hwloc library
automatically define OMPI/OPAL/ORTE_OMPORTS for user applications
update the f77 bindings

This commit was SVN r26893.
2012-07-27 11:49:09 +00:00