waLBerla 7.2
Loading...
Searching...
No Matches
walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, inplace > Class Template Referenceabstract

#include <NonuniformGeneratedGPUPdfPackInfo.h>

Public Types

using value_type = typename PdfField_T::value_type
 

Public Member Functions

void packAll (PdfField_T *srcField, CellInterval ci, unsigned char *outBuffer, gpuStream_t stream) const =0
 
void unpackAll (PdfField_T *dstField, CellInterval ci, unsigned char *inBuffer, gpuStream_t stream) const =0
 
void localCopyAll (PdfField_T *srcField, CellInterval srcInterval, PdfField_T *dstField, CellInterval dstInterval, gpuStream_t stream) const =0
 
void packDirection (PdfField_T *srcField, CellInterval ci, unsigned char *outBuffer, Direction dir, gpuStream_t stream) const =0
 
void unpackDirection (PdfField_T *dstField, CellInterval ci, unsigned char *inBuffer, Direction dir, gpuStream_t stream) const =0
 
void localCopyDirection (PdfField_T *srcField, CellInterval srcInterval, PdfField_T *dstField, CellInterval dstInterval, Direction dir, gpuStream_t stream) const =0
 
void blockLocalCopyDirection (value_type **data_pdfs_src_dp, value_type **data_pdfs_dst_dp, Direction dir, uint8_t timestep, gpuStream_t stream, std::array< int64_t, 4 > &sizes, std::array< int64_t, 4 > &strides) const =0
 
void localCopyRedistribute (PdfField_T *srcField, CellInterval srcInterval, PdfField_T *dstField, CellInterval dstInterval, Direction dir, gpuStream_t stream) const =0
 
void localPartialCoalescence (PdfField_T *srcField, PartialCoalescenceMaskFieldGPU *maskField, CellInterval srcInterval, PdfField_T *dstField, CellInterval dstInterval, Direction dir, gpuStream_t stream) const =0
 
void unpackRedistribute (PdfField_T *dstField, CellInterval ci, unsigned char *inBuffer, stencil::Direction dir, gpuStream_t stream) const =0
 
void packPartialCoalescence (PdfField_T *srcField, PartialCoalescenceMaskFieldGPU *maskField, CellInterval ci, unsigned char *outBuffer, Direction dir, gpuStream_t stream) const =0
 
void zeroCoalescenceRegion (PdfField_T *dstField, CellInterval ci, Direction dir) const =0
 
void unpackCoalescence (PdfField_T *dstField, CellInterval ci, unsigned char *inBuffer, Direction dir, gpuStream_t stream) const =0
 
uint_t size (CellInterval ci, Direction dir) const =0
 
uint_t size (CellInterval ci) const =0
 
uint_t redistributeSize (CellInterval ci) const =0
 
uint_t partialCoalescenceSize (CellInterval ci, Direction dir) const =0
 
bool blockWise () const =0
 

Member Typedef Documentation

◆ value_type

template<typename PdfField_T , bool inplace>
using walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, inplace >::value_type = typename PdfField_T::value_type

Member Function Documentation

◆ blockLocalCopyDirection()

template<typename PdfField_T , bool inplace>
void walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, inplace >::blockLocalCopyDirection ( value_type ** data_pdfs_src_dp,
value_type ** data_pdfs_dst_dp,
Direction dir,
uint8_t timestep,
gpuStream_t stream,
std::array< int64_t, 4 > & sizes,
std::array< int64_t, 4 > & strides ) const
pure virtual

◆ blockWise()

template<typename PdfField_T , bool inplace>
bool walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, inplace >::blockWise ( ) const
pure virtual

◆ localCopyAll()

template<typename PdfField_T , bool inplace>
void walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, inplace >::localCopyAll ( PdfField_T * srcField,
CellInterval srcInterval,
PdfField_T * dstField,
CellInterval dstInterval,
gpuStream_t stream ) const
pure virtual

