ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
walberla::pystencils::StreamSweepDoublePrecisionCUDA Class Reference

#include <StreamSweepDoublePrecisionCUDA.h>

Public Member Functions

 StreamSweepDoublePrecisionCUDA (BlockDataID forceID_, BlockDataID pdfsID_, BlockDataID velocityID_)
 
 ~StreamSweepDoublePrecisionCUDA ()
 
void run (IBlock *block, gpuStream_t stream=nullptr)
 
void runOnCellInterval (const shared_ptr< StructuredBlockStorage > &blocks, const CellInterval &globalCellInterval, cell_idx_t ghostLayers, IBlock *block, gpuStream_t stream=nullptr)
 
void operator() (IBlock *block, gpuStream_t stream=nullptr)
 
std::function< void(IBlock *)> getSweep (gpuStream_t stream=nullptr)
 
std::function< void(IBlock *)> getSweepOnCellInterval (const shared_ptr< StructuredBlockStorage > &blocks, const CellInterval &globalCellInterval, cell_idx_t ghostLayers=1, gpuStream_t stream=nullptr)
 
void configure (const shared_ptr< StructuredBlockStorage > &blocks, IBlock *block)
 

Static Public Member Functions

static std::function< void(IBlock *)> getSweep (const shared_ptr< StreamSweepDoublePrecisionCUDA > &kernel)
 
static std::function< void(IBlock *, gpuStream_t)> getSweepOnCellInterval (const shared_ptr< StreamSweepDoublePrecisionCUDA > &kernel, const shared_ptr< StructuredBlockStorage > &blocks, const CellInterval &globalCellInterval, cell_idx_t ghostLayers=1)
 

Public Attributes

BlockDataID forceID
 
BlockDataID pdfsID
 
BlockDataID velocityID
 

Detailed Description

Definition at line 55 of file StreamSweepDoublePrecisionCUDA.h.

Constructor & Destructor Documentation

◆ StreamSweepDoublePrecisionCUDA()

walberla::pystencils::StreamSweepDoublePrecisionCUDA::StreamSweepDoublePrecisionCUDA ( BlockDataID  forceID_,
BlockDataID  pdfsID_,
BlockDataID  velocityID_ 
)
inline

Definition at line 57 of file StreamSweepDoublePrecisionCUDA.h.

◆ ~StreamSweepDoublePrecisionCUDA()

walberla::pystencils::StreamSweepDoublePrecisionCUDA::~StreamSweepDoublePrecisionCUDA ( )
inline

Definition at line 61 of file StreamSweepDoublePrecisionCUDA.h.

Member Function Documentation

◆ configure()

void walberla::pystencils::StreamSweepDoublePrecisionCUDA::configure ( const shared_ptr< StructuredBlockStorage > &  blocks,
IBlock *  block 
)
inline

Definition at line 109 of file StreamSweepDoublePrecisionCUDA.h.

◆ getSweep() [1/2]

static std::function< void(IBlock *)> walberla::pystencils::StreamSweepDoublePrecisionCUDA::getSweep ( const shared_ptr< StreamSweepDoublePrecisionCUDA > &  kernel)
inlinestatic

Definition at line 79 of file StreamSweepDoublePrecisionCUDA.h.

◆ getSweep() [2/2]

std::function< void(IBlock *)> walberla::pystencils::StreamSweepDoublePrecisionCUDA::getSweep ( gpuStream_t  stream = nullptr)
inline

Definition at line 94 of file StreamSweepDoublePrecisionCUDA.h.

References run(), and stream.

◆ getSweepOnCellInterval() [1/2]

static std::function< void(IBlock *, gpuStream_t)> walberla::pystencils::StreamSweepDoublePrecisionCUDA::getSweepOnCellInterval ( const shared_ptr< StreamSweepDoublePrecisionCUDA > &  kernel,
const shared_ptr< StructuredBlockStorage > &  blocks,
const CellInterval &  globalCellInterval,
cell_idx_t  ghostLayers = 1 
)
inlinestatic

Definition at line 83 of file StreamSweepDoublePrecisionCUDA.h.

References stream.

◆ getSweepOnCellInterval() [2/2]

std::function< void(IBlock *)> walberla::pystencils::StreamSweepDoublePrecisionCUDA::getSweepOnCellInterval ( const shared_ptr< StructuredBlockStorage > &  blocks,
const CellInterval &  globalCellInterval,
cell_idx_t  ghostLayers = 1,
gpuStream_t  stream = nullptr 
)
inline

Definition at line 99 of file StreamSweepDoublePrecisionCUDA.h.

References runOnCellInterval(), and stream.

◆ operator()()

void walberla::pystencils::StreamSweepDoublePrecisionCUDA::operator() ( IBlock *  block,
gpuStream_t  stream = nullptr 
)
inline

Definition at line 74 of file StreamSweepDoublePrecisionCUDA.h.

References block(), run(), and stream.

◆ run()

void walberla::pystencils::StreamSweepDoublePrecisionCUDA::run ( IBlock *  block,
gpuStream_t  stream = nullptr 
)

Definition at line 109 of file StreamSweepDoublePrecisionCUDA.cu.

References block(), forceID, pdfsID, RESTRICT, velocity(), and velocityID.

Referenced by getSweep(), and operator()().

◆ runOnCellInterval()

void walberla::pystencils::StreamSweepDoublePrecisionCUDA::runOnCellInterval ( const shared_ptr< StructuredBlockStorage > &  blocks,
const CellInterval &  globalCellInterval,
cell_idx_t  ghostLayers,
IBlock *  block,
gpuStream_t  stream = nullptr 
)

Definition at line 169 of file StreamSweepDoublePrecisionCUDA.cu.

References block(), forceID, pdfsID, RESTRICT, velocity(), and velocityID.

Referenced by getSweepOnCellInterval().

Member Data Documentation

◆ forceID

BlockDataID walberla::pystencils::StreamSweepDoublePrecisionCUDA::forceID

Definition at line 112 of file StreamSweepDoublePrecisionCUDA.h.

Referenced by run(), and runOnCellInterval().

◆ pdfsID

BlockDataID walberla::pystencils::StreamSweepDoublePrecisionCUDA::pdfsID

Definition at line 113 of file StreamSweepDoublePrecisionCUDA.h.

Referenced by run(), and runOnCellInterval().

◆ velocityID

BlockDataID walberla::pystencils::StreamSweepDoublePrecisionCUDA::velocityID

Definition at line 114 of file StreamSweepDoublePrecisionCUDA.h.

Referenced by run(), and runOnCellInterval().


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