Class BoundaryCarrier

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.