NebulaStream  0.6.213
NebulaStream is a data and application management framework for the internet of things
GPUPipelineQueryExecutionTest.cpp File Reference
#include <API/QueryAPI.hpp>
#include <API/Schema.hpp>
#include <BaseIntegrationTest.hpp>
#include <Catalogs/Source/PhysicalSource.hpp>
#include <Catalogs/Source/SourceCatalog.hpp>
#include <Catalogs/Topology/TopologyNode.hpp>
#include <Catalogs/UDF/UDFCatalog.hpp>
#include <Configurations/Worker/PhysicalSourceTypes/DefaultSourceType.hpp>
#include <Network/NetworkChannel.hpp>
#include <Operators/LogicalOperators/LogicalFilterOperator.hpp>
#include <Operators/LogicalOperators/Sources/SourceDescriptor.hpp>
#include <Operators/LogicalOperators/Sources/SourceLogicalOperator.hpp>
#include <Optimizer/Phases/TypeInferencePhase.hpp>
#include <QueryCompiler/Operators/PhysicalOperators/PhysicalExternalOperator.hpp>
#include <QueryCompiler/QueryCompilationRequest.hpp>
#include <Runtime/Execution/ExecutablePipelineStage.hpp>
#include <Runtime/Execution/PipelineExecutionContext.hpp>
#include <Runtime/FixedSizeBufferPool.hpp>
#include <Runtime/GPURuntime/CUDAKernelWrapper.hpp>
#include <Runtime/LocalBufferPool.hpp>
#include <Runtime/MemoryLayout/ColumnLayout.hpp>
#include <Runtime/MemoryLayout/ColumnLayoutField.hpp>
#include <Runtime/MemoryLayout/RowLayout.hpp>
#include <Runtime/MemoryLayout/RowLayoutField.hpp>
#include <Runtime/NodeEngineBuilder.hpp>
#include <Runtime/WorkerContext.hpp>
#include <Sources/SourceCreator.hpp>
#include <Util/DummySink.hpp>
#include <Util/Logger/Logger.hpp>
#include <Util/SchemaSourceDescriptor.hpp>
#include <Util/TestQuery.hpp>
#include <Util/TestQueryCompiler.hpp>
#include <Util/TestSink.hpp>
#include <Util/TestSinkDescriptor.hpp>
#include <Util/TestSourceDescriptor.hpp>
#include <Util/TestUtils.hpp>
#include <cuda.h>
#include <cuda_runtime.h>
#include <iostream>
#include <utility>
Include dependency graph for GPUPipelineQueryExecutionTest.cpp:

Classes

class  GPUQueryExecutionTest
 
class  SimpleGPUPipelineStage
 
class  MultifieldGPUPipelineStage
 
class  ColumnLayoutGPUPipelineStage
 
class  WindowedAggregationGPUPipelineStage
 
struct  WindowedAggregationGPUPipelineStage::InputRecord
 
struct  WindowedAggregationGPUPipelineStage::OutputRecord
 

Macros

#define NUMBER_OF_TUPLE   10
 

Typedefs

using TupleDataType = int
 

Functions

void cleanUpPlan (Runtime::Execution::ExecutableQueryPlanPtr plan)
 
void fillBufferToSimpleSchema (TupleBuffer &buf, const Runtime::MemoryLayouts::RowLayoutPtr &memoryLayout)
 
void fillBufferToMultiFieldSchema (TupleBuffer &buf, const Runtime::MemoryLayouts::RowLayoutPtr &memoryLayout)
 
void fillBufferToWindowSchema (TupleBuffer &buf, const Runtime::MemoryLayouts::RowLayoutPtr &memoryLayout, const size_t numTuples)
 
void fillBufferColumnLayout (TupleBuffer &buf, const Runtime::MemoryLayouts::ColumnLayoutPtr &memoryLayout)
 
 TEST_F (GPUQueryExecutionTest, GPUOperatorSimpleQuery)
 
 TEST_F (GPUQueryExecutionTest, GPUOperatorWithMultipleFields)
 
 TEST_F (GPUQueryExecutionTest, GPUOperatorOnColumnLayout)
 
 TEST_F (GPUQueryExecutionTest, GPUOperatorWindowedAggregation)
 

Macro Definition Documentation

◆ NUMBER_OF_TUPLE

#define NUMBER_OF_TUPLE   10

Typedef Documentation

◆ TupleDataType

using TupleDataType = int

Function Documentation

◆ cleanUpPlan()

void cleanUpPlan ( Runtime::Execution::ExecutableQueryPlanPtr  plan)

References magic_enum::detail::for_each().

Referenced by TEST_F().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fillBufferColumnLayout()

void fillBufferColumnLayout ( TupleBuffer buf,
const Runtime::MemoryLayouts::ColumnLayoutPtr memoryLayout 
)

References NES::Runtime::MemoryLayouts::ColumnLayoutField< T, boundaryChecks >::create(), NUMBER_OF_TUPLE, and NES::Runtime::TupleBuffer::setNumberOfTuples().

Referenced by TEST_F().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fillBufferToMultiFieldSchema()

void fillBufferToMultiFieldSchema ( TupleBuffer buf,
const Runtime::MemoryLayouts::RowLayoutPtr memoryLayout 
)

References NES::Runtime::MemoryLayouts::RowLayoutField< T, boundaryChecks >::create(), NUMBER_OF_TUPLE, and NES::Runtime::TupleBuffer::setNumberOfTuples().

Referenced by TEST_F().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fillBufferToSimpleSchema()

void fillBufferToSimpleSchema ( TupleBuffer buf,
const Runtime::MemoryLayouts::RowLayoutPtr memoryLayout 
)

References NES::Runtime::MemoryLayouts::RowLayoutField< T, boundaryChecks >::create(), NUMBER_OF_TUPLE, and NES::Runtime::TupleBuffer::setNumberOfTuples().

Referenced by TEST_F().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fillBufferToWindowSchema()

void fillBufferToWindowSchema ( TupleBuffer buf,
const Runtime::MemoryLayouts::RowLayoutPtr memoryLayout,
const size_t  numTuples 
)

References NES::Runtime::MemoryLayouts::RowLayoutField< T, boundaryChecks >::create(), and NES::Runtime::TupleBuffer::setNumberOfTuples().

Referenced by TEST_F().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TEST_F() [1/4]

◆ TEST_F() [2/4]

◆ TEST_F() [3/4]

◆ TEST_F() [4/4]