[aspect-devel] pressure normalization

Timo Heister heister at clemson.edu
Fri Aug 30 11:24:40 PDT 2013


> Interesting. The function contains one explicit MPI call, one creation
> of a completely distributed vector (should not be very expensive) plus
> one copy from a completely distributed to a ghosted vector (should also
> not be very expensive). Can you break down which part of the function is
> expensive?

It might be one of 3 things:
1. Thomas found a work imbalance in this function (as he said, some
processor might not have anything to do). This could show up in his
instrumentation of processors being idle (but does not mean it takes a
significant amount of total runtime).
2. It is instead a work imbalance/issue in the computation that
happens before the normalization and the timers are not synchronized
correctly.
3. He has only very few unknowns per processor which skews the timings.

> That
> said, I always tried to follow the principle of least surprise, which
> would mean to make sure that the pressure is normalized or that the
> linear systems are indeed solved to sufficient accuracy.

I agree.

> Instead of globally relaxing tolerances or switch off pressure
> normalization, how about having a section in the manual in which we list
> ways to make the code faster if you know what you do? I'll be happy to
> write this section.

Sounds good. Some more ideas:
- use optimized mode :-)
- lower order of temperature/compositional discretization
- disable postprocessing if not needed

-- 
Timo Heister
http://www.math.clemson.edu/~heister/


More information about the Aspect-devel mailing list