thank you very much to both of you!
On Fri, Aug 30, 2013 at 8:13 PM, Matthew Knepley <[email protected]> wrote: > On Fri, Aug 30, 2013 at 1:04 PM, France Boillod-Cerneux < > [email protected]> wrote: > >> Dear PETSc user, >> >> I am using MatMult() function in a C++ program. >> >> Currently, my matrix is MATMPIAIJ format type, and I load the matrix >> from a binary file at petsc format. let's call the matrix A: >> >> I know before the execution the global rows, columns and nnz. >> >> my program is doing something like: >> >> global loop >> //begin to measure flop rate >> inner loop >> MatMult(A,x,y) >> end inner loop >> //want to know Flop rate of Matmult at this point >> end global loop >> >> I am looking for a function to know at runtime the flop rate for each >> process regarding matmult function. >> > > You can do what Barry suggests, however there might be intervening work, > so you can be more precise using: > > PetscStageLog stageLog; > PetscEventPerfLog eventLog; > PetscInt stage = 0; > PetscLogEvent event; > PetscEventPerfInfo eventInfo; > > PetscLogGetStageLog(&stageLog); > PetscStageLogGetEventPerfLog(stageLog, stage, &eventLog); > eventInfo = eventLog->eventInfo[MAT_Mult]; > <Use eventInfo.flops/eventInfo.time> > > Thanks, > > Matt > > I had a look at pdf of Loic Gouarin (introduction to pertsc, performance >> May 2013) but it does not correspond to what i want, or i missunderstood? >> >> My other solution is using the matmpiaijsetpreallocation and therefore >> know the complete parallel distribution of A, but this implies a >> pre-treatment on my matrix A. >> >> I was wondering if i can create my matrix A without knowing in advance >> the parallel distribution and then collect the information about parallel >> distribution? >> >> Or more easier, if a function like PetscGetFlops could solve my problem? >> so far i understood that this function measure the flop since the >> begining of program, but this is not what i want to use, i want to have the >> flop ratio right after ending the inner loop, and this, for each global >> iteration >> >> Any ideas/suggestions would help, >> >> Thank you very much, >> >> France >> >> >> -- >> Bien cordialement - Best regards - Mit freundlichen Grüßen, >> >> *France BOILLOD-CERNEUX * >> *PhD Student, Laboratoire d'Informatique Fondamentale de Lille * >> *(LIFL), CNRS* >> >> [email protected] >> Tel. : +33 (0) 1 6908 - 9527 >> Tel. : +33 (0) 6 4781 - 3059 >> >> DEN/DANS/DM2S >> CEA Saclay >> 91191 Gif-sur-Yvette >> FRANCE >> >> http://www.lifl.fr/ >> www-centre-saclay.cea.fr <http://www-centre-saclay.cea.fr/en> >> >> > > > > -- > 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 > -- Bien cordialement - Best regards - Mit freundlichen Grüßen, *France BOILLOD-CERNEUX * *PhD Student, Laboratoire d'Informatique Fondamentale de Lille * *(LIFL), CNRS* [email protected] Tel. : +33 (0) 1 6908 - 9527 Tel. : +33 (0) 6 4781 - 3059 DEN/DANS/DM2S CEA Saclay 91191 Gif-sur-Yvette FRANCE http://www.lifl.fr/ www-centre-saclay.cea.fr <http://www-centre-saclay.cea.fr/en>
