Cabana
Cabana copied to clipboard
Neighbor execution policy
#414 points out that serial neighbor indexing does not work when using a work tag with the neighbor_parallel_for because that tag is injected and expected in the internal lambda (in addition to the user kernel).
- [x] Create a new execution policy inside
neighbor_parallel_forwithvoidtags directly - [ ] New
linkedcell_parallelstarts to build the necessary structs #712 - [ ] Create a
NeighborPolicyanalogous to theSimdPolicyand simplify the function interfaces (this will handle the work tags and can also hold tags like neighbor order and parallelism level) - [ ] Deprecate existing functions without
NeighborPolicy
Note that #480 is the right place to start for the rest of this work