OpenFPM_pdata  4.1.0
Project that contain the implementation of distributed structures
 
Loading...
Searching...
No Matches
SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer > Class Template Reference

Detailed Description

template<unsigned int dim, typename AggregateT, unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
class SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >

Definition at line 490 of file SparseGridGpu.hpp.

+ Inheritance diagram for SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >:

Public Types

typedef int yes_i_am_grid
 it define that this data-structure is a grid
 
typedef linearizer grid_info
 
typedef linearizer linearizer_type
 
template<typename Tfunc >
using layout_mfunc = memory_traits_inte< Tfunc >
 
typedef sparse_grid_gpu_index< selfbase_key
 
typedef indexT indexT_
 
typedef decltype(std::declval< BMG >().toKernel().insertBlock(0)) insert_encap
 
typedef AggregateT value_type
 
typedef self device_grid_type
 
- Public Types inherited from BlockMapGpu< AggregateBlockT, threadBlockSize, indexT, layout_base >
typedef AggregateBlockT AggregateType
 

Public Member Functions

size_t size () const
 return the size of the grid
 
template<typename ... v_reduce>
void flush (gpu::ofp_context_t &context, flush_type opt=FLUSH_ON_HOST)
 
void saveUnpackVariableIfNotKeepGeometry (int opt, bool is_unpack_remote)
 
void RestoreUnpackVariableIfKeepGeometry (int opt, bool is_unpack_remote)
 
void savePackVariableIfNotKeepGeometry (int opt, bool is_pack_remote)
 
void RestorePackVariableIfKeepGeometry (int opt, bool is_pack_remote)
 
template<unsigned int n_it>
void calculatePackingPointsFromBoxes (int opt, size_t tot_pnt)
 
void resize (size_t(&res)[dim])
 resize the SparseGrid
 
 SparseGridGpu (const size_t(&res)[dim], unsigned int stencilSupportRadius=1)
 Constructor from glock geometry.
 
 SparseGridGpu (linearizer &gridGeometry, unsigned int stencilSupportRadius=1)
 Constructor from glock geometry.
 
SparseGridGpu_ker< dim, blockEdgeSize, typename BlockMapGpu< AggregateInternalT, threadBlockSize, indexT, layout_base >::AggregateInternalT, ct_par< 0, 1 >, indexT, layout_base, decltype(extendedBlockGeometry), linearizer, AggregateT > toKernel ()
 
template<unsigned int nNN, unsigned int nLoop>
SparseGridGpu_ker< dim, blockEdgeSize, typename BlockMapGpu< AggregateInternalT, threadBlockSize, indexT, layout_base >::AggregateInternalT, ct_par< nNN, nLoop >, indexT, layout_base, decltype(extendedBlockGeometry), linearizer, AggregateT > toKernelNN ()
 
void clear ()
 
void setMemory ()
 
auto insertBlockFlush (size_t block) -> decltype(BMG::insertBlockFlush(block))
 
linearizer & getGrid ()
 Return the grid information object.
 
template<typename stencil_type >
void setNNType ()
 Set the neighborhood type.
 
constexpr unsigned int getBlockSize () const
 
template<typename CoordT >
size_t getLinId (CoordT &coord)
 
grid_key_dx< dim, int > getCoord (size_t linId) const
 
ite_gpu< dim > getGridGPUIterator (const grid_key_dx< dim, int > &start, const grid_key_dx< dim, int > &stop, size_t n_thr=threadBlockSize)
 
template<typename CoordT >
base_key get_sparse (const grid_key_dx< dim, CoordT > &coord) const
 Get an element using the point coordinates.
 
template<unsigned int p, typename CoordT >
auto get (const grid_key_dx< dim, CoordT > &coord) const -> const ScalarTypeOf< AggregateBlockT, p > &
 Get an element using the point coordinates.
 
template<unsigned int p>
auto get (const sparse_grid_gpu_index< self > &coord) const -> const ScalarTypeOf< AggregateBlockT, p > &
 Get an element using sparse_grid_gpu_index (using this index it guarantee that the point exist)
 
auto private_get_data_array () -> decltype(BlockMapGpu< AggregateInternalT, threadBlockSize, indexT, layout_base >::blockMap.getDataBuffer()) &
 Return the index array of the blocks.
 
auto private_get_data_array () const -> decltype(BlockMapGpu< AggregateInternalT, threadBlockSize, indexT, layout_base >::blockMap.getDataBuffer())
 Return the data array of the blocks.
 
template<typename CoordT >
auto get_o (const grid_key_dx< dim, CoordT > &coord) const -> encap_data_block< typename std::remove_const< decltype(BlockMapGpu< AggregateInternalT, threadBlockSize, indexT, layout_base >::get(0))>::type >
 Get an element using the point coordinates.
 
auto get_o (const sparse_grid_gpu_index< self > &coord) const -> encap_data_block< typename std::remove_const< decltype(private_get_data_array().get(0))>::type >
 Get an element using sparse_grid_gpu_index (using this index it guarantee that the point exist)
 
bool isSkipLabellingPossible ()
 This function check if keep geometry is possible for this grid.
 
template<unsigned int p>
auto get (const sparse_grid_gpu_index< self > &coord) -> ScalarTypeOf< AggregateBlockT, p > &
 Get an element using sparse_grid_gpu_index (using this index it guarantee that the point exist)
 
unsigned char getFlag (const sparse_grid_gpu_index< self > &coord) const
 Return the flag of the point.
 
template<unsigned int p, typename CoordT >
auto insert (const CoordT &coord) -> ScalarTypeOf< AggregateBlockT, p > &
 
template<typename CoordT >
auto insert_o (const CoordT &coord) -> encap_data_block< typename std::remove_const< decltype(BlockMapGpu< AggregateInternalT, threadBlockSize, indexT, layout_base >::insert_o(0))>::type >
 
void construct_link (self &grid_up, self &grid_dw, gpu::ofp_context_t &context)
 construct link between levels
 
openfpm::vector_gpu< aggregate< unsigned int > > & getDownLinksOffsets ()
 Get the offsets for each point of the links down.
 
openfpm::vector_gpu< aggregate< int, short int > > & getDownLinks ()
 Get the links down for each point.
 
openfpm::vector_gpu< aggregate< unsigned int > > & getUpLinksOffsets ()
 Get the offsets for each point of the links up.
 
openfpm::vector_gpu< aggregate< int, short int > > & getUpLinks ()
 Get the links up for each point.
 
void construct_link_dw (self &grid_dw, const Box< dim, int > &db_, Point< dim, int > p_dw, gpu::ofp_context_t &context)
 construct link on the down level
 
void construct_link_up (self &grid_up, const Box< dim, int > &db_, Point< dim, int > p_up, gpu::ofp_context_t &context)
 construct link on the up levels
 
template<typename dim3T >
void setGPUInsertBuffer (dim3T nBlock, dim3T nSlot)
 
void preFlush ()
 In case we manually set the added index buffer and the add data buffer we have to call this function before flush.
 
template<typename stencil_type = NNStar<dim>, typename checker_type = No_check>
void tagBoundaries (gpu::ofp_context_t &context, checker_type chk=checker_type(), tag_boundaries opt=tag_boundaries::NO_CALCULATE_EXISTING_POINTS)
 
template<typename NNtype = NNStar<dim>>
void findNeighbours ()
 
size_t countExistingElements () const
 
size_t countBoundaryElements ()
 
void measureBlockOccupancyMemory (double &mean, double &deviation)
 
void measureBlockOccupancy (double &mean, double &deviation)
 
template<unsigned int prop_src, unsigned int prop_dst, unsigned int stencil_size, typename lambda_f , typename ... ArgsT>
void conv_cross (grid_key_dx< 3 > start, grid_key_dx< 3 > stop, lambda_f func, ArgsT ... args)
 Apply a convolution using a cross like stencil.
 
template<unsigned int prop_src, unsigned int prop_dst, unsigned int stencil_size, typename lambda_f , typename ... ArgsT>
void conv (grid_key_dx< 3 > start, grid_key_dx< 3 > stop, lambda_f func, ArgsT ... args)
 Apply a free type convolution using blocks.
 
template<unsigned int prop_src, unsigned int prop_dst, unsigned int stencil_size, typename lambda_f , typename ... ArgsT>
void conv_cross_b (grid_key_dx< 3 > start, grid_key_dx< 3 > stop, lambda_f func, ArgsT ... args)
 Apply a free type convolution using blocks.
 
template<unsigned int prop_src1, unsigned int prop_src2, unsigned int prop_dst1, unsigned int prop_dst2, unsigned int stencil_size, typename lambda_f , typename ... ArgsT>
void conv2_b (grid_key_dx< dim > start, grid_key_dx< dim > stop, lambda_f func, ArgsT ... args)
 Apply a free type convolution using blocks.
 
template<unsigned int prop_src1, unsigned int prop_src2, unsigned int prop_src3, unsigned int prop_dst1, unsigned int prop_dst2, unsigned int prop_dst3, unsigned int stencil_size, typename lambda_f , typename ... ArgsT>
void conv3_b (grid_key_dx< dim > start, grid_key_dx< dim > stop, lambda_f func, ArgsT ... args)
 Apply a free type convolution using blocks.
 
template<unsigned int prop_src1, unsigned int prop_src2, unsigned int prop_dst1, unsigned int prop_dst2, unsigned int stencil_size, typename lambda_f , typename ... ArgsT>
void conv2 (grid_key_dx< dim > start, grid_key_dx< dim > stop, lambda_f func, ArgsT ... args)
 Apply a free type convolution using blocks.
 
Box< dim, int > getBox ()
 Return a Box with the range if the SparseGrid.
 
template<typename stencil , typename... Args>
void applyStencils (const Box< dim, int > &box, StencilMode mode, Args... args)
 
template<typename stencil1 , typename stencil2 , typename ... otherStencils, typename... Args>
void applyStencils (Box< dim, int > box, StencilMode mode, Args... args)
 
template<typename CoordT >
size_t getBlockLinId (const CoordT &blockCoord) const
 Linearization of block coordinates.
 
template<unsigned int p>
auto insertFlush (const sparse_grid_gpu_index< self > &coord) -> ScalarTypeOf< AggregateBlockT, p > &
 Insert the point on host side and flush directly.
 
template<typename CoordT >
auto insertBlockFlush (const grid_key_dx< dim, CoordT > &coord, indexT &local_id) -> decltype(BlockMapGpu< AggregateInternalT, threadBlockSize, indexT, layout_base >::insertBlockFlush(0))
 Insert the point on host side and flush directly.
 
template<unsigned int p, typename CoordT >
auto insertFlush (const grid_key_dx< dim, CoordT > &coord) -> ScalarTypeOf< AggregateBlockT, p > &
 Insert the point on host side and flush directly.
 
