Log of /release/5.1/trilinoswrap
Directory Listing
Revision
6593 -
Directory Listing
Modified
Mon Jun 5 03:58:43 2017 UTC
(3 years, 8 months ago)
by
jfenwick
Branching for release 5.1
Revision
6396 -
Directory Listing
Modified
Mon Aug 1 22:27:28 2016 UTC
(4 years, 7 months ago)
by
caltinay
Original Path:
trunk/trilinoswrap
changed order of direct solver preference as the Trilinos MUMPS interface clearly has issues.
Revision
6395 -
Directory Listing
Modified
Mon Aug 1 22:25:27 2016 UTC
(4 years, 7 months ago)
by
caltinay
Original Path:
trunk/trilinoswrap
moving isDirectSolver() function to escript to correct solver library selection logic.
Also updated Ripley SystemMatrix overload with recent change.
Revision
6393 -
Directory Listing
Modified
Mon Aug 1 06:20:09 2016 UTC
(4 years, 7 months ago)
by
caltinay
Original Path:
trunk/trilinoswrap
Implement #379.
There is now a way to tell the PDE to retain preconditioner across solves
even when the matrix changes. This is enabled via pde.preservePreconditioner().
In conjunction with AMG and the reuse parameter this saves some time when
solving an almost identical system more than once.
Revision
6392 -
Directory Listing
Modified
Mon Aug 1 02:27:56 2016 UTC
(4 years, 7 months ago)
by
caltinay
Original Path:
trunk/trilinoswrap
Implemented setting specific direct solver. Fixes #378
Revision
6376 -
Directory Listing
Modified
Fri Jul 22 05:35:20 2016 UTC
(4 years, 7 months ago)
by
caltinay
Original Path:
trunk/trilinoswrap
Woohoo! We can now 'unroll' Trilinos block matrices in order to get around the
limitations of Trilinos for solving block problems.
This commit adds the functionality to the wrapper and enables it for ripley.
dudley and finley will follow and I haven't enabled the tests yet.
Revision
6375 -
Directory Listing
Modified
Fri Jul 22 00:27:31 2016 UTC
(4 years, 7 months ago)
by
caltinay
Original Path:
trunk/trilinoswrap
finally, allow setting direct solver params from python.
Revision
6373 -
Directory Listing
Modified
Wed Jul 20 23:47:10 2016 UTC
(4 years, 7 months ago)
by
caltinay
Original Path:
trunk/trilinoswrap
moved util method to separate header. Started setting options for preconditioners.
Revision
6372 -
Directory Listing
Modified
Wed Jul 20 06:14:51 2016 UTC
(4 years, 7 months ago)
by
caltinay
Original Path:
trunk/trilinoswrap
We can now pass Trilinos options through the SolverBuddy.
Updated BelosWrapper to extract the supported options. Amesos2 & Ifpack2
to follow...
Revision
6371 -
Directory Listing
Modified
Wed Jul 20 03:02:32 2016 UTC
(4 years, 7 months ago)
by
caltinay
Original Path:
trunk/trilinoswrap
replicated the changes that keep factorization/problem for block matrices.
Revision
6369 -
Directory Listing
Modified
Tue Jul 19 07:11:15 2016 UTC
(4 years, 7 months ago)
by
caltinay
Original Path:
trunk/trilinoswrap
Trilinoswrap now keeps previously computed factorizations in case of
direct solver, and previously set 'problem' in case of iterative solver.
This accelerates solve times substantially.
We currently do NOT check if the user changed solver options in between solves,
i.e. we do not detect if user does:
pde.setValue(...)
pde.getSolution()
pde.setValue(y=...)
solveroptions.setNewPreconditionerOrChangeSomeSolverRelevantOption(...)
pde.getSolution()
but one can always do: pde.resetOperator() to force reset (which happens
automatically if we change matrix values via A etc.)
Revision
6367 -
Directory Listing
Modified
Tue Jul 19 04:56:16 2016 UTC
(4 years, 7 months ago)
by
caltinay
Original Path:
trunk/trilinoswrap
SolverBuddy: overload updateDiagnostics so we can call it from C++ - not ideal
but quick fix before a revamp of the whole class.
TrilinosMatrix: update solver diagnostics for time, residual and num iter.
RipleyMatrix: don't copy the SolverBuddy so the diags are actually returned.
Revision
6340 -
Directory Listing
Modified
Fri Jul 1 12:58:45 2016 UTC
(4 years, 8 months ago)
by
caltinay
Original Path:
trunk/trilinoswrap
Final piece of the puzzle: enable nullifyRowsAndCols for complex matrices.
There needs to be a new method to set diagonals to a complex value but I
haven't done that yet.
!! We can now solve a complex-valued 2D PDE with ripley !!
Revision
6312 -
Directory Listing
Modified
Tue Jun 21 06:51:27 2016 UTC
(4 years, 8 months ago)
by
caltinay
Original Path:
trunk/trilinoswrap
re-enable MueLu with long-index builds. There are only a few tweaks required
in Trilinos which I have done locally so if the tests pass we can go from
there.
Revision
6264 -
Directory Listing
Modified
Fri Jun 3 06:23:10 2016 UTC
(4 years, 9 months ago)
by
caltinay
Original Path:
trunk/trilinoswrap
fixing last dudley failures with trilinos. MueLu is not compatible with
block matrices yet so skip those tests. On the other hand we can now run
AMG tests with >1 rank.
Revision
6263 -
Directory Listing
Modified
Fri Jun 3 06:03:20 2016 UTC
(4 years, 9 months ago)
by
caltinay
Original Path:
trunk/trilinoswrap
fixing another shared pointer race condition by caching a value.
Revision
6221 -
Directory Listing
Modified
Wed May 25 12:26:50 2016 UTC
(4 years, 9 months ago)
by
caltinay
Original Path:
trunk/trilinoswrap
don't use MueLu with index type long - lapack is incompatible.
Revision
6214 -
Directory Listing
Modified
Fri May 20 07:04:31 2016 UTC
(4 years, 9 months ago)
by
caltinay
Original Path:
trunk/trilinoswrap
implemented trilinos interpolation from DOF->nodes in dudley.
Revision
6189 -
Directory Listing
Modified
Wed Apr 27 03:39:21 2016 UTC
(4 years, 10 months ago)
by
caltinay
Original Path:
trunk/trilinoswrap
PRES20 is synonymous with GMRES and ILU0 with RILU in trilinos for now until
we have the proper options in place.
Revision
6188 -
Directory Listing
Modified
Wed Apr 27 03:38:10 2016 UTC
(4 years, 10 months ago)
by
caltinay
Original Path:
trunk/trilinoswrap
silence trilinos matrix constructors and remove unneeded code as the devs
confirmed we don't need resumeFill/fillComplete for block matrices.
Revision
6181 -
Directory Listing
Modified
Tue Apr 26 06:16:15 2016 UTC
(4 years, 10 months ago)
by
caltinay
Original Path:
trunk/trilinoswrap
added support for (experimental) block matrices in Trilinos.
They appear to be much slower and only a limited number of
solvers/preconditioners are supported but it's a start.
Test updates pending.
Revision
6174 -
Directory Listing
Modified
Fri Apr 15 03:41:03 2016 UTC
(4 years, 10 months ago)
by
caltinay
Original Path:
trunk/trilinoswrap
Some reorganisation of EscriptParams and related changes.
We now distinguish between modifiable parameters and build features.
To interrogate the latter use:
escript::hasFeature() [ python: escript.hasFeature() ]
and
escript::listFeatures() [ python: escript.listFeatures() ]
I have decided to add specific getters for the remaining few parameters to
avoid the penalty of string comparisons and to remove the wealth of friend
declarations with Data* classes.
Also made some changes in SConstruct to make sure we set *all* preprocessor
directives *before* building anything.
Still to do is dealing with checks for direct solver and gmsh. The latter needs
to be a runtime check rather than a compile time check.
Revision
6170 -
Directory Listing
Modified
Wed Apr 13 07:46:34 2016 UTC
(4 years, 10 months ago)
by
caltinay
Original Path:
trunk/trilinoswrap
moved common code to base class in ripley and implemented single-component
dofToNodes with trilinos.
Revision
6145 -
Directory Listing
Modified
Wed Apr 6 06:28:57 2016 UTC
(4 years, 10 months ago)
by
caltinay
Original Path:
trunk/trilinoswrap
now refraining from adding all libraries to all targets. So we don't link
unnecessary libraries, e.g. escript does not need parmetis etc...
Revision
6115 -
Directory Listing
Modified
Fri Apr 1 06:22:05 2016 UTC
(4 years, 11 months ago)
by
caltinay
Original Path:
branches/trilinos_from_5897/trilinoswrap
continue to make things more modular and make some dependencies clearer so
we can now actually do:
(minimal but useless build):
scons domains= weipa=0 paso=0 trilinos=0
(build ripley with trilinos solvers only):
scons domains=ripley paso=0 trilinos=1
Fixed some example scripts that weren't checking for domain availability.
Revision
6104 -
Directory Listing
Modified
Wed Mar 30 06:01:20 2016 UTC
(4 years, 11 months ago)
by
caltinay
Original Path:
branches/trilinos_from_5897/trilinoswrap
Factored out and templetized preconditioner,solver and direct solver creation.
The SystemMatrix constructor now takes an optional arg 'isComplex'.
Some complex operations are commented out as we need the complex getSampleData*
methods from trunk for them to work.
It looks like we have to modify the Abstract class in escript eventually as
there is a single method that takes a `double` argument (nullifyRowsAndCols).
Revision
6052 -
Directory Listing
Modified
Thu Mar 10 03:11:47 2016 UTC
(4 years, 11 months ago)
by
caltinay
Original Path:
branches/trilinos_from_5897/trilinoswrap
- added missing fillComplete() call when matrix has been instantiated.
- added support for BiCGStab.
- switched to right-preconditioning if using BiCGStab (left is not supported in
Trilinos yet)
- now calling matrix->apply for mvp which is the recommended way.