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

178 Коммитов

Автор SHA1 Сообщение Дата
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
Ralph Castain
05845214b8 Add missing include file
This commit was SVN r26934.
2012-08-01 04:08:47 +00:00
Vishwanath Venkatesan
dccfd18481 1. Removing two-phase support functions
2. Moving nbc headers to a seperate header file and modifying
io_ompio_nbc.c accordingly.

This commit was SVN r26921.
2012-07-31 04:39:13 +00:00
Edgar Gabriel
fb64322dc3 this code section was supposed to be commented out...
This commit was SVN r26918.
2012-07-30 20:46:07 +00:00
Edgar Gabriel
91c8577d9d fix in the offset calculation for explicit offset operations.
This commit was SVN r26915.
2012-07-30 20:08:00 +00:00
Edgar Gabriel
66c5a80dfd - get rid of a warning about an unused variable
- return MPI_ERR_OTHER instead of MPI_SUCCESS for the functions that are not
  yet implemented 
- add another field to the mca_io_ompio_file_t structure to point back to the
  ompi_file_t structure.

This commit was SVN r26908.
2012-07-30 15:29:59 +00:00
Ralph Castain
44bd855717 Silence warnings
This commit was SVN r26808.
2012-07-19 14:29:32 +00:00
Edgar Gabriel
92271c571d set the status field for collective read and write operations.
This commit was SVN r26786.
2012-07-12 10:26:27 +00:00
Edgar Gabriel
d18dad7109 remove the file io_ompio_coll_offset. These routines were the predecessors of
the routines in io_ompio_coll_array. No need to keep both versions around.

This commit was SVN r26766.
2012-07-09 17:12:46 +00:00
Edgar Gabriel
8ae22cacc1 - remove two functions that were not used anymore
- change the location where we mark the file view as contiguous and the
  condition on how it is determined to be contiguous
- remove the unnecessary include statements

This commit was SVN r26763.
2012-07-08 12:57:17 +00:00
Edgar Gabriel
b0954a6a3e set the internal OMPIO file pointer to the end of the file if file has been
opened using the APPEND mode.

This commit was SVN r26692.
2012-06-28 15:15:47 +00:00
Edgar Gabriel
32b0dfed31 * set the status _ucount field correctly for individual read and write
operations
* removing a lingering reference to the ylib fcoll component, which will not
be part of the 1.7 branch.