template<unsigned int p>
void print_vct_add_data ()
 
template<unsigned int p>
void setBackgroundValue (typename boost::mpl::at< typename AggregateT::type, boost::mpl::int_< p > >::type backgroundValue)
 set the background for property p
 
template<int ... prp>
void packRequest (size_t &req) const
 Asking to pack a SparseGrid GPU without GPU context pack the grid on CPU and host memory.
 
template<int ... prp>
void pack (ExtPreAlloc< HeapMemory > &mem, Pack_stat &sts) const
 Pack the object into the memory.
 
template<int ... prp>
void unpack (ExtPreAlloc< HeapMemory > &mem, Unpack_stat &ps)
 Unpack the object into the memory.
 
template<int ... prp>
void unpack (ExtPreAlloc< CudaMemory > &mem, Unpack_stat &ps)
 Unpack the object into the memory.
 
template<int ... prp>
void packRequest (size_t &req, gpu::ofp_context_t &context) const
 memory requested to pack this object
 
template<int ... prp>
void packRequest (SparseGridGpu_iterator_sub< dim, self > &sub_it, size_t &req) const
 Calculate the size to pack part of this structure.
 
void packReset ()
 Reset the pack calculation.
 
template<int ... prp>
void packCalculate (size_t &req, gpu::ofp_context_t &context)
 Calculate the size of the information to pack.
 
auto getMappingVector () -> decltype(this->blockMap.getMappingVector())
 Return the mapping vector used to know where the data has been added.
 
auto getMergeIndexMapVector () -> decltype(this->blockMap.getMergeIndexMapVector())
 Return the mapping vector used to know where the data has been added.
 
template<int ... prp>
void pack (ExtPreAlloc< CudaMemory > &mem, SparseGridGpu_iterator_sub< dim, self > &sub_it, Pack_stat &sts)
 Pack the object into the memory given an iterator.
 
template<unsigned int ... prp>
void removeCopyToFinalize (gpu::ofp_context_t &ctx, int opt)
 It finalize the queued operations of remove() and copy_to()
 
template<int ... prp>
void packFinalize (ExtPreAlloc< CudaMemory > &mem, Pack_stat &sts, int opt=0, bool is_pack_remote=false)
 Finalize the packing procedure.
 
void removeAddUnpackReset ()
 In this case it does nothing.
 
void swap (self &gr)
 
void removePoints (gpu::ofp_context_t &context)
 Remove the points we queues to remove.
 
template<unsigned int ... prp>
void removeAddUnpackFinalize (gpu::ofp_context_t &context, int opt)
 This function remove the points we queue to remove and it flush all the added/unpacked data.
 
void copyRemoveReset ()
 Reset the queue to remove and copy section of grids.
 
void remove (const Box< dim, int > &section_to_delete)
 Remove all the points in this region.
 
void copy_to (self &grid_src, const Box< dim, size_t > &box_src, const Box< dim, size_t > &box_dst)
 It queue a copy.
 
template<unsigned int ... prp, typename S2 , typename header_type >
void unpack_with_headers (ExtPreAlloc< S2 > &mem, SparseGridGpu_iterator_sub< dim, self > &sub_it, header_type &headers, int ih, Unpack_stat &ps, gpu::ofp_context_t &context, rem_copy_opt opt=rem_copy_opt::NONE_OPT)
 unpack the sub-grid object
 
template<unsigned int ... prp, typename S2 >
void unpack (ExtPreAlloc< S2 > &mem, SparseGridGpu_iterator_sub< dim, self > &sub_it, Unpack_stat &ps, gpu::ofp_context_t &context, rem_copy_opt opt=rem_copy_opt::NONE_OPT)
 unpack the sub-grid object
 
void removeUnusedBuffers ()
 Eliminate many internal temporary buffer you can use this between flushes if you get some out of memory.
 
decltype(self::type_of_iterator()) getIterator () const
 Return a SparseGrid iterator.
 
decltype(self::type_of_subiterator()) getIterator (const grid_key_dx< dim > &start, const grid_key_dx< dim > &stop, int is_to_init=1) const
 Return a SparseGrid iterator only on a sub-set of elements.
 
auto private_get_add_index_array () -> decltype(BlockMapGpu< AggregateInternalT, threadBlockSize, indexT, layout_base >::blockMap.private_get_vct_add_index()) &
 Return the index array of the blocks.
 
auto private_get_add_index_array () const -> decltype(BlockMapGpu< AggregateInternalT, threadBlockSize, indexT, layout_base >::blockMap.private_get_vct_add_index()) &
 Return the index array of the blocks.
 
auto private_get_index_array () const -> decltype(BlockMapGpu< AggregateInternalT, threadBlockSize, indexT, layout_base >::blockMap.getIndexBuffer()) &
 Return the index array of the blocks.
 
auto getSegmentToOutMap () -> decltype(BlockMapGpu< AggregateInternalT, threadBlockSize, indexT, layout_base >::blockMap.getSegmentToOutMap())
 
auto getSegmentToOutMap () const -> decltype(BlockMapGpu< AggregateInternalT, threadBlockSize, indexT, layout_base >::blockMap.getSegmentToOutMap())
 
auto getSegmentToMergeIndexMap () -> decltype(BlockMapGpu< AggregateInternalT, threadBlockSize, indexT, layout_base >::blockMap.getSegmentToMergeIndexMap())
 
auto getSegmentToMergeIndexMap () const -> decltype(BlockMapGpu< AggregateInternalT, threadBlockSize, indexT, layout_base >::blockMap.getSegmentToMergeIndexMap())
 
auto private_get_index_array () -> decltype(BlockMapGpu< AggregateInternalT, threadBlockSize, indexT, layout_base >::blockMap.getIndexBuffer())
 Return the index array of the blocks.
 
auto private_get_neighborhood_array () -> decltype(nn_blocks) &
 Return the index array of the blocks.
 
- Public Member Functions inherited from BlockMapGpu< AggregateBlockT, threadBlockSize, indexT, layout_base >
void clear ()
 
void swap (self &bm)
 
sparse_grid_bck_value< typename std::remove_reference< decltype(blockMap.getBackground())>::type > getBackgroundValue ()
 Get the background value.
 
template<unsigned int p>
auto get (unsigned int linId) const -> const ScalarTypeOf< AggregateBlockT, p > &
 
auto get (unsigned int linId) const -> const decltype(blockMap.get(0)) &
 
template<unsigned int p>
auto insert (unsigned int linId) -> ScalarTypeOf< AggregateBlockT, p > &
 insert data, host version
 
auto insert_o (unsigned int linId) -> decltype(blockMap.insert(0))
 insert data, host version
 
template<unsigned int p>
auto insertBlockFlush (size_t blockId) -> decltype(blockMap.insertFlush(blockId, is_new).template get< p >())
 insert a block + flush, host version
 
auto insertBlockFlush (size_t blockId) -> decltype(blockMap.insertFlush(blockId, is_new))
 insert a block + flush, host version
 
BlockMapGpu_ker< AggregateInternalT, indexT, layout_base > toKernel ()
 
template<unsigned int ... prp>
void deviceToHost ()
 
void deviceToHost ()
 
template<unsigned int ... prp>
void hostToDevice ()
 
void hostToDevice ()
 
void setGPUInsertBuffer (int nBlock, int nSlot)
 
void preFlush ()
 In case we manually set the added index buffer and the add data buffer we have to call this function before flush.
 
void initializeGPUInsertBuffer ()
 
template<typename ... v_reduce>
void flush (gpu::ofp_context_t &context, flush_type opt=FLUSH_ON_HOST)
 
template<unsigned int p, typename TypeBck >
void setBackgroundValue (TypeBck backgroundValue)
 set the background for property p
 
void removeUnusedBuffers ()
 Eliminate many internal temporary buffer you can use this between flushes if you get some out of memory.
 
decltype(blockMap) & private_get_blockMap_non_const ()
 Return internal structure block map.
 
decltype(blockMap) & private_get_blockMap ()
 Return internal structure block map.
 
const decltype(blockMap) & private_get_blockMap () const
 Return internal structure block map.
 

Static Public Member Functions

template<typename stencil = no_stencil>
static SparseGridGpu_iterator_sub< dim, selftype_of_subiterator ()
 This is a meta-function return which type of sub iterator a grid produce.
 
static SparseGridGpu_iterator< dim, selftype_of_iterator ()
 This is a meta-function return which type of iterator a grid produce.
 
template<typename dim3T >
static int dim3SizeToInt (dim3T d)
 
static int dim3SizeToInt (size_t d)
 
static int dim3SizeToInt (unsigned int d)
 
static constexpr unsigned int getBlockEdgeSize ()
 
template<typename BitMaskT >
static bool isPadding (BitMaskT &bitMask)
 
template<typename BitMaskT >
static void setPadding (BitMaskT &bitMask)
 
template<typename BitMaskT >
static void unsetPadding (BitMaskT &bitMask)
 
static bool pack ()
 
static bool packRequest ()
 
static constexpr bool isCompressed ()
 This is a multiresolution sparse grid so is a compressed format.
 
template<typename pointers_type , typename headers_type , typename result_type , unsigned int ... prp>
static void unpack_headers (pointers_type &pointers, headers_type &headers, result_type &result, int n_slot)
 Stub does not do anything.
 
static bool is_unpack_header_supported ()
 Indicate that unpacking the header is supported.
 
- Static Public Member Functions inherited from BlockMapGpu< AggregateBlockT, threadBlockSize, indexT, layout_base >
template<typename BitMaskT >
static bool getBit (const BitMaskT &bitMask, unsigned char pos)
 
template<typename BitMaskT >
static bool setBit (BitMaskT &bitMask, unsigned char pos)
 
template<typename BitMaskT >
static bool unsetBit (BitMaskT &bitMask, unsigned char pos)
 
template<typename BitMaskT >
static bool exist (BitMaskT &bitMask)
 
template<typename BitMaskT >
static void setExist (BitMaskT &bitMask)
 
template<typename BitMaskT >
static void unsetExist (BitMaskT &bitMask)
 

Static Public Attributes

static constexpr unsigned int dims = dim
 
static constexpr unsigned int blockEdgeSize_ = blockEdgeSize
 

Protected Types

typedef AggregateBlockT AggregateInternalT
 
- Protected Types inherited from BlockMapGpu< AggregateBlockT, threadBlockSize, indexT, layout_base >
typedef AggregateAppend< DataBlock< unsignedchar, BlockT0::size >, AggregateBlockT >::type AggregateInternalT
 

Static Protected Attributes

