Class BoundaryCarrier
Defined in File boundary_carrier.h
Class Documentation
-
class BoundaryCarrier
Object managing boundary flux data on GPU.
This class pins the host static boundary flux banks owned by SweepBoundary and allocates matching device memory for each groupset.
Public Functions
-
BoundaryCarrier(BoundaryBank &bank, const std::vector<LBSGroupset> &groupsets)
Constructor from the list of groupsets.
-
void UploadToDevice(int groupset_id)
Copy the boundary flux data for the specified groupset from host to device.
-
void DownloadToHost(int groupset_id)
Copy the boundary flux data for the specified groupset from device to host.
-
inline double *GetDevicePtr(int groupset_id)
Get device pointer of a given groupset.
Protected Attributes
-
std::vector<crb::DeviceMemory<double>> device_boundary_flux_
Boundary flux storage indexed by groupset ID.
-
BoundaryBank &bank_
Reference to boundary bank.
-
BoundaryCarrier(BoundaryBank &bank, const std::vector<LBSGroupset> &groupsets)