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