On Mon, Dec 20, 2010 at 8:46 AM, Yongjun Chen <yjxd.chen at gmail.com> wrote:
> > 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). > We cannot say anything at all without -log_summary data for your runs. Matt > 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); > > ... > > > > -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20101220/f5bb4684/attachment.htm>
