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>

Reply via email to