KSP solver efficiency

Barry Smith bsmith at mcs.anl.gov
Fri Feb 13 21:31:58 CST 2009


    In general you want to partition the rows of K to reduce the  
amount of communication needed in matrix vector products. Now for  
PDEs, the recommend approach is to partition the underlying grid (that  
defines your discretization) to minimize cut edges between subdomains.  
Then generate the matrix in parallel with each process generating the  
part associated with its subdomain; this way there is no  
"partitioning" of matrices. The matrix partitioning just comes  
automatically from the grid partitioning.

    If you are not solving a PDE on a grid then there likely is still  
some underlying "thing" that can be partitioned whose partition  
defines the matrix partitioning.

    If you are reading some matrix from a file and solving some linear  
system with it then you are just playing with finger paint in  
preschool and likely should stick to Matlab.

    Barry



On Feb 13, 2009, at 9:22 PM, Yixun Liu wrote:

> Matthew Knepley wrote:
>> On Fri, Feb 13, 2009 at 4:37 PM, Yixun Liu <enjoywm at cs.wm.edu
>> <mailto:enjoywm at cs.wm.edu>> wrote:
>>
>>    Hi,
>>    Assume  Ku=F is  a linear system assembled from element stiffness
>>    matrix. I want to use KSP to solve Ku=F. Assume the size of K is
>>    100x100
>>    and the number of processors is 4.
>>    The question is does the efficiency of KSP depend on the structure
>>    of K?
>>    For example if each process owns 25 rows does the efficiency of  
>> the
>>    solver depend on the structure of K?
>>
>>
>> 1) Strictly, yes it does.
>>
>> 2) Practically, not very much. You want to have at least a decent
>> partition, but
>>    after that the communication load is small since its a PDE, and
>> scales well.
>>
>> 3) Everything depends on the type of PDE. Krylov solvers will not  
>> work
>> well for
>>    everything, but for elliptic things they are good.
>>
>>  Matt
>>
>>
>>
>>    Thanks.
>>
>>    Yixun
>>
>> -- 
>> 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
> If in practice we assume the efficiency of KSP doesn't rely on the
> structure of K, do we need to partition?



More information about the petsc-users mailing list