提交 777d79bf authored 作者: Frederic's avatar Frederic

Init err_var at the right place

上级 ea889f4a
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
#define PRECHECK_ERROR 0 #define PRECHECK_ERROR 0
cublasHandle_t handle = NULL; cublasHandle_t handle = NULL;
int* err_var = NULL;
///////////////////////// /////////////////////////
// Alloc and Free // Alloc and Free
......
...@@ -122,9 +122,9 @@ DllExport void *get_work_mem(size_t sz); ...@@ -122,9 +122,9 @@ DllExport void *get_work_mem(size_t sz);
// When it is allocated, it should always be 0 // When it is allocated, it should always be 0
// So if there is an error, we must reset it to 0 BEFORE we raise the error // So if there is an error, we must reset it to 0 BEFORE we raise the error
// This prevent us from setting it to 0 before each use // This prevent us from setting it to 0 before each use
extern DllExport int* err_var = NULL; extern DllExport int* err_var;
DllExport inline int init_err_var(){ static inline int init_err_var(){
if (err_var == NULL) { if (err_var == NULL) {
err_var = (int*)device_malloc(sizeof(int)); err_var = (int*)device_malloc(sizeof(int));
if (!err_var) { // PyErr set by device_malloc if (!err_var) { // PyErr set by device_malloc
...@@ -145,7 +145,7 @@ DllExport inline int init_err_var(){ ...@@ -145,7 +145,7 @@ DllExport inline int init_err_var(){
return 0; return 0;
} }
DllExport inline int check_err_var(){ static inline int check_err_var(){
//-10 could be any value different then 0. //-10 could be any value different then 0.
int cpu_err_var=-10; int cpu_err_var=-10;
cudaError_t err; cudaError_t err;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论