[petsc-users] Doubts related MatCreateDense()

Matthew Knepley knepley at gmail.com
Fri Feb 12 09:30:49 CST 2016


On Fri, Feb 12, 2016 at 8:56 AM, Kaushik Kulkarni <kaushikggg at gmail.com>
wrote:

> 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.
>

No,


http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MATDENSE.html

http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatCreateDense.html

    Matt


> 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
>> >
>> >
>>
>>
>


-- 
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20160212/f251eeb5/attachment-0001.html>


More information about the petsc-users mailing list