############################################################################### # # # Trilinos Release 8.0 Changelog # # # ############################################################################### Release Update 8.0.8 July 25, 2008 Change number. Package(s) affected - description 1. ML - Making sure ml.m shows up in the tarball. 2. Teuchos - Adding "#include" to Teuchos_ConfigDefs.hpp. This was necessary for creating a Trilinos RPM. 3. Amesos - Correction to the construction of a vector > object. This was necessary for creating a Trilinos RPM. 4. AztecOO, TrilinosCouplings - Corrected multiple license notices. This was necessary for creating a Trilinos RPM. 5. Anasazi - Adding "#include " header to Anasazi_ConfigDefs.hpp. This was necessary for creating a Trilinos RPM. 6. Several - Applying a number of patches to the build system that were submitted by Deji Akingunola. He is working on a Fedora RPM for Trilinos and required these changes to build the RPM. 7. PyTrilinos - Bug 3989. Added fixes for installation on Fedora Core. 8. ML - Random number changes from dev branch. 9. PyTrilinos - Bug 3989. Added bug fix/modification to MakefileVariables utility that was present in dev branch but not R8. 10. PyTrilinos - Fixed install problem introduced by Deji's patch. 11. PyTrilinos - Updated doxygen-to-python-docstring documentation. ------------------------------------------------------------------------------ Release Update 8.0.7 May 10, 2008 Change number. Package(s) affected - description 1. ML - Consistency fix for "subsmoother: damping parameter". 2. Isorropia - Removed unnecessary configure check for Python. 3. Epetra - Bug 3884. FECrsMatrix wasn't overriding the CrsMatrix methods for adding matrix entries (InsertGlobalValues, SumIntoGlobalValues, ReplaceGlobalValues). This allowed the possibility that users would call those base-class methods on a FECrsMatrix instance, and get unexpected behavior. Those methods are now overridden. 4. EpetraExt - A global index was being used to ExtractMyRow in EpetraExt::MatrixMatrix:Add. A local index is now used. ------------------------------------------------------------------------------ Release Update 8.0.6 May 5, 2008 Change number. Package(s) affected - description 1. Isorropia and AztecOO - Bugs 3785, 3789. (tests/examples only) Karen was having some problems with multiply defined symbols using a 64 bit mac linker. I updated the test and examples she was having problems with to use the latest Makefile.export capabilities. I do not have access to a 64 bit mac linker, but I did make sure that epetra only appears on the link line once now for these tests when --with-gnumake is used. I previously make these changes to the dev branch. I did not apply all of the changes I made to Isorropia to the 8.0 release branch because she wasn't having trouble with the other tests and I tend to be conservative about the changes I make to the release branch. 2. Sacado - Bug 3792. Replaced uint with unsigned int to fix build error on leopard. 3. Nox - Bug 3791. (test only) Loosening norm tolerance to fix failure on exatazo. 4. EpetraExt - Removed unnecessary ";" from end of namespace. 5. Belos - Bug 3830. Removing unnecessary "typename" in declaration, use, and return type of convertStringToScaleType(). 6. Epetra - Bug 3800. Fixing typos in CrsMatrix and RowMatrix documentation. 7. MOOCHO, Thyra, and RTOp - Bug 3842. Removing headers from machine-dependent install directory. 8. Teuchos - Bug 3847. Fixing incorrect LAPACK wrappers. 9. Belos - Bug 3863. (tests only) Moving MPI_Finalize() calls before the return calls. 10. Belos - Bug 3863. (tests only) Updated definition file. 11. ML - Bug 3860. Fixing compile error when only Teuchos, ML, and Epetra are enabled. 12. Ifpack - Bug 3875. Fixing memory leak in Ifpack_IC::Compute(). 13. ML - Moving over RefMaxwell enhancements from dev branch. 14. ML - Bug 3098. Applying patch to address 32-bit integer overflow when dealing with global number of matrix nonzeros. 15. ML - Bug 3098. Patching the print out of smoother stats. 16. EpetraExt - Bug 3878. Adding std:: to sort() and binary_search() calls. 17. ML - Changed sort to std::sort to fix cross-compile error on reddish. 18. EpetraExt - MatrixMatrix::Add was assuming that A and B can't be the same matrix. 19. ML - No comment made - Change related to hanging RefMaxwell test. 20. ML - Fixing warnings on SunOS. ------------------------------------------------------------------------------ Release Update 8.0.5 January 31, 2008 Change number. Package(s) affected - description 1. PyTrilinos (Epetra) - Upgraded Epetra.FECrsMatrix square bracket operators. 2. PyTrilinos (Epetra, ML) - Bug 3694. Change interface files that use PyInt_Check() or PyInt_AsLong() to use SWIG_IsOK() and SWIG_AsVal_int() instead. This will increase the flexibility of type checks in the resulting wrappers. Adding the pyfragments.swg helped the 64-bit integer problem, but these files had to be changed also in order for the upgrade to implemented in this code, too. 3. PyTrilinos (Epetra) - Bug 3694. Added PyArray_FILLWBYTE() to clear global arrays before reduction operation. Some PyTrilinos tests were failing because the MPI reduction routines were returning garbage. This was fixed by clearing out those arrays prior to the call. 4. Epetra - Bug 3694. Changed incorrect MPI_INT arguments to correct MPI_LONG arguments. Two methods, MpiComm::MinAll(long*,long*,int) and MpiComm::SumAll(long*,long*,int) had bugs: they called MPI_Allreduce with MPI_INT rather than MPI_LONG as arguments. This change fixes that. Interestingly, this never posed a problem until MPI PyTrilinos tests were run on a 64-bit architecture. 5. PyTrilinos - Removed several test scripts from the MPI test suite. I removed testML_Preconditioner.py, exML_Simple.py and exML_Smoother.py from the MPI test suite. These trigger a dynamic_cast<> in Epetra that I don't think will be changed in Release 8.0. 6. PyTrilinos (EpetraExt) - 3742. Added exception handling to EpetraExt HDF5 and XMLReader classes.This does not fix bug 3742, but it adds the catching of std::logic_error exceptions and converting them to python RuntimeError exceptions. 7. PyTrilinos - Added python code to change the python dlopen flags so that symbols are shared across extension modules. 8. PyTrilinos - Re-enabled testML_Preconditioner.py, exMLAPI_Simple.py and exMLAPI_Smoother.py. 9. PyTrilinos - Fixed minor build bugs. Removed -ansi -pedantic options from ALL compilations; if-protected building libpytrilinos.{so,dylib} for the case when *.o does not exist. 10. ML - Merging in change from ML dev to allow repartitioning with # null space vectors > 1. 11. ML - Wholesale RefMaxwell merge from the dev branch. This was the easiest way of cleaning up the output issues in 8.0. 12. ML - Cleaning up output issues w/ RefMaxwell. 13. ML - Raise level for very_verbose output in RefMaxwell. 14. ML - Bugs 3057 (aux), 3098 (64 bit support). Merging in two bug fixes from the developer trunk: 1) aggregation with auxiliary matrix 2) integer overflow in debugging output Merged in patch to fix integer overflow when caculating global statistics. Also fixes potential overflow in repartitioning. Merged in Ray's fixes to aggregation via an auxiliary matrix. In particular, Ray has fixed the long-standing issue of aux being non-symmetric, i.e., it wasn't guaranteed that a_ij and a_ji would be both dropped or both kept. All tests pass on my workstation. 15. ML - Fixing problems in RefMaxwell wrt handling non-Hiptmair smoothers. 16. ML - Bug 3612 - Removing "using namespace std" from headers, adding std:: where necessary.Compiles with strict flags on my workstation, all tests pass. 17. ML - Merging in changes from dev version of User's guide. New pdf version. 18. Anasazi - Removed all BlockDavidson/Epetra tests until solution can be found for hanging tests. (Thyra tests seem fine) 19. Anasazi - re-enabled MPI tests of BlockDavidson solver, but only for one processor. 20. Framework/Teuchos - Bug 3758. I added the files in Trilinos/packages/teuchos/refactoring and Trilinos/commonTools/refactoring to the distribution tarball. I built a new tarball (with just teuchos) to make sure all of the appropriate files are included and I rebuilt Teuchos. 21. Anasazi - Bug 3764. Restoring changes for bug 1906 to Anasazi. The changes I made for bug 1906 (updating the list of fortran compilers to look for) were accidentally overwritten by another developer the next time configure.ac was modified. This was not detected for a while (nearly a year and a half) because most users cache configure results. In those cases the Fortran compiler selected by Teuchos is automatically used by Anasazi. I recompiled and ran some tests. This is not an issue on the development branch because Anasazi no longer checks for a Fortran compiler. 22. Didasko - Bug 3780. Adding conditional support for Belos in Makefile.export.didasko.in. 23. PyTrilinos - Comprehensive changes to improve the stability of PyTrilinos. User-visible changes: * Added wrappers for Teuchos::Comm and derivatived classes. This allows Teuchos tests to be enabled in parallel, and a new test, testTeuchos_Comm.py, to be added to the test harness. * Added wrappers for various additional Teuchos traits classes, necessary to get the Comm classes to work as desired. * Implemented standard exception handling across all PyTrilinos packages. This includes a try block around every call to Trilinos, and a catch(...) clause that should ensure that ANY exception gets caught by the python interface. A generic exception caught by catch(...) gets converted to a python UnknownError. * exAztecOO_*.py example scripts updated so that they run properly in parallel. * Fixed certain problems that were preventing certain Epetra tests from passing in parallel. If-protections against running in parallel have been lifted. User-invisible changes: * Moved documentation directives from files such as Galeri_doc.i into the parent interface file, Galeri.i. This unclutters the src directory a bit and puts the specialized documentation near where its python interface is defined. * Added a PythonException class that converts python errors into C++ exceptions. This is useful in C++ constructors (such as those used in the Epetra_NumPy* classes), where some cleanup is needed and the appropriate exit is via an exception (which is then caught by the wrapper and converted back to a python error). * Refactored certain Epetra_NumPy* constructors to call cleanup() method automatically upon failure (rather than relying upon the user) and to throw a PythonException. * Broke up Teuchos.i into smaller parts to simplify the top level, and keep the wrapper directives for various tools collocated. For consistency, Teuchos_ParameterList_ext.i was changed to Teuchos_ParameterList.i and expanded. * Provided #ifdef protection for packages that use Teuchos and Epetra. The resulting wrappers usually won't be very useful if Teuchos or Epetra are disabled, but the test harness should work more gracefully when Teuchos or Epetra fail to configure or build. * Implemented consistent curly-bracket formatting. * Changed specialized Epetra row methods to call numpy.i functions rather than the NumPy/C API directly. 24. PyTrilinos - Fixed compatibility problem with numpy 0.9.x. In order to be compatible with numpy 0.9.x, I need to use the old variable names (intp rather than npy_intp, PyArray_DOUBLE rather than NPY_DOUBLE, etc.) in the source files Epetra_NumPy*.cpp. If numpy 1.0.x is used, then a header file gets included that treats these variable names as macros that get expanded to their new names. With my latest commit, I had violated this convention, and this commit fixes it. 25. PyTrilinos - Updated Doxygen-generated docstrings for python classes. 26. PyTrilinos - Fixing a minor typo in the definition of EXTRA_DIST. ----------------------------------------------------------------------------- Release Update 8.0.4 November 28, 2007 Change number. Package(s) affected - description 1. Teuchos - Bug 3678. This completes the templating of the serial-dense matrix and vector class on OrdinalType. The OrdinalType should describe the dimensional features of this class and, yet, the dimensions (rows, cols, stride, etc.) were hard-coded to integers. This has been corrected. 2. PyTrilinos - Changed module documentation strings so that the format better with python 'help' function and 'pydoc' shell command. 3. Framework level - Bug 3680. Adding Trilinos_version.h to give macros that announce the Trilinos version. 4. Didasko - Bug 3683. Create tutorial information for Belos. 5. ML - Minor changes to doxygen comments. 6. Amesos - Bugs 1227, 2245. Amesos_Klu was returning an error code when the matrix was determined by KLU to be structurally or numerically singular. However, this error code was only being returned on the 0 processor, where the work was being done. All the other processors received a 0 return value. Xyce tries to use the return value to determine what to do, and the inconsistent return values resulted in a hang. Now a broadcast is used after the computation of the symbolic/numeric factorization to get a consistent return value to all processors. A Test_Singular directory was added to test that the same return value was received from all processors when a numerically singular matrix was encountered. 7. ML - Bug 3688. Fixing compiler error when ML is configured without Ifpack support. 8. Epetra - Bugs 3692, 3697. Fixed memory errors in SingletonFilter class. 9. Triutils - Bug 3685. Added #include needed by newer versions of GCC. 10. PyTrilinos - Bug 3709. PyTrilinos now builds with a shared pytrilinos library that houses the Teuchos_PythonParameter code and all of the Epetra_NumPy classes. This prevents duplicates of this code from being placed in different extension modules, which in turn (should) prevent the RTTI system from getting confused on some systems. 11. PyTrilinos - Added Teuchos_PythonParameter.cpp. 12. PyTrilinos - Improved output messages during build. 13. PyTrilinos - Added Teuchos_PythonParameter.cpp to EXTRA_DIST. 14. Rythmos - Bug 3710. Adding code to compute response sensitivities at the end of each timestep. 15. PyTrilinos - Bug 3694. Added pyfragments.swg.in, which produces pyfragments.swig in the build directory, which changes some of the python-integer-to-C-integer conversion code to include logic for numpy array scalars. 16. PyTrilinos - Bug 3694. Upgraded to new numpy.i that is C89 compliant. 17. PyTrilinos - Bug 3694. The fix for bug 3694 was not sufficient for older versions of numpy, as I found out when I tried the upgrade on beowulf. The solution was to upgrade numpy.i to use swig fragments for the helper functions and macros. This required a couple of minor tweaks in a couple of other files as well. 18. PyTrilinos - Added min and max macros to Backward Compatibility fragments 19. Amesos - Bug 1227. Changed singular matrix test to use output comparison to determine pass/fail. 20. Anasazi - removed MPI test of problematic BlockDavidson test 21. Framework level - Inserting --enable-shared into the list of configure args when PyTrilinos is enabled directly or indirectly and --enable-shared was not already explicitly specified. 22. Teuchos - Bug 3726. Modifications to RTTI use for shared libraries for use by Python wrappers. ----------------------------------------------------------------------------- Release Update 8.0.3 October 19, 2007 Change number. Package(s) affected - description 1. ML - Fixes bug 3652 by adding ifdef guards for EpetraExt 2. Several - Partial port to SGI machine sasg5000 3. PyTrilinos - Prabhu-fixed doxy2swig.py script and updated dox files 4. Teuchos, Anasazi, Didasko, Komplex, NOX, Triutils - Adding files for building documentation to the distribution tarball 5. Several - Removing some obsolete lines from Doxyfile.options files for several packages 6. Sacado - Fixed warning on SGI about missing return 7. Sacado - Disabled code that does not compile on Sun and updated RELEASE_NOTES 8. Sacado - Made ModelEvaluator support t in_arg. FEApp ModelEvaluator now accepts t in_arg, although none of the models currently use t. 9. Epetra - Fixed incorrect usage of EPETRA_MAX in Epetra_MultiVector and Epetra_IntVector. Restored original Epetra_Multivector tests. 10. ML - Updating how aggregation handles Dirichlet rows 11. Thyra - Modifications to Trilinos/packages/thyra/src/interfaces/ nonlinear/model_evaluator/ana/fundamental/Thyra_ModelEvaluatorBase.hpp. (Log message not available.) 12. ML - Changing solver defaults for problem type "Maxwell". ------------------------------------------------------------------------------ Release Update 8.0.2 September 19, 2007 Change number. Package(s) affected - description 1. ML - ml.m was not being copied into the distribution tarball. This has been fixed. 2. PyTrilinos - Initial check-in of XML doxgen generation system 3. PyTrilinos - Updated new instructions for adding a Package 4. PyTrilinos - Updated support for documentation - TriUtils, EpetraExt, AztecOO, Galeri, Amesos, Ifpack, Anasazi, ML, NOX 5. PyTrilinos - Prabhu provided a new doxy2swig.py script, which fixes a bug involving text wrapping. This has allowed me to include extra header and source files that I had been working around do to the symbol-length issue. 6. Framework level - Updated the user guide for version 8.0. 7. Framework level - Updated the tutorial for Trilinos 8.0. Specifically, I updated the description of Trilinos to be more general, the build instructions to account for the new make targets, and a few other changes. 8. NOX - Updating documentation - default doxyfile and bad html links. 9. Framework level - Updated the developer guide for version 8.0. 10. ML - Fix parallel errors when ML is configured with --enable-ml_timing. 11. ML - Updating ML version number that Doxygen reports to 'ML 6.1 in Trilinos 8.0'. 12. ML - Updating list of files for which documentation is built. 13. Rythmos, Belos, EpetraExt, MOOCHO, NOX, Sacado, Stratimikos, Teuchos, Thyra - Commiting the merge (from the now dead) "milestone" branch 14. Framework level, PyTrilinos, Kokkos, Moertel, Pliris - Adding documentation related files to the tarball. 15. PyTrilinos - Added manual documentation for Galeri, Teuchos, and Epetra. 16. Isorropia - Add Isorropia_autoheader.h to 'make install' target. 17. PyTrilinos (Teuchos) - Changed test to reflect new formatting 18. PyTrilinos - Added documentation for NOX and EpetraExt. Re-enabled EpetraExt HDF5 support. 19. MOOCHO, Thyra, Framework level - Port to SUN. These are very minor code changes to support the port to this compiler. 20. PyTrilinos - Updated automatically generated documentation; fixed Makefile bug. 21. Thyra - Added missing support of f_poly in Thyra::ModelEvaluatorBase::OutArgs::setArgs(...). 22. PyTrilinos - Added package directories to clean target.



