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

5707 Коммитов

Автор SHA1 Сообщение Дата
Nathan Hjelm
363bd184e7 ugni: re-disable uGNI for local procs
This commit was SVN r26318.
2012-04-23 21:12:12 +00:00
Nathan Hjelm
ca3ceb840c ugni: add mca parameter to control the number of smsg retries
This commit was SVN r26317.
2012-04-23 21:12:05 +00:00
Nathan Hjelm
95b12f140a ugni: cleanup frag setup code
This commit was SVN r26316.
2012-04-23 21:11:57 +00:00
Nathan Hjelm
37ca31b295 ugni: remove unused completion queue
This commit was SVN r26315.
2012-04-23 21:11:39 +00:00
Jeff Squyres
4b047c4257 Fix typos in the memchecker sections of MPI_IMRECV and MPI_MRECV, and
define the missing function memchecker_message().

Thanks to MTT for catching these errors.

This commit was SVN r26314.
2012-04-23 21:10:19 +00:00
Jeff Squyres
9986c29a4b Fix typoe to get the OMPI_Affinity_str.3in man page source is
distributed

This commit was SVN r26313.
2012-04-23 19:28:24 +00:00
Jeff Squyres
57f01592f0 It is not a configure error if the Fortran compiler does not support
optional arguments; it just means that we won't build the mpi_f08 bindings.