static constexpr unsigned int blockSize = BlockTypeOf<AggregateBlockT, 0>::size
 
- Static Protected Attributes inherited from BlockMapGpu< AggregateBlockT, threadBlockSize, indexT, layout_base >
static const unsigned char EXIST_BIT = 0
 
static const unsigned int pMask = AggregateInternalT::max_prop_real - 1
 

Private Types

typedef BlockMapGpu< typename aggregate_convert< dim, blockEdgeSize, AggregateT >::type, threadBlockSize, indexT, layout_base > BMG
 
typedef aggregate_convert< dim, blockEdgeSize, AggregateT >::type AggregateBlockT
 
typedef SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer > self
 
typedef aggregate_convert< dim, blockEdgeSize, aggregate< int > >::type convertAggr
 

Private Member Functions

void swap_internal_remote ()
 
void swap_internal_local ()
 
void swap_local_pack ()
 
void swap_remote_pack ()
 
void computeSizeOfGhostLayer ()
 
void allocateGhostLayerMapping ()
 
template<typename stencil_type >
void computeGhostLayerMapping ()
 
void initialize (const size_t(&res)[dim])
 
template<typename stencil , typename... Args>
void applyStencilInPlace (const Box< dim, int > &box, StencilMode &mode, Args... args)
 
template<typename stencil , typename... Args>
void applyStencilInPlaceNoShared (const Box< dim, int > &box, StencilMode &mode, Args... args)
 
template<typename ids_type >
void fill_chunks_boxes (openfpm::vector< SpaceBox< dim, double > > &chunks_box, ids_type &chunk_ids, Point< dim, double > &spacing, Point< dim, double > &offset)
 
template<typename MemType , unsigned int ... prp>
void preUnpack (ExtPreAlloc< MemType > *prAlloc_prp, gpu::ofp_context_t &ctx, int opt)
 
template<unsigned int ... prp>
void removeCopyToFinalize_phase1 (gpu::ofp_context_t &ctx, int opt)
 
template<unsigned int ... prp>
void removeCopyToFinalize_phase2 (gpu::ofp_context_t &ctx, int opt)
 
template<unsigned int ... prp>
void removeCopyToFinalize_phase3 (gpu::ofp_context_t &ctx, int opt, bool is_unpack_remote)
 
template<unsigned int n_it, unsigned int ... prp>
void pack_sg_implement (ExtPreAlloc< CudaMemory > &mem, Pack_stat &sts, int opt, bool is_pack_remote)
 
template<unsigned int ... prp, typename S2 >
void addAndConvertPackedChunkToTmp (ExtPreAlloc< S2 > &mem, SparseGridGpu_iterator_sub< dim, self > &sub_it, Unpack_stat &ps, gpu::ofp_context_t &context)
 unpack the sub-grid object
 
template<typename origPackType , typename IteratorType >
void convertChunkIds (short int *offset, origPackType &origPack, IteratorType &sub_it)
 convert the offset index from the packed to the add buffer
 

Private Attributes

linearizer gridGeometry
 
grid_sm< dim, int > extendedBlockGeometry
 
grid_sm< dim, int > gridSize
 
unsigned int stencilSupportRadius
 
unsigned int ghostLayerSize
 
int req_index
 
int req_index_swp
 
int req_index_swp_r
 
AggregateT bck
 
openfpm::vector_gpu< Box< dim, unsigned int > > rem_sects
 
openfpm::vector< sparse_grid_section< self > > copySect
 
CudaMemory mem
 
openfpm::vector< void * > index_ptrs
 
openfpm::vector< void * > index_ptrs_swp
 
openfpm::vector< void * > index_ptrs_swp_r
 
openfpm::vector< void * > scan_ptrs
 
openfpm::vector< void * > scan_ptrs_swp
 
openfpm::vector< void * > scan_ptrs_swp_r
 
openfpm::vector< void * > data_ptrs
 
openfpm::vector< void * > data_ptrs_swp
 
openfpm::vector< void * > data_ptrs_swp_r
 
openfpm::vector< void * > offset_ptrs
 
openfpm::vector< void * > offset_ptrs_swp
 
openfpm::vector< void * > offset_ptrs_swp_r
 
openfpm::vector< void * > mask_ptrs
 
openfpm::vector< void * > mask_ptrs_swp
 
openfpm::vector< void * > mask_ptrs_swp_r
 
openfpm::vector< void * > offset_ptrs_cp
 
openfpm::vector< void * > offset_ptrs_cp_swp
 
openfpm::vector< void * > offset_ptrs_cp_swp_r
 
openfpm::vector< void * > scan_ptrs_cp
 
openfpm::vector< void * > scan_ptrs_cp_swp
 
openfpm::vector< void * > scan_ptrs_cp_swp_r
 
openfpm::vector< void * > data_base_ptr_cp
 
openfpm::vector< void * > data_base_ptr_cp_swp
 
openfpm::vector< void * > data_base_ptr_cp_swp_r
 
openfpm::vector< int > n_cnk_cp
 
openfpm::vector< int > n_cnk_cp_swp
 
openfpm::vector< int > n_cnk_cp_swp_r
 
openfpm::vector< int > n_pnt_cp
 
openfpm::vector< int > n_pnt_cp_swp
 
openfpm::vector< int > n_pnt_cp_swp_r
 
openfpm::vector< int > n_shifts_cp
 
openfpm::vector< int > n_shift_cp_swp
 
openfpm::vector< int > n_shift_cp_swp_r
 
openfpm::vector_gpu< convertAggr > convert_blk
 
openfpm::vector_gpu< convertAggr > convert_blk_swp
 
openfpm::vector_gpu< convertAggr > convert_blk_swp_r
 
openfpm::vector< Box< dim, size_t > > box_cp
 
openfpm::vector< Box< dim, size_t > > box_cp_swp
 
openfpm::vector< Box< dim, size_t > > box_cp_swp_r
 
openfpm::vector_gpu< aggregate< indexT > > e_points
 
openfpm::vector_gpu< aggregate< indexT > > e_points_swp
 
openfpm::vector_gpu< aggregate< indexT > > e_points_swp_r
 
openfpm::vector_gpu< aggregate< unsigned int > > pack_output
 Helper array to pack points.
 
openfpm::vector_gpu< aggregate< unsigned int > > pack_output_swp
 
openfpm::vector_gpu< aggregate< unsigned int > > pack_output_swp_r
 
openfpm::vector_gpu< aggregate< short int, short int > > ghostLayerToThreadsMapping
 
openfpm::vector_gpu< aggregate< indexT > > nn_blocks
 
openfpm::vector_gpu< aggregate< indexT, unsigned int > > tmp
 temporal
 
openfpm::vector_gpu< aggregate< indexT, unsigned int > > tmp_swp
 
openfpm::vector_gpu< aggregate< indexT, unsigned int > > tmp_swp_r
 
openfpm::vector_gpu< aggregate< indexT > > tmp2
 temporal 2
 
openfpm::vector_gpu< aggregate< indexT > > tmp3
 temporal 3
 
openfpm::vector_gpu< aggregate< indexT > > scan_it
 contain the scan of the point for each iterator
 
openfpm::vector_gpu< aggregate< int > > new_map
 Map between the (Last) added chunks and their position in chunks data.
 
openfpm::vector_gpu< aggregate< int > > new_map_swp
 
openfpm::vector_gpu< aggregate< int > > new_map_swp_r
 
openfpm::vector_gpu< Box< dim, int > > pack_subs
 the set of all sub-set to pack
 
openfpm::vector_gpu< Box< dim, int > > pack_subs_swp
 
openfpm::vector_gpu< Box< dim, int > > pack_subs_swp_r
 
int index_size_swp = -1
 
int index_size_swp_r = -1
 
openfpm::vector_gpu< aggregate< size_t > > links_up
 links of the padding points with real points of a coarse sparsegrid
 
openfpm::vector_gpu< aggregate< unsigned int > > link_dw_scan
 scan offsets of the links down
 
openfpm::vector_gpu< aggregate< int, short int > > link_dw
 links of the padding points with real points of a finer sparsegrid
 
openfpm::vector_gpu< aggregate< unsigned int > > link_up_scan
 scan offsets of the links down
 
openfpm::vector_gpu< aggregate< int, short int > > link_up
 links of the padding points with real points of a finer sparsegrid
 
ExtPreAlloc< CudaMemory > * prAlloc_prp
 Memory to remove copy finalize.
 
openfpm::vector_gpu< aggregate< int[dim]> > shifts
 shifts for chunk conversion
 
bool findNN = false
 

Static Private Attributes

static const unsigned char PADDING_BIT = 1
 

Additional Inherited Members

- Protected Attributes inherited from BlockMapGpu< AggregateBlockT, threadBlockSize, indexT, layout_base >
openfpm::vector_sparse_gpu_block< AggregateInternalT, BlockMapGpuFunctors::BlockFunctor< threadBlockSize >, indexT > blockMap
 

Member Typedef Documentation

◆ AggregateBlockT

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
typedef aggregate_convert<dim,blockEdgeSize,AggregateT>::type SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::AggregateBlockT
private

Definition at line 505 of file SparseGridGpu.hpp.

◆ AggregateInternalT

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
typedef AggregateBlockT SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::AggregateInternalT
protected

Definition at line 704 of file SparseGridGpu.hpp.

◆ base_key

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
typedef sparse_grid_gpu_index<self> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::base_key

Definition at line 719 of file SparseGridGpu.hpp.

◆ BMG

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
typedef BlockMapGpu< typename aggregate_convert<dim,blockEdgeSize,AggregateT>::type, threadBlockSize, indexT, layout_base> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::BMG
private

Definition at line 502 of file SparseGridGpu.hpp.

◆ convertAggr

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
typedef aggregate_convert<dim,blockEdgeSize,aggregate<int>>::type SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::convertAggr
private

Definition at line 563 of file SparseGridGpu.hpp.

◆ device_grid_type

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
typedef self SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::device_grid_type

Definition at line 1670 of file SparseGridGpu.hpp.

◆ grid_info

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
typedef linearizer SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::grid_info

Definition at line 713 of file SparseGridGpu.hpp.

◆ indexT_

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
typedef indexT SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::indexT_

Definition at line 721 of file SparseGridGpu.hpp.

◆ insert_encap

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
typedef decltype(std::declval<BMG>().toKernel().insertBlock(0)) SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::insert_encap

Definition at line 723 of file SparseGridGpu.hpp.

◆ layout_mfunc

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<typename Tfunc >
using SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::layout_mfunc = memory_traits_inte<Tfunc>

Definition at line 717 of file SparseGridGpu.hpp.

◆ linearizer_type

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
typedef linearizer SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::linearizer_type

Definition at line 715 of file SparseGridGpu.hpp.

