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

136 Коммитов

Автор SHA1 Сообщение Дата
Jeff Squyres
253444c6d0 == Highlights ==
1. New mpifort wrapper compiler: you can utilize mpif.h, use mpi, and use mpi_f08 through this one wrapper compiler
 1. mpif77 and mpif90 still exist, but are sym links to mpifort and may be removed in a future release
 1. The mpi module has been re-implemented and is significantly "mo' bettah"
 1. The mpi_f08 module offers many, many improvements over mpif.h and the mpi module

This stuff is coming from a VERY long-lived mercurial branch (3 years!); it'll almost certainly take a few SVN commits and a bunch of testing before I get it correctly committed to the SVN trunk.

== More details ==

Craig Rasmussen and I have been working with the MPI-3 Fortran WG and Fortran J3 committees for a long, long time to make a prototype MPI-3 Fortran bindings implementation.  We think we're at a stable enough state to bring this stuff back to the trunk, with the goal of including it in OMPI v1.7.  

Special thanks go out to everyone who has been incredibly patient and helpful to us in this journey:

 * Rolf Rabenseifner/HLRS (mastermind/genius behind the entire MPI-3 Fortran effort)
 * The Fortran J3 committee
 * Tobias Burnus/gfortran
 * Tony !Goetz/Absoft
 * Terry !Donte/Oracle
 * ...and probably others whom I'm forgetting :-(

There's still opportunities for optimization in the mpi_f08 implementation, but by and large, it is as far along as it can be until Fortran compilers start implementing the new F08 dimension(..) syntax.

Note that gfortran is currently unsupported for the mpi_f08 module and the new mpi module.  gfortran users will a) fall back to the same mpi module implementation that is in OMPI v1.5.x, and b) not get the new mpi_f08 module.  The gfortran maintainers are actively working hard to add the necessary features to support both the new mpi_f08 module and the new mpi module implementations.  This will take some time.

As mentioned above, ompi/mpi/f77 and ompi/mpi/f90 no longer exist.  All the fortran bindings implementations have been collated under ompi/mpi/fortran; each implementation has its own subdirectory:

{{{
ompi/mpi/fortran/
  base/               - glue code
  mpif-h/             - what used to be ompi/mpi/f77
  use-mpi-tkr/        - what used to be ompi/mpi/f90
  use-mpi-ignore-tkr/ - new mpi module implementation
  use-mpi-f08/        - new mpi_f08 module implementation
}}}

There's also a prototype 6-function-MPI implementation under use-mpi-f08-desc that emulates the new F08 dimension(..) syntax that isn't fully available in Fortran compilers yet.  We did that to prove it to ourselves that it could be done once the compilers fully support it.  This directory/implementation will likely eventually replace the use-mpi-f08 version.

Other things that were done:

 * ompi_info grew a few new output fields to describe what level of Fortran support is included
 * Existing Fortran examples in examples/ were renamed; new mpi_f08 examples were added
 * The old Fortran MPI libraries were renamed:
   * libmpi_f77 -> libmpi_mpifh
   * libmpi_f90 -> libmpi_usempi
 * The configury for Fortran was consolidated and significantly slimmed down.  Note that the F77 env variable is now IGNORED for configure; you should only use FC. Example:
{{{
shell$ ./configure CC=icc CXX=icpc FC=ifort ...
}}}

All of this work was done in a Mercurial branch off the SVN trunk, and hosted at Bitbucket.  This branch has got to be one of OMPI's longest-running branches.  Its first commit was Tue Apr 07 23:01:46 2009 -0400 -- it's over 3 years old!  :-)  We think we've pulled in all relevant changes from the OMPI trunk (e.g., Fortran implementations of the new MPI-3 MPROBE stuff for mpif.h, use mpi, and use mpi_f08, and the recent Fujitsu Fortran patches).

I anticipate some instability when we bring this stuff into the trunk, simply because it touches a LOT of code in the MPI layer in the OMPI code base.  We'll try our best to make it as pain-free as possible, but please bear with us when it is committed.

