24#ifndef GPU_CUDA_MASK_H_
25#define GPU_CUDA_MASK_H_
49 void set(std::size_t i,
bool active) {
50 if ( _mask[i] && !active) {
52 }
else if (!_mask[i] && active) {
79 std::size_t getNblock()
const override;
81 std::size_t getSerializableSize()
const override;
83 bool* getBlock(std::size_t iBlock, std::size_t& sizeBlock,
bool loadingMode)
override;
90 return 1 + _mask.getNblock();
96 return sizeof(_weight) + _mask.getSerializableSize();
102 std::size_t currentBlock = 0;
103 bool* dataPtr =
nullptr;
105 registerVar(iBlock, sizeBlock, currentBlock, dataPtr, _weight);
106 registerSerializableOfConstSize(iBlock, sizeBlock, currentBlock, dataPtr, _mask, loadingMode);
Base class for serializable objects of constant size. For dynamic size use BufferSerializable.
Plain column for CUDA GPU targets.
const T * deviceData() const
void setProcessingContext(ProcessingContext)
Top level namespace for all of OpenLB.
ProcessingContext
OpenLB processing contexts.
@ Simulation
Data available on host for e.g. functor evaluation.
Platform
OpenLB execution targets.
@ GPU_CUDA
Vector CPU (AVX2 / AVX-512 collision)
Abstract declarator of Column-like storage.