47 std::vector<std::size_t>
cell_offsets(local_cells.size(), std::size_t{0});
48 std::exclusive_scan(local_cells.begin(), local_cells.end(),
50 [](
auto acc,
auto const &cell) {
51 return acc + cell->particles().size();
55 "enumerate_local_particles",
56 Kokkos::RangePolicy<Kokkos::DefaultHostExecutionSpace>(
57 std::size_t{0}, local_cells.size()),
70 std::size_t index = 0;
virtual std::span< Cell *const > local_cells() const =0
Get pointer to local cells.
void enumerate_local_particles(CellStructure const &cs, Kernel &&kernel)
Run a kernel on all local particles with enumeration.