On Jan 1, 2009, at 3:08 AM, Angus Hendrick wrote:
For anyone who hasn't done this, I followed the instructions here.
Thanks for the link. While hotshot is what I use, he gives better
explanation for the "why?"s than the standard documentation. I also
not from his bio that we can look forward weather hitting us seven to
ten times faster in the future.
However, I noted that when I did this in ipython, that despite the
declaration of the environment variable FIPY_SOLVERS as Trilinos, my
code was was still using the PySparse solvers. The solution was to
import sys, and explicitly append '--Trilinos' to sys.argv before
importing my code. The resulting profile data is attached.
Yeah, ipython makes for a weird environment sometimes.
It looks to me like my assumption that the python matrix
manipulation is limiting is not correct. Is that how you read this?
Seems to be.
26% of your time is spent in _prepareLinearSystem(), compared to 72%
in _solveLinearSystem(). So, while you could theoretically shave off
*some* time by rebuilding only bits of your matrix, it's not going to
have an enormous effect and, as Daniel indicated, it would not be a
trivial thing to figure out how to do.
As an aside, from my efforts at profiling I can confirm that the
Trilinos solvers are about 4x faster than the PySparse solvers, and
the PySparse solvers are very unstable for this problem. The
problem comprises a rectangular uniformly heat-generating domain
with variable conductances and boundary conditions which are no-flux
everywhere except for a small segment along one side.
I'm just now getting Trilinos set up on the machines I regularly use,
but I know Daniel has seen huge benefits to Trilinos and,
particularly, to its preconditioners.