This commit was SVN r26691.
2012-06-28 14:43:56 +00:00
Edgar Gabriel
be6ea52bb4 some further cleanup of resources in case of an error.
This commit was SVN r26690.
2012-06-28 13:58:23 +00:00
Edgar Gabriel
b7a72feb1d minor code cleanup and make the MPI_MODE_DELETE_ON_CLOSE work
This commit was SVN r26685.
2012-06-27 20:54:58 +00:00
Josh Hursey
28681deffa Backout the ORCA commit. :(
There is a linking issue on Mac OSX that needs to be addressed before this is able to come back into the trunk.

This commit was SVN r26676.
2012-06-27 01:28:28 +00:00
Josh Hursey
542330e3a7 Commit of ORCA: Open MPI Runtime Collaborative Abstraction
This is a runtime interposition project that sits between the OMPI and ORTE layers in Open MPI.

The project is described on the wiki:
  https://svn.open-mpi.org/trac/ompi/wiki/Runtime_Interposition

And on this email thread:
  http://www.open-mpi.org/community/lists/devel/2012/06/11109.php

This commit was SVN r26670.
2012-06-26 21:42:16 +00:00
Edgar Gabriel
288d044097 get rid of the fcache framework. It was not being used as originally intended.
This commit was SVN r26668.
2012-06-26 19:53:26 +00:00
Edgar Gabriel
3ccd286de1 silence a compiler warning for optimized builds.
This commit was SVN r26528.
2012-05-31 13:32:10 +00:00
Vishwanath Venkatesan
8d4bb65bd4 Modifying the explicit operations to make it absolute
This commit was SVN r26451.
2012-05-18 21:43:34 +00:00
Vishwanath Venkatesan
1e95d8b1e2 remove the MPI functions used in these files by the OMPI internal corresponding functionality and also add error checking in these for functions which did not have them'
This commit was SVN r25723.
2012-01-13 17:21:51 +00:00
Edgar Gabriel
fb4d1a7099 remove the MPI functions used in this file by the OMPI internal corresponding functionality.
This commit was SVN r25703.
2012-01-10 19:55:05 +00:00
Vishwanath Venkatesan
37c8470e3d modified implementation for two-phase write_all incorporating romio style domain partitioning
This commit was SVN r25680.
2011-12-22 00:16:29 +00:00
Vishwanath Venkatesan
738a67b704 Removing duplicate code while setting default file view and using internal file-set-view for setting the default file view
This commit was SVN r25679.
2011-12-21 21:50:47 +00:00
Vishwanath Venkatesan
8f6b29e95b Fixing the default file view issue and merging contiguous lengths and offsets
for explicit offset case.

This commit was SVN r25281.
2011-10-13 19:50:45 +00:00
George Bosilca
649af6c925 Enumerated mixed with another type (int) is tolerated but
easily fixable.

This commit was SVN r25241.
2011-10-09 03:54:52 +00:00
Edgar Gabriel
196c3819e2 - revamp the configure logic to detect pvfs2 and lustre
- slight change in the selection logic of the fs module, which makes
   the ompio independent of the file system type (otherwise ompio 
   would also have required a configure script).

This commit was SVN r25118.
2011-09-07 10:39:47 +00:00
Ralph Castain
71e74990de Add missing includes so this compiles under Mac OSX
This commit was SVN r25084.
2011-08-25 23:04:24 +00:00
Edgar Gabriel
52063267df commit of the OMPIO modules and frameworks.
This commit was SVN r25079.
2011-08-25 20:08:17 +00:00
Edgar Gabriel
0173a00f6b replace the switch-case statement on the basic datatypes by a series of
if-elseif statements to make it compile with OpenMPi again.

Fixes trac:2808

This commit was SVN r24768.

The following Trac tickets were found above:
  Ticket 2808 --> https://svn.open-mpi.org/trac/ompi/ticket/2808
2011-06-09 15:35:35 +00:00
Eugene Loh
cd5c2e794f Some minor changes to help the openib BTL build and run on Solaris:
- poll() can return POLLRDNORM even if not requested (Solaris bug)
- MIN macro not defined in btl_openib.c
  and while we're at it, we clean up the MIN definition in ad_bgl_pset.h
- btl_openib_connect_rdmacm.c was calling rdma_destroy_id() twice
  leading to undefined behavior (a hang on Solaris)

This commit was SVN r24356.
2011-02-03 23:53:21 +00:00
Jeff Squyres
30e164e246 Fix all the problems with "make distcheck" caused by the new ROMIO import so that we can finally get a trunk nightly tarball\!
This commit was SVN r24292.
2011-01-24 21:10:14 +00:00
Jeff Squyres
89fb26eb1c Add missing line continuation character to prevent a Makefile syntax
error

This commit was SVN r24285.
2011-01-22 11:13:28 +00:00
Sylvain Jeaugey
46b711e164 Fixes trac:1888 introduced by r24264 : make Romio autogen.sh executable.
This commit was SVN r24272.

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

The following Trac tickets were found above:
  Ticket 1888 --> https://svn.open-mpi.org/trac/ompi/ticket/1888
2011-01-20 09:20:34 +00:00
Sylvain Jeaugey
0e921bba7f Romio Refresh from mpich2-1.3.1. Work by Pascal Deveze, tested through bitbucket by Jeff Squyres (https://bitbucket.org/devezep/new-romio-for-openmpi).
This commit was SVN r24264.
2011-01-19 15:55:10 +00:00
Jeff Squyres
e4744b4ed5 Per http://www.open-mpi.org/community/lists/devel/2010/11/8671.php,
change a bunch of OMPI_<foo> names to OPAL_<foo>.

This commit was SVN r24046.
2010-11-12 23:22:11 +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
George Bosilca
c0ff44b9fe Don't let ROMIO mishandle the displacement for contiguous data with a non-zero
true_lb. Thanks to Pascal Deveze for the patch.

This commit was SVN r22864.
2010-03-23 01:23:45 +00:00
Brian Barrett
50e3a5c349 AC_CHECK_FUNCS. Removes an annoying warning during application link on
Catamount.

Should go to both cmr:v1.4:reviewer=jsquyres and cmr:v1.5:reviewer=jsquyres

This commit was SVN r22547.
2010-02-04 04:42:36 +00:00
Edgar Gabriel
99e4ef3c86 path to make ROMIO compile over PVFS2 version > 2.7
Taken from the MPICH version of ROMIO.

This commit was SVN r22413.
2010-01-14 21:25:53 +00:00
Brian Barrett
b57b8c5b3f Clean up request handling in the I/O framework to be more consistent with
other request-using frameworks.

 - Rather than having mpi/c/* functions allocate requests explicitly,
   pass the MPI_Request* down to the I/O component and have it 
   perform the allocation.
 - While the I/O base provides a base request which can be used,
   it is not required and all request management occurs within
   the component.
 - Push progress management into the component, rather than having it
   happen in the base.  Progress functions are now easily registered,
   and not all (ie, the one existing) components use progress functions
   in any rational way.

ROMIO switched to generalized requests instead of MPIO_Requests many
moons ago, and Open MPI now uses ROMIO's generalized requests, so there
is no reason to wrap those requests (which are OMPI requests) in another
level of request.

Now the file function passes the MPI_Request* to the ROMIO component,
which passes it to the underlying ROMIO function, which calls 
MPI_Grequest_start to create an OMPI request, which is what gets set
as the request to the user.  Much cleaner.

This patch has two motivations.  One, a whole heck of a lot of code
just got removed, and request handling is now much cleaner for I/O
components.  Two, by adding support for Argonne's proposed generalized
request extensions, we can allow ROMIO to provide async I/O through
generalized requests, which we couldn't rationally do in the old
setup due to the crazy request completion rules.

This commit was SVN r22235.
2009-11-26 05:13:43 +00:00
Brian Barrett
8075640ef1 The tests are MPI programs and are built using mpicc, so including
OMPI headers won't work

This commit was SVN r22233.
2009-11-25 18:06:15 +00:00
Jeff Squyres
ab00aea1ff Per http://www.open-mpi.org/community/lists/devel/2009/10/7025.php,
use the new Automake "silent rules" if available.

If you are using an Automake prior to v1.11, you won't see the new 
silent rules -- it will automatically default back to the "verbose" 
rules.

Note, too, that even with these changes, you can enable the verbose 
"make all" output in one of two ways:

1. Add "V=1" to your "make" command line

{{{
shell$ make all V=1
}}}

2. Add "--disable-silent-rules" to your "configure" command line:

{{{
shell$ ./configure --disable-silent-rules ...
}}}

The one down side of using the silent rules by default is that we'll 
get less diagnostic information when users send their build logs.  I 
think we should update the web page to request that users send build 
logs of "make V=1", but I'm guessing that not everyone will do it.

Note that I did ''not'' silent-ize the libltdl build (which is a dozen
or so files in the beginning of the build) because we wholly import
libltdl at autogen time.  I therefore didn't want to patch libltdl
(further) after importing it a) to remain as forward- compatible as
possible, and b) patching the imported libltdl build system might be
tricky in terms of timestamps / dependencies.  So those dozen-or-so
files will still be "verbose", but the rest of the files in OMPI will
be "silent".

This commit was SVN r22189.
2009-11-04 02:07:02 +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
6c5532072a - Split the datatype engine into two parts: an MPI specific part in
OMPI
   and a language agnostic part in OPAL. The convertor is completely
   moved into OPAL.  This offers several benefits as described in RFC
   http://www.open-mpi.org/community/lists/devel/2009/07/6387.php
   namely:
    - Fewer basic types (int* and float* types, boolean and wchar
    - Fixing naming scheme to ompi-nomenclature.
    - Usability outside of the ompi-layer.
 - Due to the fixed nature of simple opal types, their information is
   completely
   known at compile time and therefore constified
 - With fewer datatypes (22), the actual sizes of bit-field types may be
   reduced
   from 64 to 32 bits, allowing reorganizing the opal_datatype
   structure, eliminating holes and keeping data required in convertor
   (upon send/recv) in one cacheline...
   This has implications to the convertor-datastructure and other parts
   of the code.
 - Several performance tests have been run, the netpipe latency does not
   change with
   this patch on Linux/x86-64 on the smoky cluster.
 - Extensive tests have been done to verify correctness (no new
   regressions) using:
   1. mpi_test_suite on linux/x86-64 using clean ompi-trunk and
    ompi-ddt:
    a. running both trunk and ompi-ddt resulted in no differences
       (except for MPI_SHORT_INT and MPI_TYPE_MIX_LB_UB do now run
       correctly).
    b. with --enable-memchecker and running under valgrind (one buglet
       when run with static found in test-suite, commited)
   2. ibm testsuite on linux/x86-64 using clean ompi-trunk and ompi-ddt:
      all passed (except for the dynamic/ tests failed!! as trunk/MTT)
   3. compilation and usage of HDF5 tests on Jaguar using PGI and
      PathScale compilers.
   4. compilation and usage on Scicortex.
 - Please note, that for the heterogeneous case, (-m32 compiled
   binaries/ompi), neither
   ompi-trunk, nor ompi-ddt branch would successfully launch.

This commit was SVN r21641.
2009-07-13 04:56:31 +00:00
Rainer Keller
9ef87898e0 (originally, did not want to do this during business hours, but
well..)
 - As Jeff suggested, for m4 macros, dont use _ OPAL, but
   rather OPAL_ prefix
 - Set the variable before AC_SUBST, so that replacement happens
   in f77 header-file, too.

This commit was SVN r21316.
2009-05-28 20:28:43 +00:00
George Bosilca
2f9765926e This is the real commit, the previous one was just a test ... to make
sure Jeff is reading all commits ;)

This commit was SVN r21308.
2009-05-28 00:49:40 +00:00
George Bosilca
63118c9beb Do not allow redefinition of MPI_MAX_DATAREP_STRING.
This commit was SVN r21307.
2009-05-28 00:37:19 +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
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