◆ self

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
typedef SparseGridGpu<dim,AggregateT,blockEdgeSize,threadBlockSize,indexT,layout_base,linearizer> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::self
private

Definition at line 517 of file SparseGridGpu.hpp.

◆ value_type

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
typedef AggregateT SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::value_type

Definition at line 1668 of file SparseGridGpu.hpp.

◆ yes_i_am_grid

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
typedef int SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::yes_i_am_grid

it define that this data-structure is a grid

Definition at line 709 of file SparseGridGpu.hpp.

Constructor & Destructor Documentation

◆ SparseGridGpu() [1/3]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::SparseGridGpu ( )
inline

Definition at line 1672 of file SparseGridGpu.hpp.

◆ SparseGridGpu() [2/3]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::SparseGridGpu ( const size_t(&)  res[dim],
unsigned int  stencilSupportRadius = 1 
)
inline

Constructor from glock geometry.

Definition at line 1690 of file SparseGridGpu.hpp.

◆ SparseGridGpu() [3/3]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::SparseGridGpu ( linearizer &  gridGeometry,
unsigned int  stencilSupportRadius = 1 
)
inline

Constructor from glock geometry.

Definition at line 1700 of file SparseGridGpu.hpp.

Member Function Documentation

◆ addAndConvertPackedChunkToTmp()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<unsigned int ... prp, typename S2 >
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::addAndConvertPackedChunkToTmp ( ExtPreAlloc< S2 > &  mem,
SparseGridGpu_iterator_sub< dim, self > &  sub_it,
Unpack_stat ps,
gpu::ofp_context_t context 
)
inlineprivate

unpack the sub-grid object

Template Parameters
prpproperties to unpack
Parameters
mempreallocated memory from where to unpack the object
subsub-grid iterator
objobject where to unpack

Definition at line 1417 of file SparseGridGpu.hpp.

◆ allocateGhostLayerMapping()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::allocateGhostLayerMapping ( )
inlineprivate

Definition at line 886 of file SparseGridGpu.hpp.

◆ applyStencilInPlace()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<typename stencil , typename... Args>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::applyStencilInPlace ( const Box< dim, int > &  box,
StencilMode &  mode,
Args...  args 
)
inlineprivate

Definition at line 955 of file SparseGridGpu.hpp.

◆ applyStencilInPlaceNoShared()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<typename stencil , typename... Args>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::applyStencilInPlaceNoShared ( const Box< dim, int > &  box,
StencilMode &  mode,
Args...  args 
)
inlineprivate

Definition at line 1052 of file SparseGridGpu.hpp.

◆ applyStencils() [1/2]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<typename stencil1 , typename stencil2 , typename ... otherStencils, typename... Args>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::applyStencils ( Box< dim, int >  box,
StencilMode  mode,
Args...  args 
)
inline

Definition at line 2726 of file SparseGridGpu.hpp.

◆ applyStencils() [2/2]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<typename stencil , typename... Args>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::applyStencils ( const Box< dim, int > &  box,
StencilMode  mode,
Args...  args 
)
inline

Definition at line 2701 of file SparseGridGpu.hpp.

◆ calculatePackingPointsFromBoxes()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<unsigned int n_it>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::calculatePackingPointsFromBoxes ( int  opt,
size_t  tot_pnt 
)
inline

Definition at line 833 of file SparseGridGpu.hpp.

◆ clear()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::clear ( )
inline

Reset the structure

Definition at line 1790 of file SparseGridGpu.hpp.

◆ computeGhostLayerMapping()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<typename stencil_type >
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::computeGhostLayerMapping ( )
inlineprivate

Definition at line 892 of file SparseGridGpu.hpp.

◆ computeSizeOfGhostLayer()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::computeSizeOfGhostLayer ( )
inlineprivate

Definition at line 871 of file SparseGridGpu.hpp.

◆ construct_link()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::construct_link ( self grid_up,
self grid_dw,
gpu::ofp_context_t context 
)
inline

construct link between levels

\praram grid_up grid level up

Parameters
grid_dwgrid level down

Definition at line 2022 of file SparseGridGpu.hpp.

◆ construct_link_dw()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::construct_link_dw ( self grid_dw,
const Box< dim, int > &  db_,
Point< dim, int >  p_dw,
gpu::ofp_context_t context 
)
inline

construct link on the down level

Parameters
grid_dwgrid level down
dbdomain box
p_dwpoint offset when you go down
gpucontext

Definition at line 2109 of file SparseGridGpu.hpp.

◆ construct_link_up()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::construct_link_up ( self grid_up,
const Box< dim, int > &  db_,
Point< dim, int >  p_up,
gpu::ofp_context_t context 
)
inline

construct link on the up levels

\praram grid_up grid level up

Definition at line 2187 of file SparseGridGpu.hpp.

◆ conv()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<unsigned int prop_src, unsigned int prop_dst, unsigned int stencil_size, typename lambda_f , typename ... ArgsT>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::conv ( grid_key_dx< 3 >  start,
grid_key_dx< 3 >  stop,
lambda_f  func,
ArgsT ...  args 
)
inline

Apply a free type convolution using blocks.

Definition at line 2584 of file SparseGridGpu.hpp.

◆ conv2()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<unsigned int prop_src1, unsigned int prop_src2, unsigned int prop_dst1, unsigned int prop_dst2, unsigned int stencil_size, typename lambda_f , typename ... ArgsT>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::conv2 ( grid_key_dx< dim >  start,
grid_key_dx< dim >  stop,
lambda_f  func,
ArgsT ...  args 
)
inline

Apply a free type convolution using blocks.

Definition at line 2666 of file SparseGridGpu.hpp.

◆ conv2_b()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<unsigned int prop_src1, unsigned int prop_src2, unsigned int prop_dst1, unsigned int prop_dst2, unsigned int stencil_size, typename lambda_f , typename ... ArgsT>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::conv2_b ( grid_key_dx< dim >  start,
grid_key_dx< dim >  stop,
lambda_f  func,
ArgsT ...  args 
)
inline

Apply a free type convolution using blocks.

Definition at line 2624 of file SparseGridGpu.hpp.

◆ conv3_b()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<unsigned int prop_src1, unsigned int prop_src2, unsigned int prop_src3, unsigned int prop_dst1, unsigned int prop_dst2, unsigned int prop_dst3, unsigned int stencil_size, typename lambda_f , typename ... ArgsT>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::conv3_b ( grid_key_dx< dim >  start,
grid_key_dx< dim >  stop,
lambda_f  func,
ArgsT ...  args 
)
inline

Apply a free type convolution using blocks.

Definition at line 2646 of file SparseGridGpu.hpp.

◆ conv_cross()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<unsigned int prop_src, unsigned int prop_dst, unsigned int stencil_size, typename lambda_f , typename ... ArgsT>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::conv_cross ( grid_key_dx< 3 >  start,
grid_key_dx< 3 >  stop,
lambda_f  func,
ArgsT ...  args 
)
inline

Apply a convolution using a cross like stencil.

in 2D for example the stencil is

    *
  * * *
    *

Definition at line 2565 of file SparseGridGpu.hpp.

◆ conv_cross_b()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<unsigned int prop_src, unsigned int prop_dst, unsigned int stencil_size, typename lambda_f , typename ... ArgsT>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::conv_cross_b ( grid_key_dx< 3 >  start,
grid_key_dx< 3 >  stop,
lambda_f  func,
ArgsT ...  args 
)
inline

Apply a free type convolution using blocks.

Definition at line 2604 of file SparseGridGpu.hpp.

◆ convertChunkIds()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<typename origPackType , typename IteratorType >
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::convertChunkIds ( short int *  offset,
origPackType &  origPack,
IteratorType &  sub_it 
)
inlineprivate

convert the offset index from the packed to the add buffer

Definition at line 1613 of file SparseGridGpu.hpp.

◆ copy_to()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::copy_to ( self grid_src,
const Box< dim, size_t > &  box_src,
const Box< dim, size_t > &  box_dst 
)
inline

It queue a copy.

Parameters
grid_srcsource grid
box_srcgource box
box_dstdestination box

Definition at line 3546 of file SparseGridGpu.hpp.

◆ copyRemoveReset()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::copyRemoveReset ( )
inline

Reset the queue to remove and copy section of grids.

Definition at line 3500 of file SparseGridGpu.hpp.

◆ countBoundaryElements()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
size_t SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::countBoundaryElements ( )
inline

Definition at line 2449 of file SparseGridGpu.hpp.

◆ countExistingElements()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
size_t SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::countExistingElements ( ) const
inline

Definition at line 2418 of file SparseGridGpu.hpp.

◆ dim3SizeToInt() [1/3]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<typename dim3T >
static int SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::dim3SizeToInt ( dim3T  d)
inlinestatic

Definition at line 757 of file SparseGridGpu.hpp.

◆ dim3SizeToInt() [2/3]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
static int SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::dim3SizeToInt ( size_t  d)
inlinestatic

Definition at line 762 of file SparseGridGpu.hpp.

◆ dim3SizeToInt() [3/3]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
static int SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::dim3SizeToInt ( unsigned int  d)
inlinestatic

Definition at line 767 of file SparseGridGpu.hpp.

◆ fill_chunks_boxes()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<typename ids_type >
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::fill_chunks_boxes ( openfpm::vector< SpaceBox< dim, double > > &  chunks_box,
ids_type &  chunk_ids,
Point< dim, double > &  spacing,
Point< dim, double > &  offset 
)
inlineprivate

Definition at line 1078 of file SparseGridGpu.hpp.

◆ findNeighbours()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<typename NNtype = NNStar<dim>>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::findNeighbours ( )
inline

Definition at line 2393 of file SparseGridGpu.hpp.

◆ flush()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<typename ... v_reduce>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::flush ( gpu::ofp_context_t context,
flush_type  opt = FLUSH_ON_HOST 
)
inline

Definition at line 773 of file SparseGridGpu.hpp.

◆ get() [1/3]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<unsigned int p, typename CoordT >
auto SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::get ( const grid_key_dx< dim, CoordT > &  coord) const -> const ScalarTypeOf<AggregateBlockT, p> &
inline

Get an element using the point coordinates.

Template Parameters
pproperty index
Parameters
coordpoint coordinates
Returns
the element

Definition at line 1894 of file SparseGridGpu.hpp.

◆ get() [2/3]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<unsigned int p>
auto SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::get ( const sparse_grid_gpu_index< self > &  coord) -> ScalarTypeOf<AggregateBlockT, p> &
inline

Get an element using sparse_grid_gpu_index (using this index it guarantee that the point exist)

Template Parameters
pproperty index
Parameters
element
Returns
the element

