[petsc-users] Coordinate format internal reordering

Matthew Knepley knepley at gmail.com
Wed Oct 18 06:39:29 CDT 2023


On Wed, Oct 18, 2023 at 5:55 AM Enrico <degregori at dkrz.de> wrote:

> Hello,
>
> I'm trying to use Petsc to solve a linear system in an application. I'm
> using the coordinate format to define the matrix and the vector (it
> should work better on GPU but at the moment every test is on CPU). After
> the call to VecSetValuesCOO, I've noticed that the vector is storing the
> data in a different way from my application. For example with two
> processes in the application
>
> process 0 owns cells 2, 3, 4
>
> process 1 owns cells 0, 1, 5
>
> But in the vector data structure of Petsc
>
> process 0 owns cells 0, 1, 2
>
> process 1 owns cells 3, 4, 5
>
> This is in principle not a big issue, but after solving the linear
> system I get the solution vector x and I want to get the values in the
> correct processes. Is there a way to get vector values from other
> processes or to get a mapping so that I can do it myself?
>

By definition, PETSc vectors and matrices own contiguous row blocks. If you
want to have another,
global ordering, we support that with https://petsc.org/main/manualpages/AO/

  Thanks,

     Matt


> Cheers,
> Enrico Degregori
>


-- 
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/20231018/33b58c82/attachment.html>


More information about the petsc-users mailing list