unify passing of queues and tracks to async kernels #456
+311
−397
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR cleans the passing of arguments to the async kernels.
Before, multiple queues and the "secondaries" were passed, which included the queues themselves. Then, slots were taken directly and passed to queues directly etc.
This PR unifies the usage of the queues, now only the
TrackManagerneeds to be passed, which holds theSpeciesTrackManager, which was the previousParticleGenerator. It is extended by the few missing queues, and has new function to e.g., directly copy a track of a corresponding slot to the leaks, which simplifies the kernels.This simplifies the arguments of kernel launches as well.
This PR is in preparation for the Woodcock tracking.