Definition at line 1983 of file SparseGridGpu.hpp.

◆ get() [3/3]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<unsigned int p>
auto SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::get ( const sparse_grid_gpu_index< self > &  coord) const -> const ScalarTypeOf<AggregateBlockT, p> &
inline

Get an element using sparse_grid_gpu_index (using this index it guarantee that the point exist)

Template Parameters
pproperty index
Parameters
element
Returns
the element

Definition at line 1909 of file SparseGridGpu.hpp.

◆ get_o() [1/2]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<typename CoordT >
auto SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::get_o ( const grid_key_dx< dim, CoordT > &  coord) const -> encap_data_block<typename std::remove_const<decltype(BlockMapGpu<AggregateInternalT, threadBlockSize, indexT, layout_base>::get(0))>::type >
inline

Get an element using the point coordinates.

Parameters
coordpoint coordinates
Returns
the element

Definition at line 1942 of file SparseGridGpu.hpp.

◆ get_o() [2/2]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
auto SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::get_o ( const sparse_grid_gpu_index< self > &  coord) const -> encap_data_block<typename std::remove_const<decltype(private_get_data_array().get(0))>::type >
inline

Get an element using sparse_grid_gpu_index (using this index it guarantee that the point exist)

Parameters
element
Returns
the element

Definition at line 1958 of file SparseGridGpu.hpp.

◆ get_sparse()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<typename CoordT >
base_key SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::get_sparse ( const grid_key_dx< dim, CoordT > &  coord) const
inline

Get an element using the point coordinates.

Template Parameters
pproperty index
Parameters
coordpoint coordinates
Returns
the element

Definition at line 1865 of file SparseGridGpu.hpp.

◆ getBlockEdgeSize()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
static constexpr unsigned int SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::getBlockEdgeSize ( )
inlinestaticconstexpr

Definition at line 1828 of file SparseGridGpu.hpp.

◆ getBlockLinId()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<typename CoordT >
size_t SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::getBlockLinId ( const CoordT &  blockCoord) const
inline

Linearization of block coordinates.

Parameters
blockCoordblock coordinates
Returns
the linearized index

Definition at line 2761 of file SparseGridGpu.hpp.

◆ getBlockSize()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
constexpr unsigned int SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::getBlockSize ( ) const
inlineconstexpr

Definition at line 1833 of file SparseGridGpu.hpp.

◆ getBox()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
Box< dim, int > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::getBox ( )
inline

Return a Box with the range if the SparseGrid.

Returns
the range of the grid

Definition at line 2686 of file SparseGridGpu.hpp.

◆ getCoord()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
grid_key_dx< dim, int > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::getCoord ( size_t  linId) const
inline

Definition at line 1845 of file SparseGridGpu.hpp.

◆ getDownLinks()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector_gpu< aggregate< int, short int > > & SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::getDownLinks ( )
inline

Get the links down for each point.

Returns
the links dow for each point

Definition at line 2076 of file SparseGridGpu.hpp.

◆ getDownLinksOffsets()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector_gpu< aggregate< unsigned int > > & SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::getDownLinksOffsets ( )
inline

Get the offsets for each point of the links down.

Returns
the offsets of the links down

Definition at line 2066 of file SparseGridGpu.hpp.

◆ getFlag()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
unsigned char SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::getFlag ( const sparse_grid_gpu_index< self > &  coord) const
inline

Return the flag of the point.

It indicate for example is if the point is a padding point (internaly it return the pMask flag)

Returns
the flag

Definition at line 1995 of file SparseGridGpu.hpp.

◆ getGrid()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
linearizer & SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::getGrid ( )
inline

Return the grid information object.

Returns
grid information object

Definition at line 1811 of file SparseGridGpu.hpp.

◆ getGridGPUIterator()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
ite_gpu< dim > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::getGridGPUIterator ( const grid_key_dx< dim, int > &  start,
const grid_key_dx< dim, int > &  stop,
size_t  n_thr = threadBlockSize 
)
inline

Definition at line 1850 of file SparseGridGpu.hpp.

◆ getIterator() [1/2]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
decltype(self::type_of_iterator()) SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::getIterator ( ) const
inline

Return a SparseGrid iterator.

Returns
a SparseGrid iterator

Definition at line 3747 of file SparseGridGpu.hpp.

◆ getIterator() [2/2]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
decltype(self::type_of_subiterator()) SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::getIterator ( const grid_key_dx< dim > &  start,
const grid_key_dx< dim > &  stop,
int  is_to_init = 1 
) const
inline

Return a SparseGrid iterator only on a sub-set of elements.

Returns
a SparseGrid iterator on a subset of elements

Definition at line 3757 of file SparseGridGpu.hpp.

◆ getLinId()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<typename CoordT >
size_t SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::getLinId ( CoordT &  coord)
inline

Definition at line 1840 of file SparseGridGpu.hpp.

◆ getMappingVector()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
auto SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::getMappingVector ( ) -> decltype(this->blockMap.getMappingVector())
inline

Return the mapping vector used to know where the data has been added.

Returns
the mapping vector

Definition at line 3211 of file SparseGridGpu.hpp.

◆ getMergeIndexMapVector()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
auto SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::getMergeIndexMapVector ( ) -> decltype(this->blockMap.getMergeIndexMapVector())
inline

Return the mapping vector used to know where the data has been added.

Returns
the mapping vector

Definition at line 3221 of file SparseGridGpu.hpp.

◆ getSegmentToMergeIndexMap() [1/2]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
auto SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::getSegmentToMergeIndexMap ( ) -> decltype(BlockMapGpu<AggregateInternalT, threadBlockSize, indexT, layout_base>::blockMap.getSegmentToMergeIndexMap())
inline

Definition at line 3802 of file SparseGridGpu.hpp.

◆ getSegmentToMergeIndexMap() [2/2]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
auto SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::getSegmentToMergeIndexMap ( ) const -> decltype(BlockMapGpu<AggregateInternalT, threadBlockSize, indexT, layout_base>::blockMap.getSegmentToMergeIndexMap())
inline

Definition at line 3807 of file SparseGridGpu.hpp.

◆ getSegmentToOutMap() [1/2]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
auto SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::getSegmentToOutMap ( ) -> decltype(BlockMapGpu<AggregateInternalT, threadBlockSize, indexT, layout_base>::blockMap.getSegmentToOutMap())
inline

Definition at line 3792 of file SparseGridGpu.hpp.

◆ getSegmentToOutMap() [2/2]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
auto SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::getSegmentToOutMap ( ) const -> decltype(BlockMapGpu<AggregateInternalT, threadBlockSize, indexT, layout_base>::blockMap.getSegmentToOutMap())
inline

Definition at line 3797 of file SparseGridGpu.hpp.

◆ getUpLinks()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector_gpu< aggregate< int, short int > > & SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::getUpLinks ( )
inline

Get the links up for each point.

Returns
the links up for each point

Definition at line 2096 of file SparseGridGpu.hpp.

◆ getUpLinksOffsets()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector_gpu< aggregate< unsigned int > > & SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::getUpLinksOffsets ( )
inline

Get the offsets for each point of the links up.

Returns
the offsets of the links up

Definition at line 2086 of file SparseGridGpu.hpp.

◆ initialize()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::initialize ( const size_t(&)  res[dim])
inlineprivate

Definition at line 935 of file SparseGridGpu.hpp.

◆ insert()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<unsigned int p, typename CoordT >
auto SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::insert ( const CoordT &  coord) -> ScalarTypeOf<AggregateBlockT, p> &
inline

Definition at line 2001 of file SparseGridGpu.hpp.

◆ insert_o()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<typename CoordT >
auto SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::insert_o ( const CoordT &  coord) -> encap_data_block<typename std::remove_const<decltype(BlockMapGpu<AggregateInternalT, threadBlockSize, indexT, layout_base>::insert_o(0))>::type >
inline

Definition at line 2007 of file SparseGridGpu.hpp.

◆ insertBlockFlush() [1/2]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<typename CoordT >
auto SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::insertBlockFlush ( const grid_key_dx< dim, CoordT > &  coord,
indexT &  local_id 
) -> decltype(BlockMapGpu<AggregateInternalT, threadBlockSize, indexT, layout_base>::insertBlockFlush(0))
inline

Insert the point on host side and flush directly.

First you have to move everything on host with deviceToHost, insertFlush and than move to GPU again

Parameters
gridpoint where to insert
Returns
a reference to the data to fill

Definition at line 2803 of file SparseGridGpu.hpp.

◆ insertBlockFlush() [2/2]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
auto SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::insertBlockFlush ( size_t  block) -> decltype(BMG::insertBlockFlush(block))
inline

Definition at line 1801 of file SparseGridGpu.hpp.

◆ insertFlush() [1/2]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<unsigned int p, typename CoordT >
auto SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::insertFlush ( const grid_key_dx< dim, CoordT > &  coord) -> ScalarTypeOf<AggregateBlockT, p> &
inline

Insert the point on host side and flush directly.

First you have to move everything on host with deviceToHost, insertFlush and than move to GPU again

Parameters
gridpoint where to insert
Returns
a reference to the data to fill

Definition at line 2828 of file SparseGridGpu.hpp.

◆ insertFlush() [2/2]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<unsigned int p>
auto SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::insertFlush ( const sparse_grid_gpu_index< self > &  coord) -> ScalarTypeOf<AggregateBlockT, p> &
inline

Insert the point on host side and flush directly.

First you have to move everything on host with deviceToHost, insertFlush and than move to GPU again

Parameters
gridpoint where to insert
Returns
a reference to the data to fill

Definition at line 2777 of file SparseGridGpu.hpp.

◆ is_unpack_header_supported()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
static bool SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::is_unpack_header_supported ( )
inlinestatic

Indicate that unpacking the header is supported.

Returns
true

Definition at line 3648 of file SparseGridGpu.hpp.

◆ isCompressed()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
static constexpr bool SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::isCompressed ( )
inlinestaticconstexpr

This is a multiresolution sparse grid so is a compressed format.

Returns
true

Definition at line 3534 of file SparseGridGpu.hpp.

◆ isPadding()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<typename BitMaskT >
static bool SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::isPadding ( BitMaskT &  bitMask)
inlinestatic

Definition at line 2733 of file SparseGridGpu.hpp.

◆ isSkipLabellingPossible()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
bool SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::isSkipLabellingPossible ( )
inline

This function check if keep geometry is possible for this grid.

Returns
true if skip labelling is possible

Definition at line 1968 of file SparseGridGpu.hpp.

◆ measureBlockOccupancy()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::measureBlockOccupancy ( double &  mean,
double &  deviation 
)
inline

Definition at line 2516 of file SparseGridGpu.hpp.

