/[escript]/trunk/trilinoswrap
ViewVC logotype

Log of /trunk/trilinoswrap

View Directory Listing Directory Listing


Sticky Revision:

Revision 6408 - Directory Listing
Modified Thu Oct 27 03:29:59 2016 UTC (13 months, 3 weeks ago) by gross
work around for  Bug #389

Revision 6396 - Directory Listing
Modified Mon Aug 1 22:27:28 2016 UTC (16 months, 2 weeks 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 (16 months, 2 weeks 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 (16 months, 2 weeks 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 (16 months, 2 weeks ago) by caltinay
Implemented setting specific direct solver. Fixes #378


Revision 6383 - Directory Listing
Modified Mon Jul 25 02:47:11 2016 UTC (16 months, 3 weeks ago) by caltinay
fixing parameter passing to Amesos2.


Revision 6379 - Directory Listing
Modified Fri Jul 22 06:31:38 2016 UTC (16 months, 3 weeks ago) by caltinay
fix indexing when adding to unrolled matrix...


Revision 6376 - Directory Listing
Modified Fri Jul 22 05:35:20 2016 UTC (16 months, 3 weeks 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 (16 months, 3 weeks ago) by caltinay
finally, allow setting direct solver params from python.


Revision 6374 - Directory Listing
Modified Thu Jul 21 05:00:24 2016 UTC (16 months, 4 weeks ago) by caltinay
Pass preconditioner options to Trilinos.


Revision 6373 - Directory Listing
Modified Wed Jul 20 23:47:10 2016 UTC (16 months, 4 weeks 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 (16 months, 4 weeks 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 (16 months, 4 weeks 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 (16 months, 4 weeks 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 (16 months, 4 weeks ago) by caltinay
diagnostics reporting in block matrix wrapper.


Revision 6367 - Directory Listing
Modified Tue Jul 19 04:56:16 2016 UTC (16 months, 4 weeks 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 (17 months, 2 weeks ago) by caltinay
fixing type for smoother argument.


Revision 6340 - Directory Listing
Modified Fri Jul 1 12:58:45 2016 UTC (17 months, 2 weeks 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 (17 months, 2 weeks 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 (17 months, 3 weeks ago) by caltinay
set mat error tolerance for LSQR as well.


Revision 6313 - Directory Listing
Modified Tue Jun 21 22:58:20 2016 UTC (17 months, 3 weeks ago) by caltinay
forgot to change a line.


Revision 6312 - Directory Listing
Modified Tue Jun 21 06:51:27 2016 UTC (17 months, 3 weeks 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 (18 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 (18 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 (18 months, 1 week ago) by caltinay
fix intel warnings

Revision 6264 - Directory Listing
Modified Fri Jun 3 06:23:10 2016 UTC (18 months, 2 weeks 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 (18 months, 2 weeks 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 (18 months, 2 weeks ago) by caltinay
added missing requireWrite().


Revision 6221 - Directory Listing
Modified Wed May 25 12:26:50 2016 UTC (18 months, 3 weeks 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 (18 months, 4 weeks ago) by caltinay
implemented trilinos interpolation from DOF->nodes in dudley.


Revision 6189 - Directory Listing
Modified Wed Apr 27 03:39:21 2016 UTC (19 months, 3 weeks 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 (19 months, 3 weeks 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 (19 months, 3 weeks ago) by caltinay
fixed typo for block matrices.


Revision 6181 - Directory Listing
Modified Tue Apr 26 06:16:15 2016 UTC (19 months, 3 weeks 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 (20 months ago) by caltinay
fix OMP race conditions in trilinos matrix.


Revision 6174 - Directory Listing
Modified Fri Apr 15 03:41:03 2016 UTC (20 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 (20 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 (20 months, 1 week 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 (20 months, 1 week ago) by caltinay
last round of namespacing defines.


Revision 6119 - Directory Listing
Modified Sun Apr 3 23:36:59 2016 UTC (20 months, 2 weeks 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 6116 - Directory Listing
Modified Fri Apr 1 06:56:23 2016 UTC (20 months, 2 weeks ago) by caltinay
Original Path: branches/trilinos_from_5897/trilinoswrap
sync with trunk and relicense new/moved files.


Revision 6115 - Directory Listing
Modified Fri Apr 1 06:22:05 2016 UTC (20 months, 2 weeks 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 6106 - Directory Listing
Modified Wed Mar 30 23:16:30 2016 UTC (20 months, 2 weeks ago) by caltinay
Original Path: branches/trilinos_from_5897/trilinoswrap
complex versions of solve and ypAx now implemented.


Revision 6104 - Directory Listing
Modified Wed Mar 30 06:01:20 2016 UTC (20 months, 2 weeks 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 (21 months, 1 week 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.


Revision 6040 - Directory Listing
Modified Wed Mar 9 03:11:36 2016 UTC (21 months, 1 week ago) by caltinay
Original Path: branches/trilinos_from_5897/trilinoswrap
sync and add trilinos tests in ripley.


Revision 6009 - Directory Listing
Modified Wed Mar 2 04:13:26 2016 UTC (21 months, 2 weeks ago) by caltinay
Original Path: branches/trilinos_from_5897/trilinoswrap
Much needed sync with trunk...


Revision 5963 - Directory Listing
Modified Mon Feb 22 06:59:27 2016 UTC (21 months, 3 weeks ago) by caltinay
Original Path: branches/trilinos_from_5897/trilinoswrap
sync and fix.


Revision 5940 - Directory Listing
Modified Thu Feb 18 10:53:56 2016 UTC (21 months, 4 weeks ago) by caltinay
Original Path: branches/trilinos_from_5897/trilinoswrap
We can now solve finley PDEs with Trilinos, but only on non-reduced FS for now.


Revision 5924 - Directory Listing
Modified Mon Feb 15 10:45:39 2016 UTC (22 months ago) by caltinay
Original Path: branches/trilinos_from_5897/trilinoswrap
moved typedefs and utility func to separate header.


Revision 5922 - Directory Listing
Modified Fri Feb 12 04:53:06 2016 UTC (22 months ago) by caltinay
Original Path: branches/trilinos_from_5897/trilinoswrap
query for different direct solvers and bail out if none found.


Revision 5919 - Directory Listing
Modified Thu Feb 11 06:25:33 2016 UTC (22 months ago) by caltinay
Original Path: branches/trilinos_from_5897/trilinoswrap
Added some direct solvers via Amesos2.


Revision 5914 - Directory Listing
Modified Wed Feb 10 06:15:12 2016 UTC (22 months, 1 week ago) by caltinay
Original Path: branches/trilinos_from_5897/trilinoswrap
Added support for more Trilinos preconditioners and solvers.
Need to think about how to deal with the wealth of options!


Revision 5910 - Directory Listing
Modified Tue Feb 9 03:24:30 2016 UTC (22 months, 1 week ago) by caltinay
Original Path: branches/trilinos_from_5897/trilinoswrap
switched to local indexing everywhere.
Not sure what to do about our threads interacting with threading in
Trilinos.


Revision 5908 - Directory Listing
Modified Mon Feb 8 06:44:52 2016 UTC (22 months, 1 week ago) by caltinay
Original Path: branches/trilinos_from_5897/trilinoswrap
working prototype for ripley Rectangles with block size 1.


Revision 5904 - Directory Listing
Added Mon Feb 8 01:21:32 2016 UTC (22 months, 1 week ago) by caltinay
Original Path: branches/trilinos_from_5897/trilinoswrap
added trilinoswrap library with working code, not integrated yet.


  ViewVC Help
Powered by ViewVC 1.1.26