This commit was SVN r26283.
2012-04-18 15:57:29 +00:00
Jeff Squyres
16263cde4b Remove a few more vestiages of C++ MPI extensions support
This commit was SVN r26240.
2012-04-05 21:17:56 +00:00
Jeff Squyres
91b80630aa Update MPROBE, IMPROBE, MRECV, IMRECV with the behavior described in
MPI-3 ticket 328:
https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/328.  Add
MPI_MESSAGE_NO_PROC constant.

This commit was SVN r26115.
2012-03-08 13:27:01 +00:00
Brian Barrett
25d48e22fa Implementation of the MPI-3 Matched Probe functionality. Currently only
implemented in the OB1 PML, will return NOT_SUPPORTED in other PMLs.

This commit was SVN r25865.
2012-02-06 17:35:21 +00:00
Jeff Squyres
feb8eb8a90 Add the new MPI-3 function MPI_GET_LIBRARY_VERSION.
This commit was SVN r25860.
2012-02-02 23:57:09 +00:00
Brian Barrett
b2411fe131 Add support for MPI-3's MPI_COMM_SPLIT_TYPE function
This commit was SVN r25738.
2012-01-18 23:35:21 +00:00
Ralph Castain
6310361532 At long last, the fabled revision to the affinity system has arrived. A more detailed explanation of how this all works will be presented here:
https://svn.open-mpi.org/trac/ompi/wiki/ProcessPlacement

The wiki page is incomplete at the moment, but I hope to complete it over the next few days. I will provide updates on the devel list. As the wiki page states, the default and most commonly used options remain unchanged (except as noted below). New, esoteric and complex options have been added, but unless you are a true masochist, you are unlikely to use many of them beyond perhaps an initial curiosity-motivated experimentation.

In a nutshell, this commit revamps the map/rank/bind procedure to take into account topology info on the compute nodes. I have, for the most part, preserved the default behaviors, with three notable exceptions:

1. I have at long last bowed my head in submission to the system admin's of managed clusters. For years, they have complained about our default of allowing users to oversubscribe nodes - i.e., to run more processes on a node than allocated slots. Accordingly, I have modified the default behavior: if you are running off of hostfile/dash-host allocated nodes, then the default is to allow oversubscription. If you are running off of RM-allocated nodes, then the default is to NOT allow oversubscription. Flags to override these behaviors are provided, so this only affects the default behavior.

2. both cpus/rank and stride have been removed. The latter was demanded by those who didn't understand the purpose behind it - and I agreed as the users who requested it are no longer using it. The former was removed temporarily pending implementation.

3. vm launch is now the sole method for starting OMPI. It was just too darned hard to maintain multiple launch procedures - maybe someday, provided someone can demonstrate a reason to do so.

As Jeff stated, it is impossible to fully test a change of this size. I have tested it on Linux and Mac, covering all the default and simple options, singletons, and comm_spawn. That said, I'm sure others will find problems, so I'll be watching MTT results until this stabilizes.

This commit was SVN r25476.
2011-11-15 03:40:11 +00:00
George Bosilca
78751b3b2d Put back the OPI errors after the ORTE one.
This commit was SVN r25333.
2011-10-19 20:57:13 +00:00
George Bosilca
efd88e10d7 Cleanup the error codes. Get rid of all the useless ones, and
mark the distinction between ORTE and OMPI errors.

This commit was SVN r25323.
2011-10-19 03:51:53 +00:00
George Bosilca
80c02647c8 Each level (OPAL/ORTE/OMPI) should only return it's own constants,
instead of the current mismatch.

