OmniSciDB
a5dc49c757
|
#include <QueryEngine.h>
Public Member Functions | |
QueryEngine (CudaMgr_Namespace::CudaMgr *cuda_mgr, bool cpu_only) | |
~QueryEngine () | |
CUstream | getCudaStream () |
CUstream | getCudaStreamForDevice (int device_num) |
Static Public Member Functions | |
static std::shared_ptr < QueryEngine > | getInstance () |
static std::shared_ptr < QueryEngine > | createInstance (CudaMgr_Namespace::CudaMgr *cuda_mgr, bool cpu_only) |
Public Attributes | |
std::unique_ptr < CodeCacheAccessor < CpuCompilationContext > > | s_stubs_accessor |
std::unique_ptr < CodeCacheAccessor < CpuCompilationContext > > | s_code_accessor |
std::unique_ptr < CodeCacheAccessor < CpuCompilationContext > > | cpu_code_accessor |
std::unique_ptr < CodeCacheAccessor < GpuCompilationContext > > | gpu_code_accessor |
std::unique_ptr < CodeCacheAccessor < CompilationContext > > | tf_code_accessor |
Private Attributes | |
CudaMgr_Namespace::CudaMgr * | cuda_mgr_ |
std::vector< CUstream > | cuda_streams_ |
Static Private Attributes | |
static std::mutex | mutex_ |
static std::weak_ptr< QueryEngine > | instance_ |
Definition at line 14 of file QueryEngine.h.
|
inline |
Definition at line 16 of file QueryEngine.h.
References checkCudaErrors(), cuda_mgr_, cuda_streams_, g_query_engine_cuda_streams, CudaMgr_Namespace::CudaMgr::getContext(), CudaMgr_Namespace::CudaMgr::getDeviceCount(), logger::INFO, LOG, and CudaMgr_Namespace::CudaMgr::setContext().
|
inline |
Definition at line 60 of file QueryEngine.h.
References checkCudaErrors(), cuda_streams_, and g_query_engine_cuda_streams.
|
inlinestatic |
Definition at line 97 of file QueryEngine.h.
References instance_, and mutex_.
Referenced by DBHandler::initialize(), and QueryRunner::QueryRunner::QueryRunner().
|
inline |
Definition at line 70 of file QueryEngine.h.
References cuda_mgr_, g_query_engine_cuda_streams, CudaMgr_Namespace::CudaMgr::getContext(), and getCudaStreamForDevice().
|
inline |
Definition at line 79 of file QueryEngine.h.
References CHECK_GE, CHECK_LT, cuda_streams_, and g_query_engine_cuda_streams.
Referenced by getCudaStream().
|
inlinestatic |
Definition at line 89 of file QueryEngine.h.
References instance_.
Referenced by ResultSetReductionJIT::codegen(), TableFunctionCompilationContext::compile(), StubGenerator::generateStub(), getQueryEngineCudaStream(), getQueryEngineCudaStreamForDevice(), anonymous_namespace{DBHandler.cpp}::log_cache_size(), Executor::optimizeAndCodegenCPU(), and Executor::reset().
std::unique_ptr<CodeCacheAccessor<CpuCompilationContext> > QueryEngine::cpu_code_accessor |
Definition at line 119 of file QueryEngine.h.
|
private |
Definition at line 110 of file QueryEngine.h.
Referenced by getCudaStream(), and QueryEngine().
|
private |
Definition at line 111 of file QueryEngine.h.
Referenced by getCudaStreamForDevice(), QueryEngine(), and ~QueryEngine().
std::unique_ptr<CodeCacheAccessor<GpuCompilationContext> > QueryEngine::gpu_code_accessor |
Definition at line 120 of file QueryEngine.h.
|
inlinestaticprivate |
Definition at line 114 of file QueryEngine.h.
Referenced by createInstance(), and getInstance().
|
inlinestaticprivate |
Definition at line 113 of file QueryEngine.h.
Referenced by createInstance().
std::unique_ptr<CodeCacheAccessor<CpuCompilationContext> > QueryEngine::s_code_accessor |
Definition at line 118 of file QueryEngine.h.
std::unique_ptr<CodeCacheAccessor<CpuCompilationContext> > QueryEngine::s_stubs_accessor |
Definition at line 117 of file QueryEngine.h.
std::unique_ptr<CodeCacheAccessor<CompilationContext> > QueryEngine::tf_code_accessor |
Definition at line 121 of file QueryEngine.h.