This commit was SVN r26312.
2012-04-23 19:18:43 +00:00
Jeff Squyres
f9c685bd5e Fix some fortran flags variable names, and fortran configury C test
problems (i.e., don't return a value from a void() function!).  Thanks
to Eugene for identifying these issues.  Hopefully this will fix up
the problems Oracle is having with compiling the new Fortran stuff.

This commit was SVN r26310.
2012-04-23 15:28:26 +00:00
Jeff Squyres
a0c3e38ded Ensure to compile the test as a Fortran program. Thanks to Eugene for
pointing out the issue.

This commit was SVN r26309.
2012-04-21 12:05:35 +00:00
Nathan Hjelm
1340f9c65a ugni update:
- Move endpoint code back up to BTL
 - Use opal_pointer_array_t for bounce buffer to identify local smsg completions.
 - Update and reenable sendi
 - Create a new endpoint for FMA/BTE transactions (keep local smsg/fma transactions seperate)
 - Move reverse get code into btl_ugni_put.c
 - Move eager get code into btl_ugni_get.c
 - Handle remote SMSG overruns correctly
 - Added support for inplace sends
 - etc

This commit was SVN r26307.
2012-04-19 21:51:55 +00:00
Nathan Hjelm
2b9827f45c ugni: restrict number of memory registrations per process
This commit was SVN r26306.
2012-04-19 21:51:44 +00:00
Nathan Hjelm
c9bf271b36 ugni: check for GNI_GetJobResInfo
This commit was SVN r26304.
2012-04-19 21:51:31 +00:00
Jeff Squyres
8111c5e41c Remove a few compiler warnings from the example
This commit was SVN r26303.
2012-04-19 20:02:51 +00:00
Jeff Squyres
ecd7108324 Fix problem of conflicting configure variables.
This commit was SVN r26302.
2012-04-19 13:20:08 +00:00
Jeff Squyres
5e0a154fa3 Fixes for old compilers:
* If the Fortran compiler doesn't support ISO_C_BINDINGS, fall back
   to an older (less precise) test for KIND values
 * If we're building the mpi module, don't assume that we're also
   building mpi_f08 module (i.e., don't add -lmpi_usempif08 to mpifort
   unless we're actually building the mpi_f08 module)

This commit was SVN r26294.
2012-04-19 00:47:54 +00:00
Jeff Squyres
c190f3e7ce Add a PDF of the C to Fortran type mapping, taken from the Fortran
spec document.

This commit was SVN r26292.
2012-04-18 22:50:35 +00:00
Ralph Castain
8e28f12d62 Fix the ancient-compiler problem
This commit was SVN r26291.
2012-04-18 20:34:45 +00:00
Jeff Squyres
b9640a582a Fix the case where there is no Fortran compiler found. Possibly fix
the case where we have a really ancient Fortran compiler that does not
support ISO_C_BINDING, but need to test to be sure that the new
configury works.

This commit was SVN r26290.
2012-04-18 19:29:07 +00:00
Jeff Squyres
f713045d07 Fix #if macro name
This commit was SVN r26285.
2012-04-18 16:18:40 +00:00
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
Matthias Jurenz
411f9295d0 Changes to VT:
- compiler wrappers:
		- fixed uninstalling TAUINST.SPEC on MacOS (thanks to Jeff for the patch)

This commit was SVN r26280.
2012-04-18 11:59:28 +00:00
Brian Barrett
8a70747da2 Fix some naming that doesn't make a ton of sense
This commit was SVN r26277.
2012-04-18 01:05:18 +00:00
Brian Barrett
f4d4e87176 add some flow control debugging output
This commit was SVN r26276.
2012-04-17 23:14:05 +00:00
Brian Barrett
fe0dfc8e26 First take at flow control protocol
This commit was SVN r26274.
2012-04-17 21:46:21 +00:00
Brian Barrett
dde6f094eb In preperation for flow control changes coming, always utilize ACKs for
message completion.

This commit was SVN r26272.
2012-04-16 17:25:27 +00:00
Terry Dontje
81d7fcaf82 back out r26255 to avoid cross component linkage so Solaris can build a usable openib btl
This commit was SVN r26269.

The following SVN revision numbers were found above:
  r26255 --> open-mpi/ompi@fe25b8704b
2012-04-13 18:08:54 +00:00
Ralph Castain
9a58414005 Rats - remove debug
This commit was SVN r26264.
2012-04-10 21:51:54 +00:00
Ralph Castain
9cd4c06488 Get things to build and run when --disable-orte is specified
This commit was SVN r26263.
2012-04-10 21:50:01 +00:00
Nathan Hjelm
f88babfb92 ugni: minor updates
This commit was SVN r26262.
2012-04-10 19:56:19 +00:00
George Bosilca
c5e4b2ab44 Correctly moves the pointers around on big data.
This commit was SVN r26259.
2012-04-10 05:37:59 +00:00
Ralph Castain
5f5c23e3e5 Fix comm_join by ensuring the two processes figure out which will send_first and which will recv first.
This commit was SVN r26257.
2012-04-09 22:14:14 +00:00
Mike Dubman
34acf769d4 mtl_mxm: support canceling messages
This commit was SVN r26256.
2012-04-09 16:02:05 +00:00
Mike Dubman
fe25b8704b performance fix: set alignment for openib internal buffers
Thanks to Jeff/Pasha for valuable comments
Thanks to Valentin Petrov for implementation

This commit was SVN r26255.
2012-04-09 08:06:15 +00:00
George Bosilca
f09e3ce5a4 Spring cleanup. Nothing important.
This commit was SVN r26247.
2012-04-06 15:48:07 +00:00
George Bosilca
654c75ff24 As suggested on the mailing list a while back, switch the default alltoallv
algorithm to pairwise exchange instead of the default one. This might
improve the scheduling and relax the pressure on the network.

This commit was SVN r26246.
2012-04-06 15:47:29 +00:00
George Bosilca
abf60337de Don't forget to move the pointers after the copy (only affects large data
transfers).

This commit was SVN r26243.
2012-04-06 14:50:04 +00:00
Ralph Castain
bd8b4f7f1e Sorry for mid-day commit, but I had promised on the call to do this upon my return.
Roll in the ORTE state machine. Remove last traces of opal_sos. Remove UTK epoch code.

Please see the various emails about the state machine change for details. I'll send something out later with more info on the new arch.

This commit was SVN r26242.
2012-04-06 14:23:13 +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
Josh Hursey
1941f6b3b1 Cleanup some compiler warnings when doing an optimized/non-debug build.
This commit was SVN r26236.
2012-04-04 20:40:16 +00:00
Josh Hursey
35bd7e638f Make sure we check the correct communicator object for errors.
This commit was SVN r26235.
2012-04-04 16:41:55 +00:00
Brian Barrett
d46d55ee9b If we're locking the local window, need to wait until the lock returns.
This commit was SVN r26234.
2012-04-04 16:27:24 +00:00
Josh Hursey
d1571b027a Fix a few error return paths
This commit was SVN r26233.
2012-04-04 15:11:03 +00:00
Nathan Hjelm
b0c3c18e02 Initial upload of grdma mpool
This commit was SVN r26232.
2012-04-03 23:03:03 +00:00
Terry Dontje
9831d2bf3f change sparc platforms to default OMPI_OPENIB_PAD_HDR to 1
This commit was SVN r26209.
2012-04-03 11:02:34 +00:00
Mike Dubman
ff1c84c53f revert previous commit
This commit was SVN r26206.
2012-03-29 14:07:13 +00:00
Mike Dubman
43a5775e8a performance fix: set alignment for openib internal buffers
This commit was SVN r26205.
2012-03-29 14:00:08 +00:00
Nathan Hjelm
d62c0f1872 ugni: handle smsg failure in mca_btl_ugni_ep_connect_finish
This commit was SVN r26202.
2012-03-28 05:40:16 +00:00
Brian Barrett
451af0e832 Ensure async progress for long unexpected messages by waiting for an
event on the ME.  The events we're likely to see are LINK (the ME was
added to the match list), PUT (weird to see first, but means that the ME
was linked to the match list and then matched), or PUT_OVERFLOW, meaning
the message was unexpected.

This commit was SVN r26199.
2012-03-26 22:54:35 +00:00
Brian Barrett
2a26d0f9a2 Forgot to add new file in the last commit.
Mark ME as invalid once we see a completion event, and look for events before
trying to unlink.

This commit was SVN r26198.
2012-03-26 22:39:05 +00:00
Brian Barrett
0e91084385 * Add type field to the request structure to deal with random user requests
(ie, cancel)
* Implement cancel for receives.  Sends are slightly more complicated...

This commit was SVN r26197.
2012-03-26 22:32:36 +00:00