This commit was SVN r25230.
2011-10-04 14:50:31 +00:00
Jeff Squyres
b05ca7c76b Only build the f90 ext stuff if we're also building the f90 bindings
(e.g., cover the case where the f90 bindings are not being built
because you don't have an f90 compiler)

This commit was SVN r24827.
2011-06-27 20:39:11 +00:00
Jeff Squyres
90aa9ff09a Fix problem that causes make dist to barf
This commit was SVN r24773.
2011-06-11 18:11:17 +00:00
Josh Hursey
0833734fcf Add support for F77/F90 in the Open MPI extensions interface system.
Per RFC from OMPI Devel list:
 * http://www.open-mpi.org/community/lists/devel/2011/06/9324.php

This commit was SVN r24772.
2011-06-10 20:03:06 +00:00
Jeff Squyres
3f4d4886f2 Minor update for something that has been bugging me for quite a while:
OMPI supports multiple different repository systems (SVN, hg, git).
But the VERSION file has listed "want_svn" and "svn_r" as fields, even
though the actual repo system and version may not be SVN.

So search/replace those fields (and derrivative values that come from
those fields) with "want_repo_rev" and "repo_rev", respectively.

This commit was SVN r24405.
2011-02-16 22:53:23 +00:00
Jeff Squyres
5bc2ad2b44 Fix some deprecated notices to refer to the correct new function names
This commit was SVN r24313.
2011-01-27 19:55:42 +00:00
George Bosilca
5390fd6f33 Reshape the datatype engine. The basic types are built down in OPAL. MPI types are
either direct link to these basic predefined types, or a combination of them.
Anyway, the first items in the datatype list belong to OPAL, the second round
are MPI datatypes created by composing basic OPAL datatypes, and the last
batch are mapped datatype (direct correspondance between an OMPI datatype and
an OPAL one such as int -> int32_t).

Modify the op to fit this new scheme.

This commit was SVN r24247.
2011-01-13 06:08:54 +00:00
Jeff Squyres
741ba6518b Install ompi_config.h (and friends) into /openmpi, not /openmpi/ompi/include. This is consistent with prior releases and the OPAL and ORTE <foo>_config.h file installation locations.
This commit was SVN r24180.
2010-12-15 20:54:22 +00:00
Shiqing Fan
482a621e31 Change the behavior of exporting/importing symbols on Windows, so that to fit the new build procedure, i.e. import statically linked opal/orte libraries for other libraries/binaries. There are several use cases when creating dll libraries:
1. create DLL A, export symbols of A, import nothing  (A normally is OPAL)
   should define _USRDLL , A_EXPORT 

2. create DLL B, export symbols of B, import A.lib    (B could be ORTE, OMPI or other ompi tools)
   should define _USRDLL, B_EXPORT

3. create DLL C, import B.dll    (C could be external libs or apps)
   should define B_IMPORT

This commit was SVN r24016.
2010-11-09 16:13:30 +00:00
Jeff Squyres
73bcc4a36b Fix mistake that came in via the ompi-agen tree in r23764. The mistake wasn't part of the core autogen upgrade; it was an additional 'bonus' cleanup. Oops. The mistake will always create a set of directories under installdir, even if you do not --with-devel-headers. The set of directories will be empty, but still -- they should not be there at all. This commit fixes that -- the directories are not created at all if you do not --with-devel-headers
This commit was SVN r23801.

The following SVN revision numbers were found above:
  r23764 --> open-mpi/ompi@40a2bfa238
2010-09-24 22:53:28 +00:00
Ralph Castain
40a2bfa238 WARNING: Work on the temp branch being merged here encountered problems with bugs in subversion. Considerable effort has gone into validating the branch. However, not all conditions can be checked, so users are cautioned that it may be advisable to not update from the trunk for a few days to allow MTT to identify platform-specific issues.
This merges the branch containing the revamped build system based around converting autogen from a bash script to a Perl program. Jeff has provided emails explaining the features contained in the change.

Please note that configure requirements on components HAVE CHANGED. For example. a configure.params file is no longer required in each component directory. See Jeff's emails for an explanation.

This commit was SVN r23764.
2010-09-17 23:04:06 +00:00
Jeff Squyres
51a051b072 This commit, along with r23467, r23468, r23470, r23471 should fix #2241.
This commit:

 * Adds the configury to figure out how many Fortran INTEGERs are 
   necessary to represent the C MPI_Status (which now includes a size_t
   member).
 * Sets MPI_STATUS_SIZE to this value in mpif-config.h.in.
 * Adds a big comment in status_c2f.c explaining why the no changes 
   were necessary to how we copy statuses between Fortran and C.

This commit was SVN r23472.

The following SVN revision numbers were found above:
  r23467 --> open-mpi/ompi@733d25a8a3
  r23468 --> open-mpi/ompi@963fcb13a5
  r23470 --> open-mpi/ompi@418b989781
  r23471 --> open-mpi/ompi@bc74a446ac
2010-07-22 02:23:47 +00:00
Jeff Squyres
bc74a446ac Add some comments to reinforce the fact that MPI applications should not be using the non-public members of ompi_status_public_t. Refs trac:2241.
This commit was SVN r23471.

The following Trac tickets were found above:
  Ticket 2241 --> https://svn.open-mpi.org/trac/ompi/ticket/2241
2010-07-22 01:59:33 +00:00
George Bosilca
733d25a8a3 First step toward fixing the MPI_Get_count issues from the ticket #2241. Next
step is the configure and Fortran mojo that Jeff will put in. Until then I
guess the Fortran interface is broken (at least all functions using the hidden
count firld in the MPI_Status).

This commit was SVN r23467.
2010-07-21 20:07:00 +00:00
Shiqing Fan
3a3018deef Convert the line endings for the added header files. They were changed automatically by Windows when adding new files.
This commit was SVN r22634.
2010-02-16 17:24:44 +00:00
Shiqing Fan
08ffdbe987 Changes for portable platform headers. Commit it on behalf of Ralph.
This commit was SVN r22619.
2010-02-15 22:14:59 +00:00
Jeff Squyres
dafc0c914b Restoring the build for now.
This commit was SVN r22611.
2010-02-12 12:03:17 +00:00
Rainer Keller
48254c78c9 - When svn version string becomes too long (>72 columns) some Fortran
compilers get confused. Continue on the next line.
   Thanks to Richard Tran Mills for noticing that.

This commit was SVN r22609.
2010-02-11 23:23:36 +00:00
Rainer Keller
3ca8adb540 - The only differences in the underlying header file between
GASNet-1.12.0  and  GASNet-1.14.0.

This commit was SVN r22591.
2010-02-10 14:07:44 +00:00
Jeff Squyres
bf6e3d4355 Fixes trac:2061: add MPI_OP_COMMUTATIVE.
This commit was SVN r22128.

The following Trac tickets were found above:
  Ticket 2061 --> https://svn.open-mpi.org/trac/ompi/ticket/2061
2009-10-22 21:46:05 +00:00
Jeff Squyres
c78df0d1b4 Fixes trac:2060: MPI-2.2 ticket 7, convert some function pointer typedefs
from "MPI_*_errhandler_fn" to "MPI_*_errhandler_function" (and their
corresponding C++ types, too).  Also updated the corresponding man
pages, and marked the typedefs to the now-deprecated types as
deprecated.

This commit was SVN r22122.

The following Trac tickets were found above:
  Ticket 2060 --> https://svn.open-mpi.org/trac/ompi/ticket/2060
2009-10-22 16:50:45 +00:00
Jeff Squyres
7145b95bd8 Refs trac:2032. Add comment explaining why we have MPI_LOGICALx datatypes
in fortran.

This commit was SVN r22024.

The following Trac tickets were found above:
  Ticket 2032 --> https://svn.open-mpi.org/trac/ompi/ticket/2032
2009-09-28 15:45:57 +00:00
Rainer Keller
8e1b23779f - Replace combinations of
#if defined (c_plusplus)
          defined (__cplusplus)
   followed by
      extern "C" {
   and the closing counterpart by BEGIN_C_DECLS and END_C_DECLS.

   Notable exceptions are:
    - opal/include/opal_config_bottom.h:
      This is our generated code, that itself defines BEGIN_C_DECL and
      END_C_DECL
    - ompi/mpi/cxx/mpicxx.h:
      Here we do not include opal_config_bottom.h:                                 
    - Belongs to external code:                                                    
      opal/mca/backtrace/darwin/MoreBacktrace/MoreDebugging/MoreBacktrace.c        
      opal/mca/backtrace/darwin/MoreBacktrace/MoreDebugging/MoreBacktrace.h        
    - opal/include/opal/prefetch.h:
      Has C++ specific macros that are protected:                                  

    - Had #if ... } #endif  _and_ END_C_DECLS (aka end up with 2x
      END_C_DECLS)
      ompi/mca/btl/openib/btl_openib.h
    - opal/event/event.h has #ifdef __cplusplus as BEGIN_C_DECLS...
    - opal/win32/ompi_process.h: had extern "C"\n {...
      opal/win32/ompi_process.h: dito
    - ompi/mca/btl/pcie/btl_pcie_lex.l: needed to add *_C_DECLS
      ompi/mpi/f90/test/align_c.c: dito
    - ompi/debuggers/msgq_interface.h: used #ifdef __cplusplus
    - ompi/mpi/f90/xml/common-C.xsl: Amend

   Tested on linux using --with-openib and --with-mx

   The following do not contain either opal_config.h, orte_config.h or
   ompi_config.h
   (but possibly other header files, that include one of the above):
      ompi/mca/bml/r2/bml_r2_ft.h
      ompi/mca/btl/gm/btl_gm_endpoint.h
      ompi/mca/btl/gm/btl_gm_proc.h
      ompi/mca/btl/mx/btl_mx_endpoint.h
      ompi/mca/btl/ofud/btl_ofud_endpoint.h
      ompi/mca/btl/ofud/btl_ofud_frag.h
      ompi/mca/btl/ofud/btl_ofud_proc.h
      ompi/mca/btl/openib/btl_openib_mca.h
      ompi/mca/btl/portals/btl_portals_endpoint.h
      ompi/mca/btl/portals/btl_portals_frag.h
      ompi/mca/btl/sctp/btl_sctp_endpoint.h
      ompi/mca/btl/sctp/btl_sctp_proc.h
      ompi/mca/btl/tcp/btl_tcp_endpoint.h
      ompi/mca/btl/tcp/btl_tcp_ft.h
      ompi/mca/btl/tcp/btl_tcp_proc.h
      ompi/mca/btl/template/btl_template_endpoint.h
      ompi/mca/btl/template/btl_template_proc.h
      ompi/mca/btl/udapl/btl_udapl_eager_rdma.h
      ompi/mca/btl/udapl/btl_udapl_endpoint.h
      ompi/mca/btl/udapl/btl_udapl_mca.h
      ompi/mca/btl/udapl/btl_udapl_proc.h
      ompi/mca/mtl/mx/mtl_mx_endpoint.h
      ompi/mca/mtl/mx/mtl_mx.h
      ompi/mca/mtl/psm/mtl_psm_endpoint.h
      ompi/mca/mtl/psm/mtl_psm.h
      ompi/mca/pml/cm/pml_cm_component.h
      ompi/mca/pml/csum/pml_csum_comm.h
      ompi/mca/pml/dr/pml_dr_comm.h
      ompi/mca/pml/dr/pml_dr_component.h
      ompi/mca/pml/dr/pml_dr_endpoint.h
      ompi/mca/pml/dr/pml_dr_recvfrag.h
      ompi/mca/pml/example/pml_example.h
      ompi/mca/pml/ob1/pml_ob1_comm.h
      ompi/mca/pml/ob1/pml_ob1_component.h
      ompi/mca/pml/ob1/pml_ob1_endpoint.h
      ompi/mca/pml/ob1/pml_ob1_rdmafrag.h
      ompi/mca/pml/ob1/pml_ob1_recvfrag.h
      ompi/mca/pml/v/pml_v_output.h
      opal/include/opal/prefetch.h
      opal/mca/timer/aix/timer_aix.h
      opal/util/qsort.h
      test/support/components.h

This commit was SVN r21855.

The following SVN revision numbers were found above:
  r2 --> open-mpi/ompi@58fdc18855
2009-08-20 11:42:18 +00:00
Rainer Keller
9a0b6ef71e - For now fixup our headers for known issue of Sun Studio 12.1 compiler
"...", line XXX: warning: linker scope was specified more than once:

This commit was SVN r21853.
2009-08-20 11:12:45 +00:00
Rainer Keller
c971c09eb6 - Runtime and include files missed in last commit
This commit was SVN r21642.
2009-07-13 04:59:13 +00:00
Shiqing Fan
5b4b8f8899 Get rid of a bunch of compiler warnings on Windows.
This commit was SVN r21536.
2009-06-26 07:51:39 +00:00
Jeff Squyres
b363fc2a6b Per the discussion yesterday, remove all use of MPI_Flogical -- it's
not an official MPI type, so it shouldn't be named that way.  Instead,
use ompi_fortran_logical_t.

This commit was SVN r21353.
2009-06-02 12:04:17 +00:00
Rainer Keller
b572dc3591 - As discussed revert r21330, Fortran-configure info should
not end up in OPAL
 - Will post an updated patch for the OMPI_ALIGNMENT_ parts (within C).

This commit was SVN r21342.

The following SVN revision numbers were found above:
  r21330 --> open-mpi/ompi@95596d1814
2009-06-01 19:02:34 +00:00
Jeff Squyres
055b50213b A slightly better way to fix the problem noted in r21137.
This commit was SVN r21339.

The following SVN revision numbers were found above:
  r21137 --> open-mpi/ompi@f6da7d86a2
2009-06-01 13:58:37 +00:00
Josh Hursey
1fef44085b As a result of r21308, if we are building with "--disable-mpi-io " make sure that MPI_MAX_DATAREP_STRING is defined in mpi.h
MTT caught builds failing with the following error which flagged the problem:
{{{
param.cc:802: error: ‘MPI_MAX_DATAREP_STRING’ was not declared in this scope
}}}

This commit was SVN r21337.

The following SVN revision numbers were found above:
  r21308 --> open-mpi/ompi@2f9765926e
2009-06-01 12:44:53 +00:00
Rainer Keller
95596d1814 - Move alignment and size output generated by configure-tests
into the OPAL namespace, eliminating cases like opal/util/arch.c
   testing for ompi_fortran_logical_t.
   As this is processor- and compiler-related information
   (e.g. does the compiler/architecture support REAL*16)
   this should have been on the OPAL layer.
 - Unifies f77 code using MPI_Flogical instead of opal_fortran_logical_t

 - Tested locally (Linux/x86-64) with mpich and intel testsuite
   but would like to get this week-ends MTT output


 - PLEASE NOTE: configure-internal macro-names and
   ompi_cv_ variables have not been changed, so that
   external platform (not in contrib/) files still work.

This commit was SVN r21330.
2009-05-30 15:54:29 +00:00
Josh Hursey
1c58367f8b Fix for makedistcheck. Make sure that distclean removes the mpi-ext.h file that is automaticly generated at configure time.
This commit was SVN r21293.
2009-05-27 14:05:04 +00:00
Rainer Keller
51e2b5dcef - Make the maximum length user strings configurable... Namely
MPI_MAX_PROCESSOR_NAME
      MPI_MAX_ERROR_STRING
      MPI_MAX_OBJECT_NAME
      MPI_MAX_INFO_KEY
      MPI_MAX_INFO_VAL
      MPI_MAX_PORT_NAME
      MPI_MAX_DATAREP_STRING

   Defaults stay as theyr currently are -- and now give an explanation on the
   min/max values being used in a central place...
   m4-macro _OPAL_WITH_OPTION_MIN_MAX_VALUE may be benefical in other parts
   of the configure system.

 - We need some of these in the lower level OPAL for an upcoming commit!
   All other levels base their values on them.

This commit was SVN r21292.
2009-05-27 12:54:40 +00:00
Rainer Keller
88390b0d7c - Just remove white-space at end of lines
This commit was SVN r21291.
2009-05-27 12:46:04 +00:00
Rainer Keller
653656f012 - Hey, as of r19461, we're officially endorse MPI-2.1
... even in Fortran ;-)

This commit was SVN r21284.

The following SVN revision numbers were found above:
  r19461 --> open-mpi/ompi@008fa8c5cc
2009-05-27 00:32:23 +00:00
Josh Hursey
3e847c19f0 Per RFC: MPI Interface Extensions Infrastructure
Add infrastructure for MPI Interface Extensions. This allows a developer to create new MPI interfaces that are non-standard.

The following email thread describes the functionality proposed in the RFC:
  http://www.open-mpi.org/community/lists/devel/2009/05/5997.php

The following wiki page describes how to use and enable the extensions:
  https://svn.open-mpi.org/trac/ompi/wiki/MPIExtensions

This commit was SVN r21272.
2009-05-26 20:49:35 +00:00
Rainer Keller
916eb1fb1e - As proposed in RFC and telcon, warn the user about deprecated
functionality (per MPI-2.1). This warning can be toggled using
   --enable-mpi-interface-warning (default OFF), but can be
   selectively turned on passing
       mpicc -DOMPI_WANT_MPI_INTERFACE_WARNING

   Using icc, gcc < 4.5, warnings (such as in mpi2basic_tests) show:
     type_vector.c:83: warning: ‘MPI_Type_hvector’ is deprecated
     (declared at /home/../usr/include/mpi.h:1379)

   Using gcc-4.5 (gcc-svn) these show up as:
     type_vector.c:83: warning: ‘MPI_Type_hvector’ is deprecated
     (declared at /home/../usr/include/mpi.h:1379):
     MPI_Type_hvector is superseded by MPI_Type_create_hvector in MPI-2.0


   Jeff and I propose to turn such warnings on with Open MPI-1.7 by default.


 - Detection of user-level compiler is handled using the preprocessor
   checks of GASnet's other/portable_platform.h (thanks to Paul Hargrove
   and Dan Bonachea) adapted into ompi/include/mpi_portable_platform.h
   (see comments).

   The OMPI-build time detection is output (Familyname and Version)
   with ompi_info.

   This functionality (actually any upcoming __attribute__) are turned
   off, if a different compiler (and version) is being detected.


 - Note, that any warnings regarding (user-compiler!=build-compiler)
   as discussed in the RFC are _not_ included for now.


 - Tested on Linux with --enable-mpi-interface-warning on
   Linux, gcc-4.5 (deprecated w/ specific msg)
   Linux, gcc-4.3 (deprecated w/o specific msg)
   Linux, pathscale 3.1 (deprecated w/o specific msg)
   Linux, icc-11.0 (deprecated w/o specific msg)

   Linux, PGI-8.0.6 accepts __deprecated__ but does not issue a warning,
   further investigation needed...

