BioCMAMC-ST
Simulation::KernelInline::CycleFunctor< M > Struct Template Reference

#include <model_kernel.hpp>

Collaboration diagram for Simulation::KernelInline::CycleFunctor< M >:
[legend]

Public Types

using TeamPolicy = Kokkos::TeamPolicy<ComputeSpace>
using TeamMember = TeamPolicy::member_type
using value_type = CycleReduceType

Public Member Functions

 CycleFunctor ()=default
KOKKOS_INLINE_FUNCTION CycleFunctor (std::size_t p_per_team, MC::ParticlesContainer< M > _particles, MC::pool_type _random_pool, MC::KernelConcentrationType &&_concentrations, MC::EventContainer _event, ProbeAutogeneratedBuffer _probes)
constexpr bool do_contribs () const
void update (double _d_t, MC::ParticlesContainer< M > _particles)
KOKKOS_INLINE_FUNCTION void operator() (TagCycle _tag, const TeamMember &team, value_type &reduce_val) const
KOKKOS_FORCEINLINE_FUNCTION void operator() (const TagCycle _tag, const std::size_t idx, value_type &reduce_val) const
KOKKOS_INLINE_FUNCTION void exec_per_particle (const std::size_t idx, value_type &reduce_val) const

Public Attributes

std::size_t n_p {}
std::size_t m_p_team
M::FloatType d_t
MC::ParticlesContainer< M > particles
MC::pool_type random_pool
MC::KernelConcentrationType concentrations
MC::EventContainer events
ProbeAutogeneratedBuffer probes

Member Typedef Documentation

◆ TeamMember

template<ModelType M>
using Simulation::KernelInline::CycleFunctor< M >::TeamMember = TeamPolicy::member_type

◆ TeamPolicy

template<ModelType M>
using Simulation::KernelInline::CycleFunctor< M >::TeamPolicy = Kokkos::TeamPolicy<ComputeSpace>

◆ value_type

Constructor & Destructor Documentation

◆ CycleFunctor() [1/2]

template<ModelType M>
Simulation::KernelInline::CycleFunctor< M >::CycleFunctor ( )
default

◆ CycleFunctor() [2/2]

template<ModelType M>
KOKKOS_INLINE_FUNCTION Simulation::KernelInline::CycleFunctor< M >::CycleFunctor ( std::size_t p_per_team,
MC::ParticlesContainer< M > _particles,
MC::pool_type _random_pool,
MC::KernelConcentrationType && _concentrations,
MC::EventContainer _event,
ProbeAutogeneratedBuffer _probes )
inline

Member Function Documentation

◆ do_contribs()

template<ModelType M>
bool Simulation::KernelInline::CycleFunctor< M >::do_contribs ( ) const
inlinenodiscardconstexpr

◆ exec_per_particle()

template<ModelType M>
KOKKOS_INLINE_FUNCTION void Simulation::KernelInline::CycleFunctor< M >::exec_per_particle ( const std::size_t idx,
value_type & reduce_val ) const
inline
Here is the caller graph for this function:

◆ operator()() [1/2]

template<ModelType M>
KOKKOS_FORCEINLINE_FUNCTION void Simulation::KernelInline::CycleFunctor< M >::operator() ( const TagCycle _tag,
const std::size_t idx,
value_type & reduce_val ) const
inline

◆ operator()() [2/2]

template<ModelType M>
KOKKOS_INLINE_FUNCTION void Simulation::KernelInline::CycleFunctor< M >::operator() ( TagCycle _tag,
const TeamMember & team,
value_type & reduce_val ) const
inline

◆ update()

template<ModelType M>
void Simulation::KernelInline::CycleFunctor< M >::update ( double _d_t,
MC::ParticlesContainer< M > _particles )
inline

Member Data Documentation

◆ concentrations

◆ d_t

template<ModelType M>
M::FloatType Simulation::KernelInline::CycleFunctor< M >::d_t

◆ events

◆ m_p_team

template<ModelType M>
std::size_t Simulation::KernelInline::CycleFunctor< M >::m_p_team

◆ n_p

template<ModelType M>
std::size_t Simulation::KernelInline::CycleFunctor< M >::n_p {}

◆ particles

◆ probes

◆ random_pool


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