Class OutputKernel

Inheritance Relationships

Base Type

Class Documentation

class ral::batch::OutputKernel : public ral::cache::kernel

This kernel represents the last step of the execution graph. Basically it allows to extract the result of the different levels of memory abstractions in the form of a concrete table.

Public Functions

inline OutputKernel(std::size_t kernel_id, std::shared_ptr<Context> context)

Constructor for OutputKernel

  • kernel_id: Kernel identifier.

  • context: Shared context associated to the running query.

inline virtual std::string kernel_name()
inline ral::execution::task_result do_process(std::vector<std::unique_ptr<ral::frame::BlazingTable>>, std::shared_ptr<ral::cache::CacheMachine>, cudaStream_t, const std::map<std::string, std::string>&) override
virtual kstatus run() override

Executes the batch processing. Loads the data from their input port, and after processing it, the results are stored in their output port.


kstatus ‘stop’ to halt processing, or ‘proceed’ to continue processing.

frame_type release()

Returns the vector containing the final processed output.


frame_type A vector of unique_ptr of BlazingTables.

bool is_done()

Returns true when the OutputKernel is done

Protected Attributes

frame_type output

Vector of tables with the final output.

std::atomic<bool> done