◆ measureBlockOccupancyMemory()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::measureBlockOccupancyMemory ( double &  mean,
double &  deviation 
)
inline

Definition at line 2481 of file SparseGridGpu.hpp.

◆ pack() [1/3]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
static bool SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::pack ( )
inlinestatic

Definition at line 2885 of file SparseGridGpu.hpp.

◆ pack() [2/3]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<int ... prp>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::pack ( ExtPreAlloc< CudaMemory > &  mem,
SparseGridGpu_iterator_sub< dim, self > &  sub_it,
Pack_stat sts 
)
inline

Pack the object into the memory given an iterator.

Warning
the pack does not happen here but it happen in packFinalize, the request is just queued
Template Parameters
prpproperties to pack
Parameters
mempreallocated memory where to pack the objects
sub_itsub grid iterator ( or the elements in the grid to pack )
Warning
in this case this parameter is ignored pack must be called with the same sequence of packRequest
Parameters
stspack statistic

Definition at line 3240 of file SparseGridGpu.hpp.

◆ pack() [3/3]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<int ... prp>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::pack ( ExtPreAlloc< HeapMemory > &  mem,
Pack_stat sts 
) const
inline

Pack the object into the memory.

Template Parameters
prpproperties to pack
Parameters
mempreallocated memory where to pack the objects
stspack statistic

Definition at line 2922 of file SparseGridGpu.hpp.

◆ pack_sg_implement()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<unsigned int n_it, unsigned int ... prp>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::pack_sg_implement ( ExtPreAlloc< CudaMemory > &  mem,
Pack_stat sts,
int  opt,
bool  is_pack_remote 
)
inlineprivate

Definition at line 1289 of file SparseGridGpu.hpp.

◆ packCalculate()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<int ... prp>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::packCalculate ( size_t &  req,
gpu::ofp_context_t context 
)
inline

Calculate the size of the information to pack.

Parameters
reqoutput size (it does not reset the counter it accumulate)
contextgpu contect

Definition at line 3073 of file SparseGridGpu.hpp.

◆ packFinalize()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<int ... prp>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::packFinalize ( ExtPreAlloc< CudaMemory > &  mem,
Pack_stat sts,
int  opt = 0,
bool  is_pack_remote = false 
)
inline

Finalize the packing procedure.

Template Parameters
prpproperties to pack
Parameters
mempreallocated memory where to pack the objects
sub_itsub grid iterator ( or the elements in the grid to pack )
Warning
in this case this parameter is ignored pack must be called with the same sequence of packRequest
Parameters
stspack statistic

Definition at line 3339 of file SparseGridGpu.hpp.

◆ packRequest() [1/4]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
static bool SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::packRequest ( )
inlinestatic

Definition at line 2891 of file SparseGridGpu.hpp.

◆ packRequest() [2/4]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<int ... prp>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::packRequest ( size_t &  req) const
inline

Asking to pack a SparseGrid GPU without GPU context pack the grid on CPU and host memory.

Definition at line 2901 of file SparseGridGpu.hpp.

◆ packRequest() [3/4]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<int ... prp>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::packRequest ( size_t &  req,
gpu::ofp_context_t context 
) const
inline

memory requested to pack this object

Parameters
reqrequest

Definition at line 2980 of file SparseGridGpu.hpp.

◆ packRequest() [4/4]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<int ... prp>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::packRequest ( SparseGridGpu_iterator_sub< dim, self > &  sub_it,
size_t &  req 
) const
inline

Calculate the size to pack part of this structure.

Warning
this function does not return the byte immediately but it buffer the request until you call packCalculate
to reset call packReset()
Template Parameters
prpset of properties to pack
Parameters
subsub-grid to pack
reqoutput byte

Definition at line 3037 of file SparseGridGpu.hpp.

◆ packReset()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::packReset ( )
inline

Reset the pack calculation.

Definition at line 3053 of file SparseGridGpu.hpp.

◆ preFlush()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::preFlush ( )
inline

In case we manually set the added index buffer and the add data buffer we have to call this function before flush.

Definition at line 2281 of file SparseGridGpu.hpp.

◆ preUnpack()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<typename MemType , unsigned int ... prp>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::preUnpack ( ExtPreAlloc< MemType > *  prAlloc_prp,
gpu::ofp_context_t ctx,
int  opt 
)
inlineprivate

Definition at line 1097 of file SparseGridGpu.hpp.

◆ print_vct_add_data()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<unsigned int p>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::print_vct_add_data ( )
inline

Definition at line 2844 of file SparseGridGpu.hpp.

◆ private_get_add_index_array() [1/2]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
auto SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::private_get_add_index_array ( ) -> decltype(BlockMapGpu<AggregateInternalT, threadBlockSize, indexT, layout_base>::blockMap.private_get_vct_add_index()) &
inline

Return the index array of the blocks.

Returns
the index arrays of the blocks

Definition at line 3767 of file SparseGridGpu.hpp.

◆ private_get_add_index_array() [2/2]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
auto SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::private_get_add_index_array ( ) const -> decltype(BlockMapGpu<AggregateInternalT, threadBlockSize, indexT, layout_base>::blockMap.private_get_vct_add_index()) &
inline

Return the index array of the blocks.

Returns
the index arrays of the blocks

Definition at line 3777 of file SparseGridGpu.hpp.

◆ private_get_data_array() [1/2]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
auto SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::private_get_data_array ( ) -> decltype(BlockMapGpu<AggregateInternalT, threadBlockSize, indexT, layout_base>::blockMap.getDataBuffer()) &
inline

Return the index array of the blocks.

Returns
the index arrays of the blocks

Definition at line 1919 of file SparseGridGpu.hpp.

◆ private_get_data_array() [2/2]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
auto SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::private_get_data_array ( ) const -> decltype(BlockMapGpu<AggregateInternalT, threadBlockSize, indexT, layout_base>::blockMap.getDataBuffer())
inline

Return the data array of the blocks.

Returns
the index arrays of the blocks

Definition at line 1929 of file SparseGridGpu.hpp.

◆ private_get_index_array() [1/2]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
auto SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::private_get_index_array ( ) -> decltype(BlockMapGpu<AggregateInternalT, threadBlockSize, indexT, layout_base>::blockMap.getIndexBuffer())
inline

Return the index array of the blocks.

Returns
the index arrays of the blocks

Definition at line 3817 of file SparseGridGpu.hpp.

◆ private_get_index_array() [2/2]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
auto SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::private_get_index_array ( ) const -> decltype(BlockMapGpu<AggregateInternalT, threadBlockSize, indexT, layout_base>::blockMap.getIndexBuffer()) &
inline

Return the index array of the blocks.

Returns
the index arrays of the blocks

Definition at line 3787 of file SparseGridGpu.hpp.

◆ private_get_neighborhood_array()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
auto SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::private_get_neighborhood_array ( ) -> decltype(nn_blocks) &
inline

Return the index array of the blocks.

Returns
the index arrays of the blocks

Definition at line 3827 of file SparseGridGpu.hpp.

◆ remove()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::remove ( const Box< dim, int > &  section_to_delete)
inline

Remove all the points in this region.

Warning
does not remove the chunks only the points
Parameters
box_srcbox to kill the points

Definition at line 3524 of file SparseGridGpu.hpp.

◆ removeAddUnpackFinalize()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<unsigned int ... prp>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::removeAddUnpackFinalize ( gpu::ofp_context_t context,
int  opt 
)
inline

This function remove the points we queue to remove and it flush all the added/unpacked data.

Note
this function exist to respect the interface to work as distributed

Definition at line 3488 of file SparseGridGpu.hpp.

◆ removeAddUnpackReset()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::removeAddUnpackReset ( )
inline

In this case it does nothing.

Note
this function exist to respect the interface to work as distributed

Definition at line 3372 of file SparseGridGpu.hpp.

◆ removeCopyToFinalize()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<unsigned int ... prp>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::removeCopyToFinalize ( gpu::ofp_context_t ctx,
int  opt 
)
inline

It finalize the queued operations of remove() and copy_to()

Warning
you have to call this function with opt rem_copy_opt::PHASE1 than rem_copy_opt::PHASE2 and finally rem_copy_opt::PHASE3

In particular suppose we have 3 grids and we copy sections of the grid 1 into 2 and 3 , sections of grid 2 into 1 and 3 and sections of grid 3 into 1 and 2. Than we have to first call on all 3 grids removeCopyFinalize with PHASE1. Than we call removeCopyFinalize with PHASE2 on all 3 grids and finally removeCopyFinalize with PHASE3

In case we can guarantee that the chunks structure has not changed we can pass the option KEEP_GEOMETRY to make this function faster

Parameters
ctxcontext
options

Definition at line 3311 of file SparseGridGpu.hpp.

◆ removeCopyToFinalize_phase1()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<unsigned int ... prp>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::removeCopyToFinalize_phase1 ( gpu::ofp_context_t ctx,
int  opt 
)
inlineprivate

Definition at line 1117 of file SparseGridGpu.hpp.

◆ removeCopyToFinalize_phase2()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<unsigned int ... prp>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::removeCopyToFinalize_phase2 ( gpu::ofp_context_t ctx,
int  opt 
)
inlineprivate

Definition at line 1124 of file SparseGridGpu.hpp.

◆ removeCopyToFinalize_phase3()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<unsigned int ... prp>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::removeCopyToFinalize_phase3 ( gpu::ofp_context_t ctx,
int  opt,
bool  is_unpack_remote 
)
inlineprivate

Definition at line 1176 of file SparseGridGpu.hpp.

◆ removePoints()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::removePoints ( gpu::ofp_context_t context)
inline

Remove the points we queues to remove.

See also
Parameters
contextmodern gpu context

Definition at line 3413 of file SparseGridGpu.hpp.

◆ removeUnusedBuffers()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::removeUnusedBuffers ( )
inline

Eliminate many internal temporary buffer you can use this between flushes if you get some out of memory.

Definition at line 3735 of file SparseGridGpu.hpp.

◆ resize()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::resize ( size_t(&)  res[dim])
inline

resize the SparseGrid

Parameters
resindicate the resolution in each dimension

Definition at line 1681 of file SparseGridGpu.hpp.

◆ RestorePackVariableIfKeepGeometry()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::RestorePackVariableIfKeepGeometry ( int  opt,
bool  is_pack_remote 
)
inline

Definition at line 817 of file SparseGridGpu.hpp.

◆ RestoreUnpackVariableIfKeepGeometry()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::RestoreUnpackVariableIfKeepGeometry ( int  opt,
bool  is_unpack_remote 
)
inline

Definition at line 792 of file SparseGridGpu.hpp.

