1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
|
-*- text -*-
Copyright 1997-2000, University of Notre Dame.
Authors: Jeremy G. Siek, Jeffery M. Squyres, Michael P. McNally, and
Andrew Lumsdaine
This file is part of the Notre Dame C++ bindings for MPI.
You should have received a copy of the License Agreement for the Notre
Dame C++ bindings for MPI along with the software; see the file
LICENSE. If not, contact Office of Research, University of Notre
Dame, Notre Dame, IN 46556.
Permission to modify the code and to distribute modified code is
granted, provided the text of this NOTICE is retained, a notice that
the code was modified is included with the above COPYRIGHT NOTICE and
with the COPYRIGHT NOTICE in the LICENSE file, and that the LICENSE
file is distributed with the modified code.
LICENSOR MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED.
By way of example, but not limitation, Licensor MAKES NO
REPRESENTATIONS OR WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY
PARTICULAR PURPOSE OR THAT THE USE OF THE LICENSED SOFTWARE COMPONENTS
OR DOCUMENTATION WILL NOT INFRINGE ANY PATENTS, COPYRIGHTS, TRADEMARKS
OR OTHER RIGHTS.
Additional copyrights may follow.
-----------------------------------------------------------------------
MPI 1.2 C++ Bindings
Version History
===============
Version 1.0.6
Unreleased
================
- Fixed problem with the copy constructor of Intracomm, Cartcomm,
Graphcomm when profiling such that the internal pmpi_comm was
initialized properly.
- Removed a bunch of confusing #if 0 blocks from various header files
(mostly related to communicators and errorhandlers). For the
record: doing the Right Thing with friend functions (rather than
uncodumented public functions) is not always portable. Before you
ask -- it has to do with the C callback mechanism in MPI -- since
we're implemented on top of the C bindings, we have to use the C
callback mechanism and intercept all the calls, then lookup which
function to call. Ugh!!
- Added check in contrib/examples/topology.cc to ensure that it is run
with 4 ranks.
- Added proper cleanup of MPI::ERRORS_THROW_EXCEPTIONS in
MPI::Finalize() to prevent a memory leak.
- Added a copy constructor to the MPI::Exception class; since it
contains a (char*) (for efficiency), the default copy constructor
would cause a duplicate delete[] upon destruction.
- Cleaned up various bugs and memory leaks in the test suite.
- Now support MPI_GET_VERSION if the underlying MPI has it.
- Removed an errant <iostream.h> from <mpi++.h> (and added it back to
the .cc files that needed it; oops).
- Use MPI_STATUS_IGNORE if the underlying MPI has it.
- Fixed minor memory leak in Datatype::Create_struct; thanks to Maria
Barnes.
- Removed use of NULL in comm.cc.
- Now installing header files into $(pkgincludedir), and symlinking
mpi++.h back into $(includedir). Changed the #include statements in
mpi++.h (and others) to be <mpi2c++/foo.h>.
- Changed the examples to compile with $(bindir)/balky, hence you have
to do a "make install" first.
- Added 'extern "C"' before all intercept routines.
- Fixed a buch of incompatabilities with MPICH 1.2.1 (#%#@%@#%!!).
- Save the CXXFLAGS before we call AC_PROG_CXX (lest they be destroyed
or otherwise modified automatically by autoconf)
- Added automake support to get all the rights and privlidges granted
therein (get that VPATH stuff right this time)
Version 1.0.5
10 November 1999
================
- Removed some small memory leaks, both in the test suite and in
libmpi++.a.
- Renamed some .h files to not conflict with STL header file names.
- Prepended all #define macros with MPI2CPP or _MPIPP so that we have
our own namespace and won't conflict with anyone else.
- Fixed some random potential seg faults in the test suite. Thanks to
Andy Isaacson at SGI for finding these.
- Patched up configure.in to use more modern tests (to reflect
better diagnostics, more C++ compiler checks, and updated to
handle newer implementations of MPI).
- Split libmpi++.a into 2 files: intercepts.cc and mpi++.cc. Required
for some compilers/linkers, because if you -lmpi++, all the global
constants in mpi++.cc will force the linker to pull all of mpi++.o
out. There was a reference in it to cerr, so if you linked with a C
compiler, cerr was not found. Splitting into 2 files solved this.
Version 1.0.4
Internal release
================
- Fixed #define naming conflicts with OOMPI (since this package
inherited ./configure.in from OOMPI). Problematic because this
package is included in MPICH, (soon) LAM, and other vendor MPI
packages.
- Set LAM ./configure tests to figure out which LAM it is using (6.1
or 6.2 or 6.3)
- Changed ./configure to not generate a config.cache
- Removed skip flags for HP 1.03 and HP 1.05 (they didn't do anything)
- Fixed bug inherited from OOMPI in Makefile.in with extra ` character
when grepping for version number
Version 1.0.3
2 February 1999
===============
- Tested and passed with several more compilers
- Updated for new versions of MPICH (1.1.2) and LAM (6.2)
- Revealed problem with HP aCC compiler
- Fixed bug in use of conversion operators, which affected
the create_struct test among others. The problem showed
up only with the IBM xlC compiler.
Version 1.0.1
4 June 1998
===============
- Temporarily removed KCC from list of supported compilers
due to a failure in test suite with Isend Irecv
- Replace usage of bool with MPI2CPP_BOOL_T for pesky compilers
and STL (or other libraries that define bool).
- Fixed a bug with the MPI to PMPI object conversion methods
- Removed the last 92 byte memory leak from group.cc in the test_suite.
Version 1.0
8 December 1997
===============
Initial Release
|