specfem::execution::MappedChunkedDomainIterator¶
-
template<specfem::element::dimension_tag DimensionTag, typename ParallelConfig, typename ViewType, typename G = specfem::mesh_entity::Grid<>>
class MappedChunkedDomainIterator : public specfem::execution::ChunkedDomainIterator<DimensionTag, ParallelConfig, ViewType, specfem::mesh_entity::Grid<>>¶ Public Types
-
using execution_space = typename base_type::execution_space¶
Execution space type.
Public Functions
-
inline const index_type operator()(const policy_index_type &team) const¶
Compute the index for a given policy index.
The operator assigns a range of elements to each team.
- Parameters:
team – The policy index for which to compute the chunked domain index.
- Returns:
index_type The computed index type.
Public Static Functions
-
static inline int scratch_size_max(int level)¶
Get the maximum scratch size for the given level.
This method returns the maximum scratch size for the given level by calling the base policy’s scratch_size_max method.
- Parameters:
level – The level for which to get the maximum scratch size.
- Returns:
int The maximum scratch size for the given level.
Public Static Attributes
-
static constexpr PolicyType policy_type = PolicyType::KokkosPolicy¶
Indicates this is a Kokkos policy.
-
static constexpr bool is_top_level_policy = true¶
Indicates this is a top-level policy.
-
using execution_space = typename base_type::execution_space¶
specfem::execution::MappedChunkElementIndex¶
-
template<specfem::element::dimension_tag DimensionTag, typename SIMD, typename ViewType, typename TeamMemberType, typename G = specfem::mesh_entity::Grid<>, int ChunkSize = 1>
class MappedChunkElementIndex : public specfem::execution::ChunkElementIndex<DimensionTag, SIMD, ViewType, TeamMemberType, specfem::mesh_entity::Grid<>, 1>¶ Public Functions
-
inline constexpr const TeamMemberType get_policy_index() const¶
Get the policy index that defined this chunk element index.
- Returns:
const TeamMemberType The policy index that defined this chunk element index.
-
inline Kokkos::pair<typename ViewType::value_type, typename ViewType::value_type> get_range() const¶
Get a pair representing the range of indices in this chunk.
- Returns:
Kokkos::pair<typename ViewType::value_type, typename ViewType::value_type> A pair containing the first and last index in the chunk.
-
inline constexpr const TeamMemberType get_policy_index() const¶
specfem::execution::MappedChunkElementIterator¶
-
template<specfem::element::dimension_tag DimensionTag, typename SIMD, typename ViewType, typename TeamMemberType, typename G = specfem::mesh_entity::Grid<>, int ChunkSize = 1>
class MappedChunkElementIterator : public specfem::execution::ChunkElementIterator<DimensionTag, SIMD, ViewType, TeamMemberType, specfem::mesh_entity::Grid<>, 1>¶ Public Types
-
using execution_space = typename base_type::execution_space¶
Execution space type.
Public Functions
-
inline const index_type operator()(const policy_index_type &i) const¶
Operator to get the index for a given policy index.
- Parameters:
i – The policy index to convert to an index.
- Returns:
const index_type The index corresponding to the policy index.
Public Static Attributes
-
static constexpr PolicyType policy_type¶
Indicates this is a Kokkos policy.
-
static constexpr bool is_top_level_policy¶
Indicates this is not a top-level policy.
-
using execution_space = typename base_type::execution_space¶
specfem::execution::MappedPointIndex¶
-
template<specfem::element::dimension_tag DimensionTag, typename KokkosIndexType, bool UseSIMD, typename ExecutionSpace>
class MappedPointIndex¶ Public Types
-
using iterator_type = VoidIterator<ExecutionSpace>¶
Iterator type for this index.
Public Static Functions
-
static inline MappedPointIndex end()¶
Construct an “end” sentinel index — tail-skip marker for the chunked iterator.
-
using iterator_type = VoidIterator<ExecutionSpace>¶