[petsc-users] Doubts related MatCreateDense()

Kaushik Kulkarni kaushikggg at gmail.com
Fri Feb 12 08:56:46 CST 2016


So Barry does it mean that currently PETSc does not support a parallel
implementation of Dense Matrices. If it does could you please provide me a
link where could I find a proper documentation for the same.
Thanks,
Kaushik

On Fri, Feb 12, 2016 at 2:46 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:

>
> > On Feb 12, 2016, at 3:10 AM, Kaushik Kulkarni <kaushikggg at gmail.com>
> wrote:
> >
> > Thanks Barry,
> > Just one more doubt, does it mean that PETSc divides the global matrix
> among various processes bases on the rows, and no "ACTUAL" division of
> ​columns​ occur​?​
>
>   For the PETSc matrices yes. But when it uses external packages such as
> Elemental that is not the case. Depending on what you are doing with the
> dense matrices it may be better for you to use the MATELEMENTAL
> http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MATELEMENTAL.html
> format.
>
>
> Barry
>
> >
> > Kaushik
> > On Fri, Feb 12, 2016 at 2:28 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
> >
> > > On Feb 12, 2016, at 1:51 AM, Kaushik Kulkarni <kaushikggg at gmail.com>
> wrote:
> > >
> > > Hi all,
> > >
> > > Could you help me with my doubts:
> > >
> > > Doubt 1: Initially I tried to create a matrix with
> MatCreateMPIDense(); I received a compilation error stating that no such
> function existed.
> >
> >   The name was changed
> > >
> > > Doubt 2: So I continued working with MatCreateDense(). And I set the
> global size to 10 cross 10. Now when I called the function
> MatGetLocalSize(A,&localrow,&localcolumn), and ran the code with 2
> processes the values returned were:
> > > The local matrix size for the process 1 is 5 cross 5
> > > The local matrix size for the process 2 is 5 cross 5
> > > How can it be possible that process 1 is only dealing with 25 elements
> and process two is dealing with 25 elements, while the global matrix
> contains 100 elements.
> >
> >   The local size for columns is slightly mis-leading. For standard PETSc
> matrices such as "Dense" each process stores all the entries for its rows
> of the matrix. The term "local columns" refers to the rows of the vector
> which one can use to do a matrix vector product with the matrix. See the
> users manual for more details on the layout of vectors and matrices in
> PETSc.
> >
> >   Barry
> >
> > >
> > > Thanks,
> > > Kaushik
> >
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20160212/6e7d032b/attachment.html>


More information about the petsc-users mailing list