waLBerla 7.2
Loading...
Searching...
No Matches
walberla::lbm::CombinedInPlaceGpuPackInfo< EvenPackInfo, OddPackInfo > Class Template Reference

#include <CombinedInPlaceGpuPackInfo.h>

+ Inheritance diagram for walberla::lbm::CombinedInPlaceGpuPackInfo< EvenPackInfo, OddPackInfo >:

Public Member Functions

template<typename... Args>
 CombinedInPlaceGpuPackInfo (std::shared_ptr< lbm::TimestepTracker > &tracker, Args &&... args)
 
virtual ~CombinedInPlaceGpuPackInfo ()=default
 
void pack (stencil::Direction dir, unsigned char *buffer, IBlock *block, gpuStream_t stream) override
 Pack data from a block into a send buffer.
 
void unpack (stencil::Direction dir, unsigned char *buffer, IBlock *block, gpuStream_t stream) override
 Unpack data from a receive buffer into a block.
 
uint_t size (stencil::Direction dir, IBlock *block) override
 
- Public Member Functions inherited from walberla::gpu::GeneratedGPUPackInfo
 GeneratedGPUPackInfo ()=default
 
virtual ~GeneratedGPUPackInfo ()=default
 
virtual void communicateLocal (stencil::Direction dir, const IBlock *sender, IBlock *receiver, gpuStream_t stream)=0
 Copy data from one local block to another local block.
 

Private Attributes

const std::shared_ptr< lbm::TimestepTracker > & tracker_
 
EvenPackInfo evenPackInfo_
 
OddPackInfo oddPackInfo_
 

Constructor & Destructor Documentation

◆ CombinedInPlaceGpuPackInfo()

template<typename EvenPackInfo , typename OddPackInfo >
template<typename... Args>
walberla::lbm::CombinedInPlaceGpuPackInfo< EvenPackInfo, OddPackInfo >::CombinedInPlaceGpuPackInfo ( std::shared_ptr< lbm::TimestepTracker > & tracker,
Args &&... args )
inline

◆ ~CombinedInPlaceGpuPackInfo()

template<typename EvenPackInfo , typename OddPackInfo >
virtual walberla::lbm::CombinedInPlaceGpuPackInfo< EvenPackInfo, OddPackInfo >::~CombinedInPlaceGpuPackInfo ( )
virtualdefault

Member Function Documentation

◆ pack()

template<typename EvenPackInfo , typename OddPackInfo >
void walberla::lbm::CombinedInPlaceGpuPackInfo< EvenPackInfo, OddPackInfo >::pack ( stencil::Direction dir,
unsigned char * buffer,
IBlock * block,
gpuStream_t stream )
inlineoverridevirtual

Pack data from a block into a send buffer.

Parameters
dirpack data for neighbor in this direction
bufferbuffer for writing the data into
blockthe block whose data should be packed into a buffer
streamGPU stream

Implements walberla::gpu::GeneratedGPUPackInfo.

◆ size()

template<typename EvenPackInfo , typename OddPackInfo >
uint_t walberla::lbm::CombinedInPlaceGpuPackInfo< EvenPackInfo, OddPackInfo >::size ( stencil::Direction dir,
IBlock * block )
inlineoverridevirtual

◆ unpack()

template<typename EvenPackInfo , typename OddPackInfo >
void walberla::lbm::CombinedInPlaceGpuPackInfo< EvenPackInfo, OddPackInfo >::unpack ( stencil::Direction dir,
unsigned char * buffer,
IBlock * block,
gpuStream_t stream )
inlineoverridevirtual

Unpack data from a receive buffer into a block.

Parameters
dirreceive data from neighbor in this direction
bufferbuffer for reading the data from
blockthe block where the unpacked data should be stored into
streamGPU stream

Implements walberla::gpu::GeneratedGPUPackInfo.

Member Data Documentation

◆ evenPackInfo_

template<typename EvenPackInfo , typename OddPackInfo >
EvenPackInfo walberla::lbm::CombinedInPlaceGpuPackInfo< EvenPackInfo, OddPackInfo >::evenPackInfo_
private

◆ oddPackInfo_

template<typename EvenPackInfo , typename OddPackInfo >
OddPackInfo walberla::lbm::CombinedInPlaceGpuPackInfo< EvenPackInfo, OddPackInfo >::oddPackInfo_
private

◆ tracker_

template<typename EvenPackInfo , typename OddPackInfo >
const std::shared_ptr< lbm::TimestepTracker >& walberla::lbm::CombinedInPlaceGpuPackInfo< EvenPackInfo, OddPackInfo >::tracker_
private

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