[petsc-users] Computation to communication ratio for PETSc's routines

Barry Smith bsmith at mcs.anl.gov
Wed Jun 13 14:09:38 CDT 2012


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
> 



More information about the petsc-users mailing list