◆ savePackVariableIfNotKeepGeometry()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::savePackVariableIfNotKeepGeometry ( int  opt,
bool  is_pack_remote 
)
inline

Definition at line 802 of file SparseGridGpu.hpp.

◆ saveUnpackVariableIfNotKeepGeometry()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::saveUnpackVariableIfNotKeepGeometry ( int  opt,
bool  is_unpack_remote 
)
inline

Definition at line 783 of file SparseGridGpu.hpp.

◆ setBackgroundValue()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<unsigned int p>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::setBackgroundValue ( typename boost::mpl::at< typename AggregateT::type, boost::mpl::int_< p > >::type  backgroundValue)
inline

set the background for property p

Template Parameters
pproperty p

Definition at line 2875 of file SparseGridGpu.hpp.

◆ setGPUInsertBuffer()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<typename dim3T >
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::setGPUInsertBuffer ( dim3T  nBlock,
dim3T  nSlot 
)
inline

\Brief Before insert any element you have to call this function to initialize the insert buffer

Parameters
nBlocknumber of blocks the insert buffer has
nSlotmaximum number of insertion each block does

Definition at line 2267 of file SparseGridGpu.hpp.

◆ setMemory()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::setMemory ( )
inline

Definition at line 1798 of file SparseGridGpu.hpp.

◆ setNNType()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<typename stencil_type >
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::setNNType ( )
inline

Set the neighborhood type.

Template Parameters
stencil_typeType of stencil

Definition at line 1822 of file SparseGridGpu.hpp.

◆ setPadding()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<typename BitMaskT >
static void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::setPadding ( BitMaskT &  bitMask)
inlinestatic

Definition at line 2740 of file SparseGridGpu.hpp.

◆ size()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
size_t SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::size ( ) const
inline

return the size of the grid

Returns
Return the size of the grid

Definition at line 730 of file SparseGridGpu.hpp.

◆ swap()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::swap ( self gr)
inline

Swap the content of two sarse grid

Parameters
grsparse grid from which to swap

Definition at line 3399 of file SparseGridGpu.hpp.

◆ swap_internal_local()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::swap_internal_local ( )
inlineprivate

Definition at line 656 of file SparseGridGpu.hpp.

◆ swap_internal_remote()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::swap_internal_remote ( )
inlineprivate

Definition at line 646 of file SparseGridGpu.hpp.

◆ swap_local_pack()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::swap_local_pack ( )
inlineprivate

Definition at line 669 of file SparseGridGpu.hpp.

◆ swap_remote_pack()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::swap_remote_pack ( )
inlineprivate

Definition at line 685 of file SparseGridGpu.hpp.

◆ tagBoundaries()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<typename stencil_type = NNStar<dim>, typename checker_type = No_check>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::tagBoundaries ( gpu::ofp_context_t context,
checker_type  chk = checker_type(),
tag_boundaries  opt = tag_boundaries::NO_CALCULATE_EXISTING_POINTS 
)
inline

Definition at line 2287 of file SparseGridGpu.hpp.

◆ toKernel()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
SparseGridGpu_ker< dim, blockEdgeSize, typename BlockMapGpu< AggregateInternalT, threadBlockSize, indexT, layout_base >::AggregateInternalT, ct_par< 0, 1 >, indexT, layout_base, decltype(extendedBlockGeometry), linearizer, AggregateT > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::toKernel ( )
inline

Definition at line 1723 of file SparseGridGpu.hpp.

◆ toKernelNN()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<unsigned int nNN, unsigned int nLoop>
SparseGridGpu_ker< dim, blockEdgeSize, typename BlockMapGpu< AggregateInternalT, threadBlockSize, indexT, layout_base >::AggregateInternalT, ct_par< nNN, nLoop >, indexT, layout_base, decltype(extendedBlockGeometry), linearizer, AggregateT > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::toKernelNN ( )
inline

Definition at line 1761 of file SparseGridGpu.hpp.

◆ type_of_iterator()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
static SparseGridGpu_iterator< dim, self > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::type_of_iterator ( )
inlinestatic

This is a meta-function return which type of iterator a grid produce.

Returns
the type of the sub-grid iterator

Definition at line 751 of file SparseGridGpu.hpp.

◆ type_of_subiterator()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<typename stencil = no_stencil>
static SparseGridGpu_iterator_sub< dim, self > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::type_of_subiterator ( )
inlinestatic

This is a meta-function return which type of sub iterator a grid produce.

Returns
the type of the sub-grid iterator

Definition at line 741 of file SparseGridGpu.hpp.

◆ unpack() [1/3]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<int ... prp>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::unpack ( ExtPreAlloc< CudaMemory > &  mem,
Unpack_stat ps 
)
inline

Unpack the object into the memory.

Template Parameters
prpproperties to pack
Parameters
mempreallocated memory where to pack the objects
stspack statistic

Definition at line 2967 of file SparseGridGpu.hpp.

◆ unpack() [2/3]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<int ... prp>
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::unpack ( ExtPreAlloc< HeapMemory > &  mem,
Unpack_stat ps 
)
inline

Unpack the object into the memory.

Template Parameters
prpproperties to pack
Parameters
mempreallocated memory where to pack the objects
stspack statistic

Definition at line 2944 of file SparseGridGpu.hpp.

◆ unpack() [3/3]

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<unsigned int ... prp, typename S2 >
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::unpack ( ExtPreAlloc< S2 > &  mem,
SparseGridGpu_iterator_sub< dim, self > &  sub_it,
Unpack_stat ps,
gpu::ofp_context_t context,
rem_copy_opt  opt = rem_copy_opt::NONE_OPT 
)
inline

unpack the sub-grid object

Template Parameters
prpproperties to unpack
Parameters
mempreallocated memory from where to unpack the object
subsub-grid iterator
objobject where to unpack

Definition at line 3661 of file SparseGridGpu.hpp.

◆ unpack_headers()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<typename pointers_type , typename headers_type , typename result_type , unsigned int ... prp>
static void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::unpack_headers ( pointers_type &  pointers,
headers_type &  headers,
result_type &  result,
int  n_slot 
)
inlinestatic

Stub does not do anything.

Definition at line 3564 of file SparseGridGpu.hpp.

◆ unpack_with_headers()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<unsigned int ... prp, typename S2 , typename header_type >
void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::unpack_with_headers ( ExtPreAlloc< S2 > &  mem,
SparseGridGpu_iterator_sub< dim, self > &  sub_it,
header_type &  headers,
int  ih,
Unpack_stat ps,
gpu::ofp_context_t context,
rem_copy_opt  opt = rem_copy_opt::NONE_OPT 
)
inline

unpack the sub-grid object

Template Parameters
prpproperties to unpack
Parameters
mempreallocated memory from where to unpack the object
subsub-grid iterator
objobject where to unpack

Definition at line 3591 of file SparseGridGpu.hpp.

◆ unsetPadding()

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
template<typename BitMaskT >
static void SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::unsetPadding ( BitMaskT &  bitMask)
inlinestatic

Definition at line 2747 of file SparseGridGpu.hpp.

Field Documentation

◆ bck

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
AggregateT SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::bck
private

Definition at line 515 of file SparseGridGpu.hpp.

◆ blockEdgeSize_

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
constexpr unsigned int SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::blockEdgeSize_ = blockEdgeSize
staticconstexpr

Definition at line 711 of file SparseGridGpu.hpp.

◆ blockSize

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
constexpr unsigned int SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::blockSize = BlockTypeOf<AggregateBlockT, 0>::size
staticconstexprprotected

Definition at line 703 of file SparseGridGpu.hpp.

◆ box_cp

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<Box<dim,size_t> > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::box_cp
private

Definition at line 569 of file SparseGridGpu.hpp.

◆ box_cp_swp

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<Box<dim,size_t> > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::box_cp_swp
private

Definition at line 570 of file SparseGridGpu.hpp.

◆ box_cp_swp_r

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<Box<dim,size_t> > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::box_cp_swp_r
private

Definition at line 571 of file SparseGridGpu.hpp.

◆ convert_blk

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector_gpu<convertAggr> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::convert_blk
private

Definition at line 566 of file SparseGridGpu.hpp.

◆ convert_blk_swp

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector_gpu<convertAggr> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::convert_blk_swp
private

Definition at line 567 of file SparseGridGpu.hpp.

◆ convert_blk_swp_r

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector_gpu<convertAggr> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::convert_blk_swp_r
private

Definition at line 568 of file SparseGridGpu.hpp.

◆ copySect

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<sparse_grid_section<self> > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::copySect
private

Definition at line 523 of file SparseGridGpu.hpp.

◆ data_base_ptr_cp

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<void *> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::data_base_ptr_cp
private

Definition at line 551 of file SparseGridGpu.hpp.

◆ data_base_ptr_cp_swp

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<void *> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::data_base_ptr_cp_swp
private

Definition at line 552 of file SparseGridGpu.hpp.

◆ data_base_ptr_cp_swp_r

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<void *> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::data_base_ptr_cp_swp_r
private

Definition at line 553 of file SparseGridGpu.hpp.

◆ data_ptrs

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<void *> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::data_ptrs
private

Definition at line 534 of file SparseGridGpu.hpp.

◆ data_ptrs_swp

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<void *> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::data_ptrs_swp
private

Definition at line 535 of file SparseGridGpu.hpp.

◆ data_ptrs_swp_r

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<void *> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::data_ptrs_swp_r
private

Definition at line 536 of file SparseGridGpu.hpp.

◆ dims

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
constexpr unsigned int SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::dims = dim
staticconstexpr

Definition at line 496 of file SparseGridGpu.hpp.

◆ e_points

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector_gpu<aggregate<indexT> > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::e_points
private

set of existing points the formats is id/blockSize = data block poosition id % blockSize = offset

Definition at line 575 of file SparseGridGpu.hpp.

◆ e_points_swp

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector_gpu<aggregate<indexT> > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::e_points_swp
private

Definition at line 576 of file SparseGridGpu.hpp.

◆ e_points_swp_r

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector_gpu<aggregate<indexT> > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::e_points_swp_r
private

Definition at line 577 of file SparseGridGpu.hpp.

◆ extendedBlockGeometry

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
grid_sm<dim, int> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::extendedBlockGeometry
private

Definition at line 507 of file SparseGridGpu.hpp.

◆ findNN

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
bool SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::findNN = false
private

Definition at line 644 of file SparseGridGpu.hpp.

◆ ghostLayerSize

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
unsigned int SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::ghostLayerSize
private

Definition at line 510 of file SparseGridGpu.hpp.

◆ ghostLayerToThreadsMapping

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector_gpu<aggregate<short int,short int> > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::ghostLayerToThreadsMapping
private