◆ localCopyDirection()

template<typename PdfField_T , bool inplace>
void walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, inplace >::localCopyDirection ( PdfField_T * srcField,
CellInterval srcInterval,
PdfField_T * dstField,
CellInterval dstInterval,
Direction dir,
gpuStream_t stream ) const
pure virtual

◆ localCopyRedistribute()

template<typename PdfField_T , bool inplace>
void walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, inplace >::localCopyRedistribute ( PdfField_T * srcField,
CellInterval srcInterval,
PdfField_T * dstField,
CellInterval dstInterval,
Direction dir,
gpuStream_t stream ) const
pure virtual

◆ localPartialCoalescence()

template<typename PdfField_T , bool inplace>
void walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, inplace >::localPartialCoalescence ( PdfField_T * srcField,
PartialCoalescenceMaskFieldGPU * maskField,
CellInterval srcInterval,
PdfField_T * dstField,
CellInterval dstInterval,
Direction dir,
gpuStream_t stream ) const
pure virtual

◆ packAll()

template<typename PdfField_T , bool inplace>
void walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, inplace >::packAll ( PdfField_T * srcField,
CellInterval ci,
unsigned char * outBuffer,
gpuStream_t stream ) const
pure virtual

◆ packDirection()

template<typename PdfField_T , bool inplace>
void walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, inplace >::packDirection ( PdfField_T * srcField,
CellInterval ci,
unsigned char * outBuffer,
Direction dir,
gpuStream_t stream ) const
pure virtual

◆ packPartialCoalescence()

template<typename PdfField_T , bool inplace>
void walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, inplace >::packPartialCoalescence ( PdfField_T * srcField,
PartialCoalescenceMaskFieldGPU * maskField,
CellInterval ci,
unsigned char * outBuffer,
Direction dir,
gpuStream_t stream ) const
pure virtual

◆ partialCoalescenceSize()

template<typename PdfField_T , bool inplace>
uint_t walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, inplace >::partialCoalescenceSize ( CellInterval ci,
Direction dir ) const
pure virtual

◆ redistributeSize()

template<typename PdfField_T , bool inplace>
uint_t walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, inplace >::redistributeSize ( CellInterval ci) const
pure virtual

◆ size() [1/2]

template<typename PdfField_T , bool inplace>
uint_t walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, inplace >::size ( CellInterval ci) const
pure virtual

◆ size() [2/2]

template<typename PdfField_T , bool inplace>
uint_t walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, inplace >::size ( CellInterval ci,
Direction dir ) const
pure virtual

◆ unpackAll()

template<typename PdfField_T , bool inplace>
void walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, inplace >::unpackAll ( PdfField_T * dstField,
CellInterval ci,
unsigned char * inBuffer,
gpuStream_t stream ) const
pure virtual

◆ unpackCoalescence()

template<typename PdfField_T , bool inplace>
void walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, inplace >::unpackCoalescence ( PdfField_T * dstField,
CellInterval ci,
unsigned char * inBuffer,
Direction dir,
gpuStream_t stream ) const
pure virtual

◆ unpackDirection()

template<typename PdfField_T , bool inplace>
void walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, inplace >::unpackDirection ( PdfField_T * dstField,
CellInterval ci,
unsigned char * inBuffer,
Direction dir,
gpuStream_t stream ) const
pure virtual

◆ unpackRedistribute()

template<typename PdfField_T , bool inplace>
void walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, inplace >::unpackRedistribute ( PdfField_T * dstField,
CellInterval ci,
unsigned char * inBuffer,
stencil::Direction dir,
gpuStream_t stream ) const
pure virtual

◆ zeroCoalescenceRegion()

template<typename PdfField_T , bool inplace>
void walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, inplace >::zeroCoalescenceRegion ( PdfField_T * dstField,
CellInterval ci,
Direction dir ) const
pure virtual

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