New question #117960 on DOLFIN: https://answers.launchpad.net/dolfin/+question/117960
Hi, I was digging in my code to try to find some reason for the slowdown I get using the updated(>0.9.5) versions of dolfin, (since the dolfin demos do not reproduce the huge time differences I have in my code). I've found that the main issue is the matrix by vector multiplication that I use in some methods . When using uBLAS backend I get a huge slowdown compared with PETSc In the simple dolfin code below PETSc is at least 40 times faster. Is this an expected behavior? I reproduced the problem in a simple code: main.cpp: ------------------------------------------------------------------------------ #include <dolfin.h> #include "TestForm.h" using namespace dolfin; int main(int argc, char *argv[]) { parameters["linear_algebra_backend"]=argv[1]; Timer maintimer(argv[1]); maintimer.start(); UnitSquare mesh(100,100); TestForm::FunctionSpace V(mesh); TestForm::BilinearForm a(V,V); TestForm::LinearForm L(V); Constant f(1.0); L.f=f; Matrix A; assemble(A,a); Vector x; assemble(x,L); Vector y(x); y.zero(); A.mult(x,y); maintimer.stop(); summary(); } ----------------------------------------------------------------- with TestForm.ufl: ---------------------------------------------------------------- scalar = FiniteElement("Lagrange", "triangle", 1) v = TestFunction(scalar) u1 = TrialFunction(scalar) f= Coefficient(scalar); a = v*u1*dx L = f*v*dx ------------------------------------------------------------------ using uBLAS approx 2.5s and with PETSc approx 0.06s. Could someone please test the code... Thanks in advance. Nuno Lopes. -- You received this question notification because you are a member of DOLFIN Team, which is an answer contact for DOLFIN. _______________________________________________ Mailing list: https://launchpad.net/~dolfin Post to : dolfin@lists.launchpad.net Unsubscribe : https://launchpad.net/~dolfin More help : https://help.launchpad.net/ListHelp