dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #00198
Improved PETSc benchmark results
Modifications:
- Add matrix-vector multiplication to the DOLFIN/PETSc benchmarks.
- Make sure rows and columns are sorted to use
MatSetOption(A, MAT_ROWS_SORTED);
MatSetOption(A, MAT_COLUMNS_SORTED);
Results:
PETSc is now much faster, both on assembly and matrix-vector
multiplication. Here are the new results:
DOLFIN assembly: 17.17 s
DOLFIN re-assembly: 15.85 s
DOLFIN multiply: 10.60 s
PETSc assembly: 11.88 s
PETSc re-assembly: 8.60 s
PETSc multiply: 3.59 s
Plan:
We've put some simple wrappers for PETSc matrix and vector in DOLFIN
(NewMatrix and NewVector). The plan is the keep the functionality at
a minimum. Advanced users can access the PETSc Mat and Vec pointers
directly through NewMatrix::mat() and NewVector::vec() if necessary.
We will also be adding wrappers for PETSc solvers.
Once everything is in place, the existing implementations (Matrix and
Vector) will be removed and NewMatrix and NewVector will change name
to Matrix and Vector. The new assembly (based on FFC) will be written
for the PETSc wrappers.
/Anders