On Jun 13, 2012, at 8:17 AM, Alexander Grayver wrote:
> On 13.06.2012 13:24, Matthew Knepley wrote:
>> On Wed, Jun 13, 2012 at 6:45 PM, Alexander Grayver <agrayver at
>> gfz-potsdam.de> wrote:
>> Hello,
>>
>> As stated, I would like to estimate computation to communication ratio for
>> PETSc's linear algebra routines (e.g. MatMult{Transpose}, MatPtAP,
>> MatMatMult etc.)
>> As far as I understand the ratio depends on particular implementation and
>> number of processes one runs application on.
>> So I guess these formulas should be known?
>>
>> It depends on the input data. For example, block diagonal matrices do not
>> communicate in MatMult().
>>
>> If not then I see one way to estimate it. Write app with those operations,
>> parse -log_summary and then divide flops/messages, however the question is
>> what information from -log_summary output should be used for that?
>>
>> We give the number of messages and the average message length, so you can
>> get the total length across processes. Since
>> each side records, we divide by 2 (I think, you should check PetscLogView
>> for specifics). You can also use PetscLogViewPython()
>> to simplify parsing.
>
> Is there total amount of flops given for different operations separately (I
> see max flops over all processes only)?
Sadly no. My original plan was that people who wanted different summary
information would copy PetscLogView() and modify it to output just what they
want. Sadly that may be too difficult.
Barry
>
>>
>> Matt
>>
>> Thanks.
>>
>> --
>> Regards,
>> Alexander
>>
>>
>>
>>
>> --
>> What most experimenters take for granted before they begin their experiments
>> is infinitely more interesting than any results to which their experiments
>> lead.
>> -- Norbert Wiener
>
>
> --
> Regards,
> Alexander
>