Hello,

I have a few questions on how to improve performance of my program. I'm solving 
Poisson's equation on a (large) 3D FD grid with Dirichlet boundary conditions 
and multiple right hand sides. I set up the matrix and everything's working 
fine so far, but I'm sure the solving process could go faster. I know multigrid 
is generally the best preconditioner in such a case and algebraic multigrid 
currently works best.


So generally speaking:


Should I make the effort of symmetrizising the system matrix? I know how to do 
it, but it would probably take some time. CG does currently work, but is not 
competitive against other methods, so I guess the matrix might not be 
"symmetric enough"?


For the various multigrid preconditioners: I always read that the problem 
should be solved exactly on the coarsest grid, but wouldn't an iterative solver 
do the same job if its provided accuracy is high enough, since the coarse 
discretization and the subsequent interpolation process introduce errors 
themselves?


I submit my program to a batch system, but PETSc was compiled on the login node 
with different hardware. Is this affecting performance? What parts of the 
configuration process should I perform on a compute node then?


Thanks.

Reply via email to