[petsc-users] (no subject)

Matthew Knepley knepley at gmail.com
Mon Dec 2 06:21:35 CST 2019


On Mon, Dec 2, 2019 at 4:04 AM Li Luo <li.luo at kaust.edu.sa> wrote:

> Thank you for your reply.
>
> The matrix is small with only 67500 rows, but is relatively dense since a
> second-order discontinuous Galerkin FEM is used, nonzeros=23,036,400.
>

This is very dense, 0.5% fill or 340 nonzeros per row.


> The number of colors is 539 as shown by using -mat_fd_coloring_view:
>

Coloring is not appropriate for this matrix since you have enormous dense
blocks (I am guessing). It could work if you statically
condense them out or had a fast analytic Jacobian. With 540 colors, it
takes 540 matvecs to generate the action of the Jacobian.

  Thanks,

     Matt


> MatFDColoring Object: 64 MPI processes
>   type not yet set
>   Error tolerance=1.49012e-08
>   Umin=1.49012e-06
>   Number of colors=539
>   Information for color 0
>     Number of columns 1
>       378
>     Number of rows 756
>       0 1188
>       1 1188
>       2 1188
>       3 1188
>       4 1188
>       5 1188
>       ...
>
> Is this normal?
> When using MCFD, is there any difference using mpiaij and mpibaij?
>
> Best,
> Li
>
> On Mon, Dec 2, 2019 at 10:03 AM Smith, Barry F. <bsmith at mcs.anl.gov>
> wrote:
>
>>
>>   How many colors is it requiring?   And how long is the MatGetColoring()
>> taking? Are you running in parallel?  The MatGetColoring() MATCOLORINGSL
>> uses a sequential coloring algorithm so if your matrix is large and
>> parallel the coloring will take a long time. The parallel colorings are
>> MATCOLORINGGREEDY and MATCOLORINGJP
>>
>>   Barry
>>
>>
>> > On Dec 1, 2019, at 12:56 AM, Li Luo <li.luo at kaust.edu.sa> wrote:
>> >
>> > Dear Developers,
>> >
>> > I tried to use the multi-color finite-difference (MC-FD) method for
>> constructing the Jacobians. However, I find it is very slow compared to the
>> exact Jacobian.
>> > My implementation of MC-FD Jacobian is posted below, would you please
>> check whether I am correct? Anything missed? Thank you!
>> >
>> > ////////// Setup phase:
>> >           MatStructure flag;
>> >           ISColoring   iscoloring;
>> >           ierr = MatGetColoring(Jac,MATCOLORINGSL,&iscoloring);
>> >           ierr =
>> MatFDColoringCreate(Jac,iscoloring,&this->matfdcoloring);
>> >           ierr =
>> MatFDColoringSetFunction(this->matfdcoloring,(PetscErrorCode
>> (*)(void))__libmesh_petsc_snes_residual,(void *)this);
>> >           ierr = MatFDColoringSetFromOptions(this->matfdcoloring);
>> >           ierr = ISColoringDestroy(&iscoloring);
>> >
>> > //////////// Apply:
>> >           ierr = MatZeroEntries(*jac);CHKERRQ(ierr);
>> >           ierr =
>> MatFDColoringApply(*jac,solver->matfdcoloring,x,msflag,snes);
>> >
>> > Best regards,
>> > Li Luo
>> >
>> > This message and its contents, including attachments are intended
>> solely for the original recipient. If you are not the intended recipient or
>> have received this message in error, please notify me immediately and
>> delete this message from your computer system. Any unauthorized use or
>> distribution is prohibited. Please consider the environment before printing
>> this email.
>>
>>
>
> --
>
> Postdoctoral Fellow
> Extreme Computing Research Center
> King Abdullah University of Science & Technology
> https://sites.google.com/site/rolyliluo/
>
> ------------------------------
> This message and its contents, including attachments are intended solely
> for the original recipient. If you are not the intended recipient or have
> received this message in error, please notify me immediately and delete
> this message from your computer system. Any unauthorized use or
> distribution is prohibited. Please consider the environment before printing
> this email.



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

https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20191202/a135c26a/attachment.html>


More information about the petsc-users mailing list