Dear Jed

I'm not really sure what it is you're asking (that's on me, still a rookie in 
the field), but I'll try to describe what I've done:


Each process is assigned an indexed subset of the tasks (the tasks are of 
constant size), and, for each task index, the relevant data is scattered as a 
SEQVEC to the process (this is done for all processes in each step, using an 
adaption of the code in Matt's link). This way each process only receives just 
the data it needs to complete the task. While I'm currently working with very 
moderate size data sets I'll eventually need to handle something rather more 
massive, so I want to economize memory where possible and give each process 
only the data it needs.


Med venlig hilsen / Best regards

Peder

________________________________
Fra: Jed Brown <[email protected]>
Sendt: 30. juni 2021 16:41:25
Til: Peder Jørgensgaard Olesen; Junchao Zhang
Cc: [email protected]
Emne: Re: [petsc-users] Scatter parallel Vec to sequential Vec on non-zeroth 
process

Peder Jørgensgaard Olesen via petsc-users       <[email protected]> 
writes:

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

It sounds like you're going to run this a bunch of times. Does it have to be 
sequential (gather to one rank at a time) or can it be an alltoall?

Reply via email to