[petsc-users] Very poor speed up performance
Yongjun Chen
yjxd.chen at gmail.com
Mon Dec 20 10:46:44 CST 2010
Hi everyone,
I use PETSC (version 3.1-p5) to solve a linear problem Ax=b. The matrix A
and right hand vector b are read from files. The dimension of A is
1.2Million*1.2Million. I am pretty sure the matrix A and vector b have been
read correctly.
I compiled the program with optimized version (--with-debugging=0), tested
the speed up performance on two servers, and I have found that the
performance is very poor.
For the two servers, one is 4 cpus * 4 cores per cpu, i.e., with a total 16
cores. And the other one is 4 cpus * 12 cores per cpu, with a total 48
cores.
On each of them, with the increasing of computing cores k from 1 to 8
(mpiexec –n k ./Solver_MPI -pc_type jacobi -ksp-type gmres), the speed up
will increase from 1 to 6, but when the computing cores k increase from 9 to
16(for the first server) or 48 (for the second server), the speed up
decrease firstly and then remains a constant value 5.0 (for the first
server) or 4.5(for the second server).
Actually, the program LAMMPS speed up excellently on these two servers.
Any comments are very appreciated! Thanks!
--------------------------------------------------------------------------------------------------------------------------
PS: the related codes are as following,
//firstly read A and b from files
...
//then
ierr = MatAssemblyBegin(A,MAT_FINAL_ASSEMBLY); CHKERRQ(ierr);
ierr = MatAssemblyEnd(A,MAT_FINAL_ASSEMBLY); CHKERRQ(ierr);
ierr = VecAssemblyBegin(b); CHKERRQ(ierr);
ierr = VecAssemblyEnd(b); CHKERRQ(ierr);
ierr = MatSetOption(A,MAT_SYMMETRIC,PETSC_TRUE);
CHKERRQ(ierr);
ierr = MatGetRowUpperTriangular(A); CHKERRQ(ierr);
ierr = KSPCreate(PETSC_COMM_WORLD,&ksp);CHKERRQ(ierr);
ierr =
KSPSetOperators(ksp,A,A,DIFFERENT_NONZERO_PATTERN);CHKERRQ(ierr);
ierr = KSPGetPC(ksp,&pc);CHKERRQ(ierr);
ierr =
KSPSetTolerances(ksp,1.e-7,PETSC_DEFAULT,PETSC_DEFAULT,PETSC_DEFAULT);CHKERRQ(ierr);
ierr = KSPSetFromOptions(ksp);CHKERRQ(ierr);
ierr = KSPSolve(ksp,b,x);CHKERRQ(ierr);
ierr = KSPView(ksp,PETSC_VIEWER_STDOUT_WORLD);CHKERRQ(ierr);
ierr = KSPGetSolution(ksp, &x);CHKERRQ(ierr);
ierr = VecAssemblyBegin(x);CHKERRQ(ierr);
ierr = VecAssemblyEnd(x);CHKERRQ(ierr);
...
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20101220/f4679d9f/attachment.htm>
More information about the petsc-users
mailing list