Celeritas 0.6.0-dev.115+3b60a5fd
Loading...
Searching...
No Matches
Public Member Functions | List of all members
celeritas::ActionLauncher< F > Class Template Reference

Profile and launch core stepping loop kernels. More...

#include <ActionLauncher.device.hh>

Inheritance diagram for celeritas::ActionLauncher< F >:
Inheritance graph
[legend]

Public Member Functions

 ActionLauncher (StepActionT const &action)
 Create a launcher from an action.
 
 ActionLauncher (StepActionT const &action, std::string_view ext)
 Create a launcher with a string extension.
 
void operator() (CoreState< MemSpace::device > const &state, F const &execute_thread) const
 Launch a kernel for the wrapped executor.
 
void operator() (StepActionT const &action, CoreParams const &params, CoreState< MemSpace::device > const &state, F const &execute_thread) const
 Launch with reduced grid size for when tracks are sorted.
 
- Public Member Functions inherited from celeritas::KernelLauncher< F >
 KernelLauncher (std::string_view name)
 Create a launcher from a label.
 
void operator() (Range< ThreadId > threads, StreamId stream_id, F const &execute_thread) const
 Launch a kernel for a thread range.
 
void operator() (size_type num_threads, StreamId stream_id, F const &execute_thread) const
 Launch a kernel with a custom number of threads.
 

Detailed Description

template<class F>
class celeritas::ActionLauncher< F >

Profile and launch core stepping loop kernels.

This is an extension to KernelLauncher which uses an action's label and takes core params/state to determine the launch size and/or action range.

Example:

void FooAction::step(CoreParams const& params,
CoreStateDevice& state) const
{
auto execute_thread = make_blah_executor(blah);
static ActionLauncher<decltype(execute_thread)> const launch_kernel(*this);
launch_kernel(state, execute_thread);
}
void launch_kernel(size_type num_threads, F &&execute_thread)
Helper function to run an executor in parallel on CPU.
Definition KernelLauncher.hh:34
Profile and launch core stepping loop kernels.
Definition global/ActionLauncher.device.hh:48
Global parameters required to run a problem.
Definition global/CoreParams.hh:45

Member Function Documentation

◆ operator()()

template<class F >
void celeritas::ActionLauncher< F >::operator() ( StepActionT const action,
CoreParams const params,
CoreState< MemSpace::device > const state,
F const execute_thread 
) const

Launch with reduced grid size for when tracks are sorted.

These argument should be consistent with those in ActionLauncher.hh .


The documentation for this class was generated from the following file: