浏览代码

starpupy/src: minor fixes

Nathalie Furmento 4 年之前
父节点
当前提交
0c67142bfa
共有 2 个文件被更改,包括 16 次插入13 次删除
  1. 3 1
      starpupy/src/joblib.py
  2. 13 12
      starpupy/src/starpu_task_wrapper.c

+ 3 - 1
starpupy/src/joblib.py

@@ -1,6 +1,6 @@
 # StarPU --- Runtime system for heterogeneous multicore architectures.
 #
-# Copyright (C) 2020-2021       Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria
+# Copyright (C) 2020-2021  Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria
 #
 # StarPU is free software; you can redistribute it and/or modify
 # it under the terms of the GNU Lesser General Public License as published by
@@ -92,6 +92,8 @@ def future_generator(iterable, n_jobs, dict_task):
 		n_block=cpu_count()+1+n_jobs
 	else:
 		n_block=n_jobs
+	if (n_block <= 0):
+		n_block = 1
 
 	# if arguments is tuple format
 	if type(iterable) is tuple:

+ 13 - 12
starpupy/src/starpu_task_wrapper.c

@@ -220,15 +220,15 @@ void starpupy_codelet_func(void *buffers[], void *cl_arg)
 		PyObject *rv_bytes;
 		char* rv_data = starpu_cloudpickle_dumps(rv, &rv_bytes, &rv_data_size);
 		starpu_codelet_pack_arg(&data_ret, &rv_data_size, sizeof(rv_data_size));
-	    starpu_codelet_pack_arg(&data_ret, rv_data, rv_data_size);
-	    Py_DECREF(rv_bytes);
+		starpu_codelet_pack_arg(&data_ret, rv_data, rv_data_size);
+		Py_DECREF(rv_bytes);
 	}
 
-    /*store the return value in task_>cl_ret*/
-    starpu_codelet_pack_arg_fini(&data_ret, &task->cl_ret, &task->cl_ret_size);
+	/*store the return value in task_>cl_ret*/
+	starpu_codelet_pack_arg_fini(&data_ret, &task->cl_ret, &task->cl_ret_size);
 
-    Py_DECREF(func_py);
-    Py_DECREF(argList);
+	Py_DECREF(func_py);
+	Py_DECREF(argList);
 
 	/*restore previous GIL state*/
 	PyGILState_Release(state);
@@ -730,12 +730,13 @@ PyInit_starpupy(void)
 
 	StarpupyError = PyErr_NewException("starpupy.error", NULL, NULL);
 	Py_XINCREF(StarpupyError);
-    if (PyModule_AddObject(m, "error", StarpupyError) < 0) {
-        Py_XDECREF(StarpupyError);
-        Py_CLEAR(StarpupyError);
-        Py_DECREF(m);
-        return NULL;
-    }
+	if (PyModule_AddObject(m, "error", StarpupyError) < 0)
+	{
+		Py_XDECREF(StarpupyError);
+		Py_CLEAR(StarpupyError);
+		Py_DECREF(m);
+		return NULL;
+	}
 
 #if PY_MAJOR_VERSION < 3 || (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION < 9)
 	PyEval_InitThreads();