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

#include <NonuniformGeneratedGPUPdfPackInfo.h>

Public Types

using LatticeStorageSpecification_T = typename PdfField_T::LatticeStorageSpecification
 
using PackingKernels_T = typename LatticeStorageSpecification_T::PackKernels
 
using value_type = typename PdfField_T::value_type
 

Public Member Functions

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

Private Attributes

PackingKernels_T kernels_
 

Member Typedef Documentation

◆ LatticeStorageSpecification_T

template<typename PdfField_T >
using walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, false >::LatticeStorageSpecification_T = typename PdfField_T::LatticeStorageSpecification

◆ PackingKernels_T

template<typename PdfField_T >
using walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, false >::PackingKernels_T = typename LatticeStorageSpecification_T::PackKernels

◆ value_type

Member Function Documentation

◆ blockLocalCopyDirection()

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

◆ blockWise()

template<typename PdfField_T >
bool walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, false >::blockWise ( ) const
inline

◆ localCopyAll()

template<typename PdfField_T >
void walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, false >::localCopyAll ( PdfField_T * srcField,
CellInterval srcInterval,
PdfField_T * dstField,
CellInterval dstInterval,
gpuStream_t stream = nullptr ) const
inline

◆ localCopyDirection()

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

◆ localCopyRedistribute()

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

◆ localPartialCoalescence()

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

◆ packAll()

template<typename PdfField_T >
void walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, false >::packAll ( PdfField_T * srcField,
CellInterval ci,
unsigned char * outBuffer,
gpuStream_t stream = nullptr ) const
inline

◆ packDirection()

template<typename PdfField_T >
void walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, false >::packDirection ( PdfField_T * srcField,
CellInterval ci,
unsigned char * outBuffer,
Direction dir,
gpuStream_t stream = nullptr ) const
inline

◆ packPartialCoalescence()

template<typename PdfField_T >
void walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, false >::packPartialCoalescence ( PdfField_T * srcField,
PartialCoalescenceMaskFieldGPU * maskField,
CellInterval ci,
unsigned char * outBuffer,
Direction dir,
gpuStream_t stream = nullptr ) const
inline

◆ partialCoalescenceSize()

template<typename PdfField_T >
uint_t walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, false >::partialCoalescenceSize ( CellInterval ci,
Direction dir ) const
inline

◆ redistributeSize()

template<typename PdfField_T >
uint_t walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, false >::redistributeSize ( CellInterval ci) const
inline

◆ size() [1/2]

◆ size() [2/2]

template<typename PdfField_T >
uint_t walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, false >::size ( CellInterval ci,
Direction dir ) const
inline

◆ unpackAll()

template<typename PdfField_T >
void walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, false >::unpackAll ( PdfField_T * dstField,
CellInterval ci,
unsigned char * inBuffer,
gpuStream_t stream = nullptr ) const
inline

◆ unpackCoalescence()

template<typename PdfField_T >
void walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, false >::unpackCoalescence ( PdfField_T * dstField,
CellInterval ci,
unsigned char * inBuffer,
Direction dir,
gpuStream_t stream = nullptr ) const
inline

◆ unpackDirection()

template<typename PdfField_T >
void walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, false >::unpackDirection ( PdfField_T * dstField,
CellInterval ci,
unsigned char * inBuffer,
Direction dir,
gpuStream_t stream = nullptr ) const
inline

◆ unpackRedistribute()

template<typename PdfField_T >
void walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, false >::unpackRedistribute ( PdfField_T * dstField,
CellInterval ci,
unsigned char * inBuffer,
stencil::Direction dir,
gpuStream_t stream = nullptr ) const
inline

◆ zeroCoalescenceRegion()

template<typename PdfField_T >
void walberla::lbm_generated::internal::NonuniformGPUPackingKernelsWrapper< PdfField_T, false >::zeroCoalescenceRegion ( PdfField_T * dstField,
CellInterval ci,
Direction dir,
gpuStream_t stream = nullptr ) const
inline

Member Data Documentation

◆ kernels_


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