For stencil in a block-wise computation we have to load blocks + ghosts area. The ghost area live in neighborhood blocks For example the left ghost margin live in the right part of the left located neighborhood block, the right margin live in the left part of the of the right located neighborhood block, the top ... The first index indicate the index of the point in the block + ghost area, the second index indicate the correspondent neighborhood index (in a star like 0 mean negative x 1 positive x, 1 mean negative y and so on)

Definition at line 589 of file SparseGridGpu.hpp.

◆ gridGeometry

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
linearizer SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::gridGeometry
private

Definition at line 506 of file SparseGridGpu.hpp.

◆ gridSize

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
grid_sm<dim, int> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::gridSize
private

Definition at line 508 of file SparseGridGpu.hpp.

◆ index_ptrs

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<void *> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::index_ptrs
private

Definition at line 528 of file SparseGridGpu.hpp.

◆ index_ptrs_swp

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<void *> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::index_ptrs_swp
private

Definition at line 529 of file SparseGridGpu.hpp.

◆ index_ptrs_swp_r

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<void *> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::index_ptrs_swp_r
private

Definition at line 530 of file SparseGridGpu.hpp.

◆ index_size_swp

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
int SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::index_size_swp = -1
mutableprivate

Size of the index vector packed. These varaible are used to understand if the option KEEP_GEOMETRY can be used keep geometry option infact require that when we record the packing variables the number of chunks (and chunks indexes) does not change

Definition at line 620 of file SparseGridGpu.hpp.

◆ index_size_swp_r

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
int SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::index_size_swp_r = -1
mutableprivate

Definition at line 621 of file SparseGridGpu.hpp.

◆ link_dw

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector_gpu<aggregate<int,short int> > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::link_dw
private

links of the padding points with real points of a finer sparsegrid

Definition at line 630 of file SparseGridGpu.hpp.

◆ link_dw_scan

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector_gpu<aggregate<unsigned int> > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::link_dw_scan
private

scan offsets of the links down

Definition at line 627 of file SparseGridGpu.hpp.

◆ link_up

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector_gpu<aggregate<int,short int> > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::link_up
private

links of the padding points with real points of a finer sparsegrid

Definition at line 636 of file SparseGridGpu.hpp.

◆ link_up_scan

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector_gpu<aggregate<unsigned int> > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::link_up_scan
private

scan offsets of the links down

Definition at line 633 of file SparseGridGpu.hpp.

◆ links_up

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector_gpu<aggregate<size_t> > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::links_up
private

links of the padding points with real points of a coarse sparsegrid

Definition at line 624 of file SparseGridGpu.hpp.

◆ mask_ptrs

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<void *> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::mask_ptrs
private

Definition at line 540 of file SparseGridGpu.hpp.

◆ mask_ptrs_swp

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<void *> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::mask_ptrs_swp
private

Definition at line 541 of file SparseGridGpu.hpp.

◆ mask_ptrs_swp_r

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<void *> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::mask_ptrs_swp_r
private

Definition at line 542 of file SparseGridGpu.hpp.

◆ mem

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
CudaMemory SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::mem
private

Definition at line 525 of file SparseGridGpu.hpp.

◆ n_cnk_cp

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<int> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::n_cnk_cp
private

Definition at line 554 of file SparseGridGpu.hpp.

◆ n_cnk_cp_swp

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<int> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::n_cnk_cp_swp
private

Definition at line 555 of file SparseGridGpu.hpp.

◆ n_cnk_cp_swp_r

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<int> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::n_cnk_cp_swp_r
private

Definition at line 556 of file SparseGridGpu.hpp.

◆ n_pnt_cp

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<int> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::n_pnt_cp
private

Definition at line 557 of file SparseGridGpu.hpp.

◆ n_pnt_cp_swp

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<int> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::n_pnt_cp_swp
private

Definition at line 558 of file SparseGridGpu.hpp.

◆ n_pnt_cp_swp_r

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<int> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::n_pnt_cp_swp_r
private

Definition at line 559 of file SparseGridGpu.hpp.

◆ n_shift_cp_swp

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<int> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::n_shift_cp_swp
private

Definition at line 561 of file SparseGridGpu.hpp.

◆ n_shift_cp_swp_r

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<int> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::n_shift_cp_swp_r
private

Definition at line 562 of file SparseGridGpu.hpp.

◆ n_shifts_cp

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<int> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::n_shifts_cp
private

Definition at line 560 of file SparseGridGpu.hpp.

◆ new_map

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector_gpu<aggregate<int> > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::new_map
mutableprivate

Map between the (Last) added chunks and their position in chunks data.

Definition at line 608 of file SparseGridGpu.hpp.

◆ new_map_swp

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector_gpu<aggregate<int> > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::new_map_swp
mutableprivate

Definition at line 609 of file SparseGridGpu.hpp.

◆ new_map_swp_r

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector_gpu<aggregate<int> > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::new_map_swp_r
mutableprivate

Definition at line 610 of file SparseGridGpu.hpp.

◆ nn_blocks

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector_gpu<aggregate<indexT> > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::nn_blocks
private

Definition at line 591 of file SparseGridGpu.hpp.

◆ offset_ptrs

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<void *> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::offset_ptrs
private

Definition at line 537 of file SparseGridGpu.hpp.

◆ offset_ptrs_cp

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<void *> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::offset_ptrs_cp
private

Definition at line 545 of file SparseGridGpu.hpp.

◆ offset_ptrs_cp_swp

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<void *> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::offset_ptrs_cp_swp
private

Definition at line 546 of file SparseGridGpu.hpp.

◆ offset_ptrs_cp_swp_r

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<void *> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::offset_ptrs_cp_swp_r
private

Definition at line 547 of file SparseGridGpu.hpp.

◆ offset_ptrs_swp

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<void *> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::offset_ptrs_swp
private

Definition at line 538 of file SparseGridGpu.hpp.

◆ offset_ptrs_swp_r

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<void *> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::offset_ptrs_swp_r
private

Definition at line 539 of file SparseGridGpu.hpp.

◆ pack_output

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector_gpu<aggregate<unsigned int> > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::pack_output
private

Helper array to pack points.

Definition at line 580 of file SparseGridGpu.hpp.

◆ pack_output_swp

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector_gpu<aggregate<unsigned int> > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::pack_output_swp
private

Definition at line 581 of file SparseGridGpu.hpp.

◆ pack_output_swp_r

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector_gpu<aggregate<unsigned int> > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::pack_output_swp_r
private

Definition at line 582 of file SparseGridGpu.hpp.

◆ pack_subs

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector_gpu<Box<dim,int> > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::pack_subs
mutableprivate

the set of all sub-set to pack

Definition at line 613 of file SparseGridGpu.hpp.

◆ pack_subs_swp

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector_gpu<Box<dim,int> > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::pack_subs_swp
mutableprivate

Definition at line 614 of file SparseGridGpu.hpp.

◆ pack_subs_swp_r

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector_gpu<Box<dim,int> > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::pack_subs_swp_r
mutableprivate

Definition at line 615 of file SparseGridGpu.hpp.

◆ PADDING_BIT

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
const unsigned char SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::PADDING_BIT = 1
staticprivate

Definition at line 504 of file SparseGridGpu.hpp.

◆ prAlloc_prp

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
ExtPreAlloc<CudaMemory>* SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::prAlloc_prp
private

Memory to remove copy finalize.

Definition at line 639 of file SparseGridGpu.hpp.

◆ rem_sects

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector_gpu<Box<dim,unsigned int> > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::rem_sects
private

Definition at line 520 of file SparseGridGpu.hpp.

◆ req_index

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
int SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::req_index
private

Definition at line 511 of file SparseGridGpu.hpp.

◆ req_index_swp

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
int SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::req_index_swp
private

Definition at line 512 of file SparseGridGpu.hpp.

◆ req_index_swp_r

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
int SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::req_index_swp_r
private

Definition at line 513 of file SparseGridGpu.hpp.

◆ scan_it

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector_gpu<aggregate<indexT> > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::scan_it
mutableprivate

contain the scan of the point for each iterator

Definition at line 605 of file SparseGridGpu.hpp.

◆ scan_ptrs

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<void *> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::scan_ptrs
private

Definition at line 531 of file SparseGridGpu.hpp.

◆ scan_ptrs_cp

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<void *> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::scan_ptrs_cp
private

Definition at line 548 of file SparseGridGpu.hpp.

◆ scan_ptrs_cp_swp

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<void *> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::scan_ptrs_cp_swp
private

Definition at line 549 of file SparseGridGpu.hpp.

◆ scan_ptrs_cp_swp_r

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<void *> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::scan_ptrs_cp_swp_r
private

Definition at line 550 of file SparseGridGpu.hpp.

◆ scan_ptrs_swp

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<void *> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::scan_ptrs_swp
private

Definition at line 532 of file SparseGridGpu.hpp.

◆ scan_ptrs_swp_r

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector<void *> SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::scan_ptrs_swp_r
private

Definition at line 533 of file SparseGridGpu.hpp.

◆ shifts

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector_gpu<aggregate<int[dim]> > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::shifts
private

shifts for chunk conversion

Definition at line 642 of file SparseGridGpu.hpp.

◆ stencilSupportRadius

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
unsigned int SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::stencilSupportRadius
private

Definition at line 509 of file SparseGridGpu.hpp.

◆ tmp

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector_gpu<aggregate<indexT,unsigned int> > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::tmp
mutableprivate

temporal

Definition at line 594 of file SparseGridGpu.hpp.

◆ tmp2

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector_gpu<aggregate<indexT> > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::tmp2
mutableprivate

temporal 2

Definition at line 599 of file SparseGridGpu.hpp.

◆ tmp3

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector_gpu<aggregate<indexT> > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::tmp3
mutableprivate

temporal 3

Definition at line 602 of file SparseGridGpu.hpp.

◆ tmp_swp

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector_gpu<aggregate<indexT,unsigned int> > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::tmp_swp
mutableprivate

Definition at line 595 of file SparseGridGpu.hpp.

◆ tmp_swp_r

template<unsigned int dim, typename AggregateT , unsigned int blockEdgeSize = default_edge<dim>::type::value, unsigned int threadBlockSize = default_edge<dim>::tb::value, typename indexT = long int, template< typename > class layout_base = memory_traits_inte, typename linearizer = grid_smb<dim, blockEdgeSize, indexT>>
openfpm::vector_gpu<aggregate<indexT,unsigned int> > SparseGridGpu< dim, AggregateT, blockEdgeSize, threadBlockSize, indexT, layout_base, linearizer >::tmp_swp_r
mutableprivate

Definition at line 596 of file SparseGridGpu.hpp.


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