Hi,<br><br>I am trying to implement petsc into an existing (very large) FORTRAN code which splits a 3D grid in each dimension (so for a 100x100x100 problem on 4 cores, each core gets a 25x25x25 part of the grid). <br><br>The default partitioning for petsc just assigns contiguous rows of the coefficient matrix to each core which is hampering performance.  <br>
<br>From looking around I have found that there are AO routines and DM routines in petsc.<br><br>What is the difference between using either of them for my problem?  <br>Should I be using DM to partition the petsc matrices/vectors so that they match the grid points on each node, or do I use AO routines to do that?<br>
Or do AO routines just map the default petsc partitioning indices to my problem's indices in which case I want to use DM?<br><br>Thanks<br><br>Ron Caplan<br>