BioCMAMC-ST
ContributionFunctor< M > Struct Template Reference

#include <contribution_kernel.hpp>

Collaboration diagram for ContributionFunctor< M >:
[legend]

Classes

struct  Tag0D
struct  Tag3D

Public Types

using TeamPolicy = Kokkos::TeamPolicy<ComputeSpace>
using TeamMember = TeamPolicy::member_type
using float_type = float
using ScratchView
using value_type = Simulation::KernelInline::CycleReducerType
using TeamPolicy = Kokkos::TeamPolicy<ComputeSpace>
using TeamMember = TeamPolicy::member_type
using float_type = float
using ScratchView

Public Member Functions

 ContributionFunctor (std::size_t particle_per_team, MC::ContributionView contribution_scatter, MC::ParticlesContainer< M > particles, MC::pool_type rp, MC::KernelConcentrationType _concentrations, MC::EventContainer _event, Simulation::ProbeAutogeneratedBuffer d_probes)
void update (MC::ParticlesContainer< M > _particles, double _d_t)
KOKKOS_INLINE_FUNCTION void division (const std::size_t idx, value_type &local_reduce) const
KOKKOS_INLINE_FUNCTION void operator() (Tag0D _tag, const TeamMember &team, value_type &team_value_reduce) const
KOKKOS_INLINE_FUNCTION void operator() (const Tag3D _tag, const TeamMember &team, value_type &team_value_reduce) const
 ContributionFunctor (std::size_t particle_per_team, MC::ContributionView contribution_scatter, MC::ParticlesContainer< M > particles)
void update (MC::ParticlesContainer< M > _particles)
KOKKOS_INLINE_FUNCTION void operator() (Tag0D _tag, const TeamMember &team) const
KOKKOS_INLINE_FUNCTION void operator() (const Tag3D _tag, const TeamMember &team) const

Public Attributes

std::size_t m_particle_per_team
MC::ContributionView m_contribution_scatter
MC::ParticlesContainer< M > m_particles
MC::pool_type random_pool
MC::KernelConcentrationType concentrations
M::FloatType d_t
MC::EventContainer events
Simulation::ProbeAutogeneratedBuffer division_probe
size_t np {}

Member Typedef Documentation

◆ float_type [1/2]

template<ModelType M>
using ContributionFunctor< M >::float_type = float

◆ float_type [2/2]

template<ModelType M>
using ContributionFunctor< M >::float_type = float

◆ ScratchView [1/2]

template<ModelType M>
using ContributionFunctor< M >::ScratchView
Initial value:
Kokkos::View<float_type*,
TeamPolicy::execution_space::scratch_memory_space>
float float_type
Definition contribution_kernel.hpp:23

◆ ScratchView [2/2]

template<ModelType M>
using ContributionFunctor< M >::ScratchView
Initial value:
Kokkos::View<float_type*,
TeamPolicy::execution_space::scratch_memory_space>

◆ TeamMember [1/2]

template<ModelType M>
using ContributionFunctor< M >::TeamMember = TeamPolicy::member_type

◆ TeamMember [2/2]

template<ModelType M>
using ContributionFunctor< M >::TeamMember = TeamPolicy::member_type

◆ TeamPolicy [1/2]

template<ModelType M>
using ContributionFunctor< M >::TeamPolicy = Kokkos::TeamPolicy<ComputeSpace>

◆ TeamPolicy [2/2]

template<ModelType M>
using ContributionFunctor< M >::TeamPolicy = Kokkos::TeamPolicy<ComputeSpace>

◆ value_type

Constructor & Destructor Documentation

◆ ContributionFunctor() [1/2]

template<ModelType M>
ContributionFunctor< M >::ContributionFunctor ( std::size_t particle_per_team,
MC::ContributionView contribution_scatter,
MC::ParticlesContainer< M > particles,
MC::pool_type rp,
MC::KernelConcentrationType _concentrations,
MC::EventContainer _event,
Simulation::ProbeAutogeneratedBuffer d_probes )
inline

◆ ContributionFunctor() [2/2]

template<ModelType M>
ContributionFunctor< M >::ContributionFunctor ( std::size_t particle_per_team,
MC::ContributionView contribution_scatter,
MC::ParticlesContainer< M > particles )
inline

Member Function Documentation

◆ division()

template<ModelType M>
KOKKOS_INLINE_FUNCTION void ContributionFunctor< M >::division ( const std::size_t idx,
value_type & local_reduce ) const
inline
Here is the caller graph for this function:

◆ operator()() [1/4]

template<ModelType M>
KOKKOS_INLINE_FUNCTION void ContributionFunctor< M >::operator() ( const Tag3D _tag,
const TeamMember & team ) const
inline

◆ operator()() [2/4]

template<ModelType M>
KOKKOS_INLINE_FUNCTION void ContributionFunctor< M >::operator() ( const Tag3D _tag,
const TeamMember & team,
value_type & team_value_reduce ) const
inline
Here is the call graph for this function:

◆ operator()() [3/4]

template<ModelType M>
KOKKOS_INLINE_FUNCTION void ContributionFunctor< M >::operator() ( Tag0D _tag,
const TeamMember & team ) const
inline

◆ operator()() [4/4]

template<ModelType M>
KOKKOS_INLINE_FUNCTION void ContributionFunctor< M >::operator() ( Tag0D _tag,
const TeamMember & team,
value_type & team_value_reduce ) const
inline
Here is the call graph for this function:

◆ update() [1/2]

template<ModelType M>
void ContributionFunctor< M >::update ( MC::ParticlesContainer< M > _particles)
inline

◆ update() [2/2]

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

Member Data Documentation

◆ concentrations

template<ModelType M>
MC::KernelConcentrationType ContributionFunctor< M >::concentrations

◆ d_t

template<ModelType M>
M::FloatType ContributionFunctor< M >::d_t

◆ division_probe

◆ events

◆ m_contribution_scatter

template<ModelType M>
MC::ContributionView ContributionFunctor< M >::m_contribution_scatter

◆ m_particle_per_team

template<ModelType M>
std::size_t ContributionFunctor< M >::m_particle_per_team

◆ m_particles

template<ModelType M>
MC::ParticlesContainer< M > ContributionFunctor< M >::m_particles

◆ np

template<ModelType M>
size_t ContributionFunctor< M >::np {}

◆ random_pool

template<ModelType M>
MC::pool_type ContributionFunctor< M >::random_pool

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