[petsc-users] Scatter parallel Vec to sequential Vec on non-zeroth process
Peder Jørgensgaard Olesen
pjool at mek.dtu.dk
Wed Jun 30 09:07:17 CDT 2021
Dear Junchao Zhang
I'm distributing a set of independent tasks over different processes, so I'm afraid sending everything to the zeroth process would rather thoroughly defeat the purpose of what I'm doing.
Med venlig hilsen / Best regards
Peder
________________________________
Fra: Junchao Zhang <junchao.zhang at gmail.com>
Sendt: 30. juni 2021 16:00:25
Til: Peder Jørgensgaard Olesen
Cc: Matthew Knepley; petsc-users at mcs.anl.gov
Emne: Re: [petsc-users] Scatter parallel Vec to sequential Vec on non-zeroth process
That should work. But VecScatterCreateToZero() is more efficient. So if possible, better refactor your code in such a way.
--Junchao Zhang
On Wed, Jun 30, 2021 at 7:13 AM Peder Jørgensgaard Olesen via petsc-users <petsc-users at mcs.anl.gov<mailto:petsc-users at mcs.anl.gov>> wrote:
Dear Matt
Thank you for your reply. I'm guessing that the line
if (rank) N = 0;
should be changed to something like
if (rank != target_rank) N = 0;
such that an empty SEQVEC and scatter are created on each rank other than target_rank.
Med venlig hilsen / Best regards
Peder
________________________________
Fra: Matthew Knepley <knepley at gmail.com<mailto:knepley at gmail.com>>
Sendt: 30. juni 2021 13:58:49
Til: Peder Jørgensgaard Olesen
Cc: petsc-users at mcs.anl.gov<mailto:petsc-users at mcs.anl.gov>
Emne: Re: [petsc-users] Scatter parallel Vec to sequential Vec on non-zeroth process
On Wed, Jun 30, 2021 at 6:49 AM Peder Jørgensgaard Olesen via petsc-users <petsc-users at mcs.anl.gov<mailto:petsc-users at mcs.anl.gov>> wrote:
Hello
I have a parallel vector, and I'd like to copy its data to a sequential vector located on a given process that is not necessarily the 0th process, so using VecScatterCreateToZero wouldn't do here.
How might one approach this?
The function is very short: https://www.mcs.anl.gov/petsc/petsc-current/src/vec/is/sf/interface/vscat.c.html#VecScatterCreateToZero
Just go in and replace '0' by the rank you want.
Thanks,
Matt
Med venlig hilsen / Best Regards
Peder Jørgensgaard Olesen
PhD Student, Turbulence Research Lab
Dept. of Mechanical Engineering
Technical University of Denmark
Koppels Allé
Bygning 403, Rum 105
DK-2800 Kgs. Lyngby
--
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/20210630/9eb5233f/attachment.html>
More information about the petsc-users
mailing list