Log of /trunk/trilinoswrap
Directory Listing
Revision
6408 -
Directory Listing
Modified
Thu Oct 27 03:29:59 2016 UTC
(2 years, 3 months ago)
by
gross
work around for Bug #389
Revision
6396 -
Directory Listing
Modified
Mon Aug 1 22:27:28 2016 UTC
(2 years, 6 months ago)
by
caltinay
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
(2 years, 6 months ago)
by
caltinay
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
(2 years, 6 months ago)
by
caltinay
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
(2 years, 6 months ago)
by
caltinay
Implemented setting specific direct solver. Fixes #378
Revision
6383 -
Directory Listing
Modified
Mon Jul 25 02:47:11 2016 UTC
(2 years, 6 months ago)
by
caltinay
fixing parameter passing to Amesos2.
Revision
6379 -
Directory Listing
Modified
Fri Jul 22 06:31:38 2016 UTC
(2 years, 6 months ago)
by
caltinay
fix indexing when adding to unrolled matrix...
Revision
6376 -
Directory Listing
Modified
Fri Jul 22 05:35:20 2016 UTC
(2 years, 6 months ago)
by
caltinay
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
(2 years, 6 months ago)
by
caltinay
finally, allow setting direct solver params from python.
Revision
6374 -
Directory Listing
Modified
Thu Jul 21 05:00:24 2016 UTC
(2 years, 6 months ago)
by
caltinay
Pass preconditioner options to Trilinos.
Revision
6373 -
Directory Listing
Modified
Wed Jul 20 23:47:10 2016 UTC
(2 years, 6 months ago)
by
caltinay
moved util method to separate header. Started setting options for preconditioners.
Revision
6372 -
Directory Listing
Modified
Wed Jul 20 06:14:51 2016 UTC
(2 years, 6 months ago)
by
caltinay
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
(2 years, 6 months ago)
by
caltinay
replicated the changes that keep factorization/problem for block matrices.
Revision
6369 -
Directory Listing
Modified
Tue Jul 19 07:11:15 2016 UTC
(2 years, 7 months ago)
by
caltinay
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
6368 -
Directory Listing
Modified
Tue Jul 19 07:03:29 2016 UTC
(2 years, 7 months ago)
by
caltinay
diagnostics reporting in block matrix wrapper.
Revision
6367 -
Directory Listing
Modified
Tue Jul 19 04:56:16 2016 UTC
(2 years, 7 months ago)
by
caltinay
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
6341 -
Directory Listing
Modified
Sun Jul 3 23:56:33 2016 UTC
(2 years, 7 months ago)
by
caltinay
fixing type for smoother argument.
Revision
6340 -
Directory Listing
Modified
Fri Jul 1 12:58:45 2016 UTC
(2 years, 7 months ago)
by
caltinay
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
6339 -
Directory Listing
Modified
Fri Jul 1 12:56:43 2016 UTC
(2 years, 7 months ago)
by
caltinay
(2.1) use the right type for solution vector.
Revision
6314 -
Directory Listing
Modified
Tue Jun 21 23:27:35 2016 UTC
(2 years, 7 months ago)
by
caltinay
set mat error tolerance for LSQR as well.
Revision
6313 -
Directory Listing
Modified
Tue Jun 21 22:58:20 2016 UTC
(2 years, 7 months ago)
by
caltinay
forgot to change a line.
Revision
6312 -
Directory Listing
Modified
Tue Jun 21 06:51:27 2016 UTC
(2 years, 7 months ago)
by
caltinay
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
6292 -
Directory Listing
Modified
Thu Jun 16 06:18:23 2016 UTC
(2 years, 8 months ago)
by
caltinay
fix for non-mpi build. this time tested.
Revision
6290 -
Directory Listing
Modified
Thu Jun 16 01:49:20 2016 UTC
(2 years, 8 months ago)
by
caltinay
attempt to fix non-mpi build. not tested.
Revision
6269 -
Directory Listing
Modified
Wed Jun 8 04:29:26 2016 UTC
(2 years, 8 months ago)
by
caltinay
fix intel warnings
Revision
6264 -
Directory Listing
Modified
Fri Jun 3 06:23:10 2016 UTC
(2 years, 8 months ago)
by
caltinay
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
(2 years, 8 months ago)
by
caltinay
fixing another shared pointer race condition by caching a value.
Revision
6256 -
Directory Listing
Modified
Thu Jun 2 23:03:48 2016 UTC
(2 years, 8 months ago)
by
caltinay
added missing requireWrite().
Revision
6221 -
Directory Listing
Modified
Wed May 25 12:26:50 2016 UTC
(2 years, 8 months ago)
by
caltinay
don't use MueLu with index type long - lapack is incompatible.
Revision
6214 -
Directory Listing
Modified
Fri May 20 07:04:31 2016 UTC
(2 years, 8 months ago)
by
caltinay
implemented trilinos interpolation from DOF->nodes in dudley.
Revision
6189 -
Directory Listing
Modified
Wed Apr 27 03:39:21 2016 UTC
(2 years, 9 months ago)
by
caltinay
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
(2 years, 9 months ago)
by
caltinay
silence trilinos matrix constructors and remove unneeded code as the devs
confirmed we don't need resumeFill/fillComplete for block matrices.
Revision
6186 -
Directory Listing
Modified
Wed Apr 27 01:34:39 2016 UTC
(2 years, 9 months ago)
by
caltinay
fixed typo for block matrices.
Revision
6181 -
Directory Listing
Modified
Tue Apr 26 06:16:15 2016 UTC
(2 years, 9 months ago)
by
caltinay
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
6176 -
Directory Listing
Modified
Fri Apr 15 07:10:51 2016 UTC
(2 years, 10 months ago)
by
caltinay
fix OMP race conditions in trilinos matrix.
Revision
6174 -
Directory Listing
Modified
Fri Apr 15 03:41:03 2016 UTC
(2 years, 10 months ago)
by
caltinay
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
(2 years, 10 months ago)
by
caltinay
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
(2 years, 10 months ago)
by
caltinay
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
6144 -
Directory Listing
Modified
Wed Apr 6 05:25:13 2016 UTC
(2 years, 10 months ago)
by
caltinay
last round of namespacing defines.
Revision
6119 -
Directory Listing
Modified
Sun Apr 3 23:36:59 2016 UTC
(2 years, 10 months ago)
by
caltinay
Copied from:
branches/trilinos_from_5897/trilinoswrap revision 6118
merging trilinos branch to trunk.
We can now build with trilinos and use it instead of paso for single PDEs.
There are some more things to be done...
Revision
6115 -
Directory Listing
Modified
Fri Apr 1 06:22:05 2016 UTC
(2 years, 10 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
(2 years, 10 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
(2 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.