Skip to content
This repository was archived by the owner on May 9, 2024. It is now read-only.

Commit 33c9aca

Browse files
akroviakovkurapov-peter
authored andcommitted
Heterogen demo notebook
1 parent 629dd98 commit 33c9aca

File tree

4 files changed

+426
-2
lines changed

4 files changed

+426
-2
lines changed

examples/heterogeneous_demo.ipynb

Lines changed: 406 additions & 0 deletions
Large diffs are not rendered by default.

python/pyhdk/_common.pyx

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,20 @@ cdef class TypeInfo:
184184
def __repr__(self):
185185
return self.c_type_info.toString()
186186

187+
cdef class Config:
188+
def setCpuProp(self, cpu_prop):
189+
self.c_config.get().exec.heterogeneous.forced_cpu_proportion=cpu_prop
190+
self.c_config.get().exec.heterogeneous.forced_gpu_proportion=100-cpu_prop
191+
192+
def setGpuProp(self, gpu_prop):
193+
self.c_config.get().exec.heterogeneous.forced_gpu_proportion=gpu_prop
194+
self.c_config.get().exec.heterogeneous.forced_cpu_proportion=100-gpu_prop
195+
196+
def getCpuProp(self):
197+
return self.c_config.get().exec.heterogeneous.forced_cpu_proportion
198+
199+
def getGpuProp(self):
200+
return self.c_config.get().exec.heterogeneous.forced_gpu_proportion
187201

188202
def buildConfig(*, enable_debug_timer=None, enable_union=False, log_dir="hdk_log", **kwargs):
189203
global g_enable_debug_timer

python/pyhdk/_execute.pxd

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ from libcpp.utility cimport move
1313
from pyarrow.lib cimport CTable as CArrowTable
1414

1515
from pyhdk._common cimport CType, CConfig
16-
from pyhdk._storage cimport CDataMgr, CBufferProvider, CSchemaProvider, CAbstractDataProvider
16+
from pyhdk._storage cimport MemoryLevel, DataMgr, CDataMgr, CBufferProvider, CSchemaProvider, CAbstractDataProvider
1717

1818
cdef extern from "omniscidb/QueryEngine/Compiler/CodegenTraitsDescriptor.h" namespace "compiler":
1919
enum CCallingConvDesc "CallingConvDesc":
@@ -147,7 +147,8 @@ cdef extern from "omniscidb/QueryEngine/Execute.h":
147147
cdef cppclass CExecutor "Executor":
148148
@staticmethod
149149
shared_ptr[CExecutor] getExecutor(CDataMgr*, shared_ptr[CConfig], const string&, const string&)
150-
150+
@staticmethod
151+
void clearMemory(MemoryLevel, CDataMgr*)
151152
const CConfig &getConfig()
152153
shared_ptr[CConfig] getConfigPtr()
153154

python/pyhdk/_execute.pyx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ cdef class Executor:
1414
cdef string debug_file = "".encode('UTF-8')
1515
self.c_executor = CExecutor.getExecutor(data_mgr.c_data_mgr.get(), config.c_config, debug_dir, debug_file)
1616

17+
def clearMemory(self, DataMgr data_mgr, MemoryLevel memLevel):
18+
CExecutor.clearMemory(memLevel, data_mgr.c_data_mgr.get())
19+
1720
cdef class ResultSetRegistry(Storage):
1821
cdef shared_ptr[CResultSetRegistry] c_registry
1922

0 commit comments

Comments
 (0)