This repository was archived by the owner on Nov 25, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathChangeLog-ML
More file actions
369 lines (273 loc) · 14.8 KB
/
Copy pathChangeLog-ML
File metadata and controls
369 lines (273 loc) · 14.8 KB
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
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
/*
ML: A Multilevel Preconditioner Package
Copyright (2001) Sandia Corporation
Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive
license for use of this work by or on behalf of the U.S. Government.
This library is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 2.1 of the
License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
USA
Questions? Contact Jonathan Hu or Ray Tuminaro ({jhu|rstumin}@sandia.gov).
*/
ML -- History of visible changes
================================
This file reports (some of) the visible changes to ML.
Please submit ML bugs at software.sandia.gov/bugzilla, or
report bugs to {jhu|rstumin}@sandia.gov.
August 2008
* Added support for PETSc smoothers in the case when the fine grid
matrix is really a PETSc data structure. This is meant to be used
in conjunction with the Epetra_PETScAIJMatrix class.
* Implemented MPI subcommunicators for direct solves on coarsest
level. This will mainly impact large scale simulations (>1K processors).
Jan 2007
* Improved eigen-value estimates throughout, especially for
non-symmetric systems.
* Improved run times by using Ifpack's native (symmetric)
Gauss-Seidel for Epetra_CrsMatrix types (when Ifpack is available).
------------------------------------------------------------------------------
Dec 2006
* Fixed two overflow bugs in the random number generator. This will
mainly impact very large parallel runs.
July 2006
* Moved ML over to using Makefile.export.ml instead of Makefile.export.
------------------------------------------------------------------------------
June 2006
* Fixed a subtle translation problem between ML's handling of ghost
unknowns and Epetra's. This could only happen in parallel.
* Added a constructor for Maxwell's equations that takes the mass and
curl-curl terms separately.
------------------------------------------------------------------------------
Apr 2006
* Added support for (linear) matrix-free aggregation-based
multilevel preconditioners. Using the new class
ML_Epetra::MatrixFreePreconditioner, which depends on Epetra,
EpetraExt and Teuchos, one can compute a preconditioner just by
applying the operator. The class requires the graph of the operator,
and the number of PDE equations, which is supposed to be constant.
* Added a direct wrap for Epetra_CrsGraph objects.
------------------------------------------------------------------------------
Mar 2006
* Improved the ML/Epetra wrappers: if the ML_Operator is a wrapper of
an Epetra object, then ML automatically takes the Epetra pointer
stored in the data field of the ML_operator, and avoid an additional
RowMatrix wrapper. This makes the IFPACK relaxation smoothers
competitive with ML's internal ones for the finest-level matrix.
* Minor fixes to ml_RowMatrix: NumMyCols() was not correct.
------------------------------------------------------------------------------
Feb 2006
* Several fixes to the energy minimization procedures. The code is
now several times faster and more memory effective.
------------------------------------------------------------------------------
Dec 2005
* Added support for additional prolongator smoother sweeps (higher
degree polynomial smoothing). This should be used with aggressive
coarsening (e.g., METIS, ParMETIS).
------------------------------------------------------------------------------
Aug 2005
* Added capabilities for algebraic nonlinear multigrid
The approach is based on a (possibly nonsymmetric) FAS-V-cycle
(FAS=full approximation scheme) and uses the package
NOX to supply nonlinear smoother/solvers. It is also
capable of generating it's own tangent stiffness matrix if
the user supplies a problem graph only.
This nonlinear multigrid scheme uses NOX interfaces to
interface to the application and can act as a preconditioner to
some NOX nonlinear solution scheme (e.g. nonlinear CG) or
as a standalone solver.
See the example ml/examples/NonlinML on how to use it.
------------------------------------------------------------------------------
Jul 2005
* Improved the organization of the MLAPI source files and examples.
Now the compilation of the MLAPI sources is about 20% faster,
and the compilation of the MLAPI examples up to 3 times faster.
Some never-used examples and classes have been deleted.
* Drop the support for command line parameters. A similar
capability is supported by the Python interface.
------------------------------------------------------------------------------
Jun 2005
* Completed the ML wrapper for Python, using SWIG. The ML module
still requires a manual configuration of shared libraries,
as done (on Linux/GCC at the moment) with script
make_shared_linux.sh, located in the PyTrilinos directory.
The basic functionalities of the MultiLevelPreconditioner class
are available, for both serial and parallel runs. The ML module
is compatible with the Epetra and AztecOO modules.
* Changed the wrapper names and contents for Epetra matrices.
Now the dynamic cast to Epetra_CrsMatrix and/or Epetra_VbrMatrix
is done only once in the construction of the preconditioner.
This results in an improvement of the performances up to
30% for smore test problems.
------------------------------------------------------------------------------
Apr 2005
* Added a simple finite element code, that can be used to test
ML and MLAPI preconditioners. The code offers a pure Galerkin and
a SUPG discretization for second order PDEs, in 2D and 3D, using
triangles, quads, tets, and hexahedra. L2 and H1 norms of the
computed solution and error can be computed. Results can be
visualized using MEDIT.
------------------------------------------------------------------------------
Mar 2005
* In the MLAPI namespace, added class MultiLevelAdaptiveSA, which
implements the \alpha SA algorithm (computation of slow
converging modes for problems with non-smooth kernels).
* Added a class, Ifpack_ML, that wraps an MultiLevelPreconditioner
as Ifpack_Preconditioner, so that ML can be used as local
solver in a domain decomposition preconditioner.
* Extended capabilities to read matrices from file in various
formats.
* Added support for adaptive smoothed aggregation within MLAPI.
A new class, called MultiLevelAdaptiveSA, has been added.
* Added a prototype of class for non-symmetric smoothed
aggregation.
* Added capability to write visualization files in legacy VTK
(Visualization toolkit) format. These are readable by paraview,
which is freely available from www.paraview.org. Supports 1D/2D/3D
point cloud visualization for aggregates, as well as solution
visualization.
------------------------------------------------------------------------------
Feb 2005
* Improved the MLAPI files.
------------------------------------------------------------------------------
Jan 2005
* The first cut of the MLAPI is now available. MLAPI is the
MATLAB-like parallel programming module of ML. Right now only
a limited subset of ML functionalities is available.
* Improved the MultiLevelPreconditioner class (now derived from
Epetra_Operator and no longer from Epetra_RowMatrix). Updated the
filtering/GGB algorithm, which now supports only Anasazi and the
non-symmetric cycle. Some never-used methods have been deleted
(like scaling).
* Improved compilation on several machines; now ML *should* compile
with no warnings on Linux using `-g -ansi -pedantic -Wall
-Wno-format-extra-args'.
------------------------------------------------------------------------------
Dec 2004
* Improved the organization of the examples, introduces more
detailed comments and some README files. Deleted some outdated
examples.
* Bug fixes to the auxiliary matrix algorithm for problems defined
on stretched grids.
------------------------------------------------------------------------------
Nov 2004 (current version 3.1)
* ML now supports Zoltan as coarsening scheme (RCB only). Zoltan
can be used to create the aggregates, but also to redistribute
the next-level operator among the specified number of
processors (which can be less than the available number of
processoes)
* Several minor and major fixes to the example suite
* Added a test to verify the correctness of compiled examples
* Extended the test harness scripts and files
* a variable-block partiononing scheme (based on METIS) is
now available.
------------------------------------------------------------------------------
Oct 2004
* Support for new IFPACK smoothers. ML now supports IFPACK's
variable block Jacobi, Gauss-Seidel and symmetric Gauss-Seidel
preconditioners, as well as the IFPACK-Amesos preconditioners
(subdomain-based exact LU factorizations)
* Fixes support for Amesos solver (introducing LAPACK as coarse
solver)
------------------------------------------------------------------------------
May 2004 (current version 3.0, distributed with Trilinos 4.0)
* Update the ml user's guide (in the doc subdirectory)
* Improved interface to C++. Introduced two classes to use
ML as a preconditioner for Epetra_LinearProblem (both in the
ML_Epetra namespace): MultiLevelOperator and
MultiLevelPreconditioner.
* Basic feaures to solve Maxwell equations via MultiLevelPreconditioner
are now supported
* Improved interface to Amesos. Now ML can use Anasazi to estimate
the maximum eigenvalue for both symmetric and non-symmetric
problems.
* Improve interface to Anasazi
* Add power method to estimate lambda max for non-syymmetric
problems
* Improve the MLS preconditioner for block systems
* New options for configure. Drop --with-ml_epetra (and similar
for other Trilinos packages), and use --enable-epetra (and similar)
* Fixed various compiler warnings for LINUX (GNU and Intel),
SGI 64, DEC, west-cplant, ASCI Red
------------------------------------------------------------------------------
Apr 2004
* Change to support new Teuchos methods' name
* Change to support new Amesos methods' name
* Now support to ML native interface to SuperLU and SuperLUDIST
is deprecated in favor of Amesos interface
------------------------------------------------------------------------------
Jan 2004
* Add METIS and ParMETIS aggregation schemes
* Add Teuchos support
* Add interface to Amesos
* Add interface to IFPACK
* Add interface to Anasazi
* Add configure options --with-ml_epetra, --with-ml_parmetis2x,
--with-ml_parmetis3x, --with-ml_ifpack, --with-ml_anasazi
* Add two-level additive and hybrid domain decomposition
preconditioners (not officially supported)
------------------------------------------------------------------------------
Sep 2003 (version 2.0, distributed with Trilinos 3.1)
* ML has now been put "autotooled", i.e., autoconf and automake.
* Haim Waisman's GGB method has been implemented.
* Bill Cochran's cache optimizations for multiple RHSs have been
implemented.
* Bill also has added code so that ML will compile with c++ compilers.
------------------------------------------------------------------------------
ml2_1_0_0-branch-patch_1
* 1st patch for release ml2_1_0_0 (trilinos-release-3-01-branch).
* Bug fix for eigenvalue estimate that was causing Alegra
sinmag benchmark to fail.
* Added definitions for make macro CXX in architecture-dependent
makefiles in order for Alegra to be able to build epetra interfaces.
* Minor changes to block matrix (equivalent real form)
capabilities.
* Fixed compiler warnings.
------------------------------------------------------------------------------
mystring = ml2_1_0_0
* Many minor fixes to get the commuting relationship T_h P_n = P_e T_H
exactly right.
* Serial implementation of enriched prolongator.
* New norm for convergence of Maxwell solver. This norm measure
and scales properly the range space and null space components of
the (curl,curl) operator.
------------------------------------------------------------------------------
mystring = ml2_0_0_5
* Changes in aggregation post-processing to improve aggregate quality.
* Added wrappers so that ML can use Epetra objects & so that
AztecOO can use ML as a preconditioner.
* Added block Maxwell capabilities for real block systems that are
equivalent to the complex systems arising from Maxwell in the
frequency domain.
------------------------------------------------------------------------------
mystring = ml2_0_0_3
* Added in smoothing of Reitzinger/Schoeberl prolongator.
* Least squares and smoothed l.s. prolongators in serial for R/S AMG.
* Enhanced detection of degenerate coarse grid matrices in building
R/S AMG hierarchy.
------------------------------------------------------------------------------
mystring = ml2_0_0_2
* Symmetrize Hiptmair smoother and finished off MLS within Hiptmair.
------------------------------------------------------------------------------
ml2_0_0_1
* MLS polynomial smoother
* matrix does not need to be scaled.
* Added more print control:
- "ml_inputfile" now takes an additional argument in the general
- problem specs section:
- "Print Level = [an integer]"
- 0 => minimal output
- 1 => some output (default)
- 2,3,... => increasing amounts of output
------------------------------------------------------------------------------
ml2_0_0_0
* AMG for Maxwell's equations
* Reitzinger Schoeberl AMG.
* Hiptmair smoother.