This commit was SVN r21262.
2009-05-22 04:39:43 +00:00
Greg Koenig
60485ff95f This is a very large change to rename several #define values from
OMPI_* to OPAL_*.  This allows opal layer to be used more independent
from the whole of ompi.

NOTE: 9 "svn mv" operations immediately follow this commit.

This commit was SVN r21180.
2009-05-06 20:11:28 +00:00
Jeff Squyres
4e4d3b2ec1 Patch from Number Cruncher/Simon to shut up gcc 4.1's complaints about
type punning.  A description of the issue is in the comment included
in this commit.

This commit was SVN r21166.
2009-05-05 16:41:26 +00:00
Rainer Keller
221fb9dbca ... Delayed due to notifier commits earlier this day ...
- Delete unnecessary header files using
   contrib/check_unnecessary_headers.sh after applying
   patches, that include headers, being "lost" due to
   inclusion in one of the now deleted headers...

   In total 817 files are touched.
   In ompi/mpi/c/ header files are moved up into the actual c-file,
   where necessary (these are the only additional #include),
   otherwise it is only deletions of #include (apart from the above
   additions required due to notifier...)

 - To get different MCAs (OpenIB, TM, ALPS), an earlier version was
   successfully compiled (yesterday) on:
   Linux locally using intel-11, gcc-4.3.2 and gcc-SVN + warnings enabled
   Smoky cluster (x86-64 running Linux) using PGI-8.0.2 + warnings enabled
   Lens cluster (x86-64 running Linux) using Pathscale-3.2 + warnings enabled

This commit was SVN r21096.
2009-04-29 01:32:14 +00:00
Rainer Keller
6a72c0f4d1 - As long as a header declares _DECLSPEC functionality
it should include the corresponding _config.h header file.

   Tested on Linux/x86-64

This commit was SVN r20795.
2009-03-17 01:45:19 +00:00