[petsc-users] Increasing parallel speed-up

Haren, S.W. van (Steven) vanharen at nrg.eu
Mon Jul 4 12:09:17 CDT 2011


Dear all,

I have been working with PETSc for a few months now. At the moment I am using it to solve a simple 2D diffusion problem on a Cartesian grid using a 5-point difference stencil.
Setting up the matrix is relatively easy and the parallel performance of this part is acceptable. However, solving the matrix with one of the ksp solvers (Conjugate Gradient method with ILU(0) preconditioning) gives poor parallel performance for the following settings:

- number of unknowns ~ 2 million
- 1, 2 and 4 processors (quad core CPU)
- using -log_summary and -ksp_view for timing purposes

The speed up that I observe for solving the matrix is around 20%, i.e., when doubling the number of processors the solution time drops only with a factor of 1.2. I observe that during solving there is no swapping from internal memory to the hard disk, and the core loading for each processor is around 100%.
I tried some ways to improve speed up, like configuring with --with-debugging=0 and first running a small problem before solving the actual problem (packing problem), but this hardly improves the parallel performance of the matrix solve.

My questions are therefore:
- do I have too high expectations of a quad core CPU? Should I move to better hardware, and test on more processors, or larger problems (more unknowns)?
- do I need to change configure settings to increase parallel speed-up for the solver?
- any other tips?

Kind regards,

Steven



-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/ms-tnef
Size: 3705 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20110704/009729af/attachment.bin>


More information about the petsc-users mailing list