[petsc-users] slower in petsc

Likun Tan likunt at andrew.cmu.edu
Thu Aug 25 11:58:10 CDT 2011


Hello,

I am computing Ax=b, while using petsc (currently uniprocessor) the
computation is much slower.

I realize generation of the matrix is very time-consuming, the elements
are integrals of functions with complicated form, i.e.\\\int(f(r(x,y,z),
s(x,y,z), t(x,y,z), phi(x,y,z,node)dxdydz, where the shape function has
different forms on each node. In my C code, i calculated r, s, t and phi
on the integration points first and saved the data in 3D array. In petsc,
i use the same strategy by applying DA to set values to r, s, t and phi on
each integration points.

Since i need to solve Ax=b for million times, A is changing every time and
i use DAVecGetArray repeatly, is that the reason for low efficiency and
any suggestions for performance enhancement?

btw, calculation of r,s,t..is the only part i use parallel computing,
since I think the assemble of A and b is fast once the entries have been
computed.

Thanks,
Likun





More information about the petsc-users mailing list