Esempio n. 1
0
    def test_create(self):
        pool = CThreadPool(32, start=True)
        job = CThreadPool.lookupCFunction(TEST_LIB, "thread_pool_test_func1")
        arg = ctypes.c_int(0)

        N = 256
        for i in range(N):
            pool.addTask(job, ctypes.byref(arg))
        pool.join()
        self.assertEqual(arg.value, N)
Esempio n. 2
0
    def test_add_task_function(self):
        pool = CThreadPool(32, start=True)
        pool.addTaskFunction("testFunction", TEST_LIB,
                             "thread_pool_test_func1")

        arg = ctypes.c_int(0)
        task_count = 256
        for i in range(task_count):
            pool.testFunction(ctypes.byref(arg))

        pool.join()
        self.assertEqual(arg.value, task_count)
Esempio n. 3
0
    def __init__(self, ert, size, verbose=False):
        self._ert = ert
        """ :type: ert.enkf.EnKFMain """
        self._size = size

        self._queue_manager = JobQueueManager(ert.siteConfig().getJobQueue())
        self._queue_manager.startQueue(size, verbose=verbose)
        self._run_args = {}
        """ :type: dict[int, RunArg] """

        self._thread_pool = CThreadPool(8)
        self._thread_pool.addTaskFunction("submitJob", ENKF_LIB,
                                          "enkf_main_isubmit_job__")
Esempio n. 4
0
    def __init__(self, ert, size, verbose=False):
        self._ert = ert
        """ :type: ert.enkf.EnKFMain """
        self._size = size

        self._queue_manager = JobQueueManager(ert.siteConfig().getJobQueue())
        self._queue_manager.startQueue(size, verbose=verbose)

        mask = BoolVector(default_value=True, initial_size=size)
        runpath_fmt = self._ert.getModelConfig().getRunpathFormat()
        subst_list = self._ert.getDataKW()
        self._runpath_list = ErtRunContext.createRunpathList(
            mask, runpath_fmt, subst_list)

        self._run_args = {}
        """ :type: dict[int, RunArg] """

        self._thread_pool = CThreadPool(8)
        self._thread_pool.addTaskFunction("submitJob", ENKF_LIB,
                                          "enkf_main_isubmit_job__")