<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<meta content="text/html; charset=UTF-8">
<style type="text/css" style="">
<!--
p
        {margin-top:0;
        margin-bottom:0}
-->
</style>
<div dir="ltr">
<div id="x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:#000000; font-family:Calibri,Helvetica,sans-serif">
<p>Dear Jed</p>
<p><br>
</p>
<p>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:</p>
<p><br>
</p>
<p>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.</p>
<p><br>
</p>
<p>Med venlig hilsen / Best regards</p>
<p>Peder</p>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>Fra:</b> Jed Brown <jed@jedbrown.org><br>
<b>Sendt:</b> 30. juni 2021 16:41:25<br>
<b>Til:</b> Peder Jørgensgaard Olesen; Junchao Zhang<br>
<b>Cc:</b> petsc-users@mcs.anl.gov<br>
<b>Emne:</b> Re: [petsc-users] Scatter parallel Vec to sequential Vec on non-zeroth process</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">Peder Jørgensgaard Olesen via petsc-users       <petsc-users@mcs.anl.gov> writes:<br>
<br>
> 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.<br>
<br>
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?<br>
</div>
</span></font>
</body>
</html>