Celeritas
0.5.0-56+6b053cd
|
Call a CoreTrackView
executor for a given ThreadId.
More...
#include <TrackExecutor.hh>
Public Types | |
Type aliases | |
using | ParamsPtr = CoreParamsPtr< MemSpace::native > |
using | StatePtr = CoreStatePtr< MemSpace::native > |
using | Applier = T |
Public Member Functions | |
CELER_FUNCTION | TrackExecutor (ParamsPtr params, StatePtr state, T &&execute_track) |
Construct with core data and executor. | |
CELER_FUNCTION void | operator() (ThreadId thread) |
Call the underlying function, using indirection array if needed. | |
Call a CoreTrackView
executor for a given ThreadId.
This class can be used to call a functor that applies to CoreTrackView
using a ThreadId
, so that the tracks can be easily looped over as a group on CPU or GPU. It applies a remapping from thread to slot if the tracks are sorted. Otherwise, thread and track slot have the same numerical value.
This is primarily used by ActionLauncher
.