GPU-friendly data structures for keeping track of particle events? #4458
Replies: 1 comment 1 reply
-
I would create a separate Struct-of-Array data structure to store the events. So like a |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Is there an appropriate (sparse) data structure that could be used to keep track of discrete events associated with specific particles?
The use case is: a particle flows through a dynamically interesting region of the simulation and we want to record some properties about the particle (say, it's location) and the hydro variables at that position. This can happen to individual particles multiple times without limit. So most particles will have no associated "events" recorded, but some particles may have dozens or hundreds of "events".
This naturally suggests a sparse or jagged data structure for each particle, but that does not easily work performantly on GPU. Is there an existing AMReX data structure that would work for this purpose?
Should we create a separate particle container (say,
EventParticles
) to store the events, and then associate the real particles with the "event" particles?Beta Was this translation helpful? Give feedback.
All reactions