Cabana 0.8.0-dev
 
Loading...
Searching...
No Matches
Cabana::Grid::SparseDimPartitioner< MemorySpace, CellPerTileDim, NumSpaceDim >::SubWorkloadFunctor< PartitionView, WorkloadView > Struct Template Reference

functor to compute the sub workload in a given region (from the prefix sum) More...

#include <Cabana_Grid_SparseDimPartitioner.hpp>

Public Member Functions

 SubWorkloadFunctor (PartitionView rec_par, WorkloadView pre_sum)
 Constructor.
 
KOKKOS_INLINE_FUNCTION int operator() (int dim_i, int i_start, int i_end, int dim_j, int j, int dim_k, int k) const
 

Public Attributes

PartitionView rec_partition
 Rectilinear partition.
 
WorkloadView workload_prefix_sum
 Workload prefix sum matrix.
 

Detailed Description

template<typename MemorySpace, unsigned long long CellPerTileDim = 4, std::size_t NumSpaceDim = 3>
template<typename PartitionView, typename WorkloadView>
struct Cabana::Grid::SparseDimPartitioner< MemorySpace, CellPerTileDim, NumSpaceDim >::SubWorkloadFunctor< PartitionView, WorkloadView >

functor to compute the sub workload in a given region (from the prefix sum)

Member Function Documentation

◆ operator()()

template<typename MemorySpace, unsigned long long CellPerTileDim = 4, std::size_t NumSpaceDim = 3>
template<typename PartitionView, typename WorkloadView>
KOKKOS_INLINE_FUNCTION int Cabana::Grid::SparseDimPartitioner< MemorySpace, CellPerTileDim, NumSpaceDim >::SubWorkloadFunctor< PartitionView, WorkloadView >::operator() ( int dim_i,
int i_start,
int i_end,
int dim_j,
int j,
int dim_k,
int k ) const
inline

compute the workload in region rounded by: [i_start, i_end) in dim_i [partition[j], partition[j+1]) in dim_j [partition[k], partition[k+1]) in dim_k


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