<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">I'm trying to understand how VecScatters work with GPU-native Kokkos Vecs. <div class=""><br class=""></div><div class="">Specifically, I'm interested in what will happen in code like in src/vec/vec/tests/ex22.c, </div><div class=""><br class=""></div><div class=""><code class=""><span class="n"><span class="Apple-tab-span" style="white-space:pre">      </span>ierr</span> <span class="o">=</span> <span class="n">VecScatterCreate</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">is1</span><span class="p">,</span><span class="n">y</span><span class="p">,</span><span class="n">is2</span><span class="p">,</span><span class="o">&</span><span class="n">ctx</span><span class="p">);</span><span class="n">CHKERRQ</span><span class="p">(</span><span class="n">ierr</span><span class="p">);</span></code></div><div class=""><br class=""></div><div class="">(from <a href="https://gitlab.com/petsc/petsc/-/blob/master/src/vec/vec/tests/ex22.c#L44" class="">https://gitlab.com/petsc/petsc/-/blob/master/src/vec/vec/tests/ex22.c#L44</a>)</div><div class=""><br class=""></div><div class="">Here, x and y can be set to type KOKKOS using -vec_type kokkos at the command line. But is1 and is2 are (I think), always</div><div class="">CPU/host data. Assuming that the scatter itself can happen on the GPU, the indices must make it to the device somehow - are they copied there when the scatter is created? Is there a way to create the scatter using indices already on the GPU (Maybe using SF more directly)?</div><div class=""><br class=""></div></body></html>