MCT

Versions and Release Dates

10/18/00: Initial prototype
02/09/01: working MxN transfer
04/27/01: parallel SparseMatrix multiply
03/29/02: Rearranger for transposes
11/14/02: Version 1.0.0 released.
04/23/04: Version 2.0.0 released.
05/24/04: Version 2.0.1 released.
07/11/04: Version 2.0.2 released.
02/11/05: Version 2.1.0 released.
12/01/05: Version 2.2.0 released.
09/08/06: Version 2.2.2 released.
10/16/06: Version 2.2.3 released.
01/10/07: Version 2.3.0 released.
08/24/07: Version 2.4.0 released.
11/21/07: Version 2.4.1 released.
01/28/08: Version 2.5.0 released.
05/22/08: Version 2.5.1 released.
04/30/09: Version 2.6.0 released.

Return to MCT home page

Detailed Change Log for MCT from version 1.0.0

NOTE: All versions between 1.0.0 and 2.0.0 were internal versions. Some of those were made available (exported) to MCT early users at NCAR
and elsewhere but only 1.0.0 and 2.0.0+ were released publicly.

Only changes to core mct and mpeu code are listed. Changes to documentation and examples are omitted.
Date Version Change
11/26/02 1.0.1 Fix NAG compile; clean up gather/scatter in m_AttrVectComms
1/08/03 1.0.2 Change IBM compile to promote to real8; workaround SGI compiler bug
1/17/03 1.0.3 Add Compaq compile with some workarounds for compiler.
2/11/03 1.0.4 Add Fujitsu compile; fix memory leak in m_List, m_SparseMatrixDecomp
3/12/03 1.0.5 Add ia64/ifc compile; add functions to m_List; speed up avCopy
3/19/03 1.0.6 Fix memory leak in m_GeneralGridComms
4/2/03 1.0.7 Change IBM compile optimiation from -O3 to -O2
4/16/03 1.0.8 Add Darwin compile; Some changes for NEC compile
7/3/03 1.0.9 fix sorting in m_SparseMatrixComms
7/21/03 1.0.10 Add Cray X1 compile; Add append routines to m_AttrVect; workaround compiler issues in X1, IBM 8.1.1
7/24/03 1.0.11 Refactor Router datatype; add support for non-blocking MxN transfer; remove m_NBSend
8/26/03 1.0.12 Add new autoconf-based build system; add methods to m_AttrVect, m_AttrVectReduce, m_MatAttrVectMul;
Add new m_GlobalSegMapComms module. remove m_NBSend
9/5/03 1.0.13 change flags for OSF1 build; fix ia64 compile in new build system
9/12/03 1.0.14 Add Earth Simulator Makefile's
9/17/03 1.0.15 Add sanity checking to m_MCTWorld; Have m_Transfer return immediately if no work to do
10/30/03 1.0.16 Add mods for vector computers
11/4/03 1.0.17 Modify Earth Simulator build
11/4/03 1.2.0 Same as 1.0.17; change version numbering scheme
1/21/04 1.4.0 Add explicit real and double precision interfaces for all routines requiring a real argument
2/5/04 1.6.0 Explitictly type all reals in MCT/mct; remove autopromotion from build system
2/19/04 1.8.0 Begin removing old build system
2/20/04 1.8.1 Modify build for Earth Simulator
2/23/04 1.8.2 Mods to continue co-existence of old and new build systems
2/25/04 1.8.3 Fix Earth Simulator build
2/27/04 1.8.4 More fixes for ES build; Add compile flags for X1
3/15/04 1.9.0 Add Altix compile; bug fixes to m_GlobalSegMapCooms, m_SparseMatrixComms;
Clarify use of vector mods in m_SparseMatrix; more options to set precision in m_realkinds
4/19/04 1.9.1 workaround bug in pgf90; Make sure m_realkinds is "use only"
4/21/04 1.9.3 remove old build system
4/22/04 1.9.5 Make sure all messages identify themselves as "MCT" or "MCT(MPEU)"
4/23/04 2.0.0 small bugfix to a command line option in configure
5/24/04 2.0.1 Bug Fix: remove two small memory leaks in AttrVect:sort and GlobalSegMap:Permute;
Bug Fix: fix handling of vector flag in SparseMatrixComms:bcast_;
Make sure clean_ methods won't die if called on uninitialized objects.
7/11/04 2.0.2 Bug Fix: remove small memory leaks in Accumulator:initv, AttrVect:ExportR/IListToChar,
AttrVectReduce:LocalReduceRattr, List:bcast_
Bug Fix: Fix dual precision in SparseMatrix:row_sum
Add F90SUFFIX option to configure
10/19/04 2.0.3
(not released)
Bug Fix: Fix build bug on Lemieux
02/11/05 2.1.0 Add support for multi-language interface with Babel. Modify build to optionally build Babel interface.
Add build option to add "sequence" keyword to all MCT datatypes.
Add new perrwith="quiet" option to m_attrVect:index routines.
Add new example: climate_sequen1. This shows a sequentially coupled model
with init/run/finalize mehods and which uses MCT for coupling.
Add Cray compiler directives (thanks to Matthew Cordery).
12/11/05 2.2.0 New mpi-serial library for using MCT without MPI.
Add support for Pathscale compiler.
Confirmed support for Lahey compiler.
Add new GlobalSegmentMap::init_index function to initialize a GSMap from a list of local points.
Add new AttributeVector::Unpermute function.
Bug fix (22): AttributeVectorComms::gather now works for masked GSMap Av's
Bug fix (24): Merge::MergeInData fix use statement.
Also fixed bug numbers (from bugzilla): 17,18,19,23,25
Clarify Router/Rearranger documentation wrt GSMap point order.
Remove unused mpeu/mpi0 directory.
04/22/06 2.2.1
(not released)
Add alltoall functions to mpi-serial
Cray Support: Use ishell in FileResolv
Cray Support: Support cross compiling
Cray Support: Report vectorization during build
New GlobalSegMapToIndexArr_ transforms an array of points
Used to speed up GlobalSegMapToLocalMatrix on Cray.
Rearranger can optionally use MPI_ALLTOALL (Thanks to Pat Worley).
09/08/06 2.2.2 Add 4 new Av::Copy routines to copy just reals or just integers
Cray Support: Rewrite Router::init to be vectorizable
Cray Support: Add compiler directives
Cray Support: lower Cray optimization
Bug fix (26): get_zeits.c now posix compliant
Also fixed bug numbers (from bugzilla): 27,28,29
10/16/06 2.2.3 Mostly a bug-fix release.
Fix bug seen on XT3 involving Sum argument to Rearranger. Also check value of Sum argument.
Add support for XT3's compiler and g95 compilers.
Add MPI_SUCESS to mpi-serial's mpif.h files.
Bugzilla bugs fixed: 31,32,36,37,38,39,42
01/10/07 2.3.0 New feature: Can now specify which attributes to multiply in calls to MatAttrVectMul
Substantially reduce memory needed in Router init and Rearranger init.
Fix bug in GSMap::init_index to allow procs with no points
m_mpout now works as documented
Bugzilla bugs fixed: 33,45-49,52,53
08/24/07 2.4.0 New features: Specify initial value of Av gather
New GSMap functions: copy, max local segments, increasing logical
New MCTWorld function: initialized logical
Router and Rearranger: print Router info, check if GSMaps are increasing
SparseMatrixPlus: return Strategy as a character string for printing.
Improvements: Another reduction in memory needed in Router init and Rearranger init.
lsize no longer required in export routines
mpi-serial now supports mpi_pack,mpi_unpack, mpi_allgatherv, mpi_get_processor_name, MPI_Aint,
also MPI_PACKED, MPI_MAX_PROCESSOR_NAME, MPI_OP_NULL, MPI_BOTTOM, MPI_User_function.
Bug fixes: Specifying a list of attributes in MatVecMul now works correctly (bug #74).
SparseMatrixToMaps correctly handles cases with one segment (bug #70)
Bugzilla bugs fixed: 35,54,57,58,64,67-75
11/21/07 2.4.1 New features: many more MPI features supported in mpi-serial: MPI_Group, f2c, c2f, MPI_ERR_, etc.
Bug fixes:Workaround for MIPSpro compiler bug in new m_SparseMatrixPlus::exportStrategyToChar
Workaround for runtime bug in varous listToChar functions when called on unallocated list
Bugzilla bugs fixed: 77-82
12/20/07 2.4.2
(not released)
New features: New init method in MCTWorld supports case where 2 or models are on a group of processors but don't
cover them completely.
Add MPI_Scan and MPI_Scatter to mpi-serial
01/21/08 2.4.3
(not released)
New features: New methods in Accumulator
inits_: initialize a simple Accumulator which only sums
initavs_: initialize a simple Accumulator from an Av
average_: force an average in an accumulator
Bugzilla bugs fixed: 59
01/28/08 2.5.0
New features: Handle unordered GSMaps in Transfer and Rearranger.
First public release of 2.4.2 and 2.4.3 changes
Bug Fixes: Fix error messages in GlobalSegMap::initd_
Bugzilla bugs fixed: 34,86,87,89,90
05/22/08 2.5.1
New features: GeneralGrid_zero function.
Many bug fixes:
Bug 88: Rearrange can now handle grids that are both unordered and masked.
Bug 83: Accumulator now initialized to sum as documented.
Bug 91,51: Fixed some array references/counts in MPI calls for AttrVectComms.
Bug 96: speed up gather and scatter in AttrVectComms.
Bug 98: All internally created Attribute Vectors are now zeroed before use.
Other bugs: 92,93,94,95,99
04/30/09 2.6.0
New features: Flow-controlled gather's for large processor counts provided by Pat Worley.
See m_FcComm.F90 in mpeu. Implemented in m_AttrVectComms and GlobalSegMap::init.
Support for building on MacOSX with gfortran.
Add more MPI types (MPI_INTEGER16) to mpi-serial.
Bug 100: plug memory leak in AttributeVector::initv
Other bugs: 101,102