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) {
75 std::size_t getNblock()
const override;
77 std::size_t getSerializableSize()
const override;
79 bool* getBlock(std::size_t iBlock, std::size_t& sizeBlock,
bool loadingMode)
override;
86 return 1 + _mask.getNblock();
92 return sizeof(_weight) + _mask.getSerializableSize();
98 std::size_t currentBlock = 0;
99 bool* dataPtr =
nullptr;
101 registerVar(iBlock, sizeBlock, currentBlock, dataPtr, _weight);
102 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)