On Tue, Jan 22, 2019 at 4:08 PM Jed Brown 
<[email protected]<mailto:[email protected]>> wrote:
It is not supported at this time.  What does your use case look like?
Do roots have degree greater than 1?
Yes. Imagine a vecscatter x[0]->y[0], x[1]->y[0], x[1]->y[1],x[2]->y[1]. I 
build an SF for SCATTER_FORWARD. Now I wan to do SCATTER_REVERSE with 
ADD_VALUES.
To solve this problem without creating another SF and without breaking current 
SF API, I propose to add PetscSFBcastAndOp(sf, unit, rootdata, leafdata, op)


"Zhang, Junchao via petsc-dev" 
<[email protected]<mailto:[email protected]>> writes:

> On Tue, Jan 22, 2019 at 1:35 PM Matthew Knepley 
> <[email protected]<mailto:[email protected]><mailto:[email protected]<mailto:[email protected]>>>
>  wrote:
> On Tue, Jan 22, 2019 at 2:23 PM Zhang, Junchao via petsc-dev 
> <[email protected]<mailto:[email protected]><mailto:[email protected]<mailto:[email protected]>>>
>  wrote:
> I want to add root values to leaves, and keep root unchanged. PetscSFBcast 
> came to my mind, but unfortunately it only broadcasts roots and does not have 
> an MPI_Op argument like PetscSFReduce for me to choose from INSERT_VALUES, 
> ADD_VALUES, etc.
> Any tips? Thanks.
>
> PS: I met this problem when I tried to implement VecScatter in SF.  In 
> VecScatter, multiple entries of vec x can be scattered to the same entry of 
> vec y, and one entry of x can also be scattered to multiple entries of y.  I 
> want to use one SF for all combinations of SCATTER_FORWARD/BACKWARD, 
> INSERT/ADD_VALUES. It seems impossible with current SF interface.
>
> I think you might want this: 
> https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/PetscSF/PetscSFFetchAndOpBegin.html
>
> I read it as: Leaves are accumulated to root (root is changed), and leaves 
> get a snapshot of the root before each atomic update. It is not what I want.
>
>   Thanks,
>
>     Matt
>
> --Junchao Zhang
>
>
> --
> 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/>

Reply via email to