[Trilinos-Users] slow mv-product with FECrsMatrix

Nico Schlömer nico.schloemer at ua.ac.be
Fri Jan 21 19:21:57 MST 2011


Hi all,

I just performed some simple timings for one matrix-vector product with 
an Epetra_FECrsMatrix, distributed over 48 cores of a shared-memory 
machine. After the matrix construction, keoMatrix.GlobalAssemble() is 
called to optimize the storage.
RangeMap and DomainMap are (about) show that rows and columns are about 
evenly spread over the cores, and when performing the actual mv-product,

    M->Apply( *epetra_x, *epetra_b );

epetra_x has the DomainMap and epetra_b has the RangeMap of M.

I expected that the process would take approximately evenly long on each 
for each of the processes, so I was surprised to see

======================================================================================
                                  TimeMonitor Results

Timer Name                      Min over procs    Avg over procs    Max 
over procs
--------------------------------------------------------------------------------------
Matrix-vector multiplication    0.009653 (1)   0.01869 (1)   0.03121 (1)
======================================================================================

There are cases where T_max/T_min > 5, too.

This of course destroys the parallel efficiency of the mv-products.

Any hint on what may possibly cause this?

Cheers,
Nico




More information about the Trilinos-Users mailing list