Class GPUCacheData

Inheritance Relationships

Base Type

Class Documentation

class ral::cache::GPUCacheData : public ral::cache::CacheData

A CacheData that keeps its dataframe in GPU memory. This is a CacheData representation that wraps a ral::frame::BlazingTable. It is the most performant since its construction and decaching are basically no ops.

Public Functions

inline GPUCacheData(std::unique_ptr<ral::frame::BlazingTable> table)


  • table: The BlazingTable that is moved into the CacheData.

inline GPUCacheData(std::unique_ptr<ral::frame::BlazingTable> table, const MetadataDictionary &metadata)


  • table: The BlazingTable that is moved into the CacheData.

  • metadata: The metadata that will be used in transport and planning.

inline virtual std::unique_ptr<ral::frame::BlazingTable> decache() override

Move the BlazingTable out of this Cache This function only exists so that we can interact with all cache data by calling decache on them.


The BlazingTable that was used to construct this CacheData.

inline virtual size_t sizeInBytes() const override

Get the amount of GPU memory consumed by this CacheData Having this function allows us to have one api for seeing the consumption of all the CacheData objects that are currently in Caches.


The number of bytes the BlazingTable consumes.

inline virtual void set_names(const std::vector<std::string> &names) override

Set the names of the columns of a BlazingTable.

  • names: a vector of the column names.

inline virtual ~GPUCacheData()


inline ral::frame::BlazingTableView getTableView()

Get a ral::frame::BlazingTableView of the underlying data. This allows you to read the data while it remains in cache.


a view of the data in this instance.

inline void set_data(std::unique_ptr<ral::frame::BlazingTable> table)

Protected Attributes

std::unique_ptr<ral::frame::BlazingTable> data

Stores the data to be returned in decache