浏览代码

Fix build with cusparse, cusparse.h already has cpp protections

Samuel Thibault 8 年之前
父节点
当前提交
d187a81ec6
共有 3 个文件被更改,包括 10 次插入11 次删除
  1. 4 1
      include/starpu_cusparse.h
  2. 1 1
      mpi/src/starpu_mpi_task_insert.c
  3. 5 9
      src/util/starpu_task_insert_utils.c

+ 4 - 1
include/starpu_cusparse.h

@@ -18,6 +18,10 @@
 #ifndef __STARPU_CUSPARSE_H__
 #define __STARPU_CUSPARSE_H__
 
+#if defined STARPU_USE_CUDA && !defined STARPU_DONT_INCLUDE_CUDA_HEADERS
+#include <cusparse.h>
+#endif
+
 #ifdef __cplusplus
 extern "C"
 {
@@ -27,7 +31,6 @@ void starpu_cusparse_init(void);
 void starpu_cusparse_shutdown(void);
 
 #if defined STARPU_USE_CUDA && !defined STARPU_DONT_INCLUDE_CUDA_HEADERS
-#include <cusparse.h>
 cusparseHandle_t starpu_cusparse_get_local_handle(void);
 #endif
 

+ 1 - 1
mpi/src/starpu_mpi_task_insert.c

@@ -390,7 +390,7 @@ int _starpu_mpi_task_decode_v(struct starpu_codelet *codelet, int me, int nb_nod
 		{
 			// the flag is decoded and set later when
 			// calling function _starpu_task_insert_create()
-			(void)va_arg(varg_list_copy, uint32_t);
+			(void)va_arg(varg_list_copy, unsigned long long);
 		}
 		else if (arg_type==STARPU_EXECUTE_ON_WORKER)
 		{

+ 5 - 9
src/util/starpu_task_insert_utils.c

@@ -1,6 +1,6 @@
 /* StarPU --- Runtime system for heterogeneous multicore architectures.
  *
- * Copyright (C) 2011, 2013-2016   Université Bordeaux
+ * Copyright (C) 2011, 2013-2017   Université Bordeaux
  * Copyright (C) 2011-2017         CNRS
  * Copyright (C) 2011, 2014        INRIA
  * Copyright (C) 2016-2017 Inria
@@ -121,7 +121,7 @@ int _starpu_codelet_pack_args(void **arg_buffer, size_t *arg_buffer_size, va_lis
 		}
 		else if (arg_type==STARPU_EXECUTE_WHERE)
 		{
-			(void)va_arg(varg_list, uint32_t);
+			(void)va_arg(varg_list, unsigned long long);
 		}
 		else if (arg_type==STARPU_EXECUTE_ON_WORKER)
 		{
@@ -388,7 +388,7 @@ int _starpu_task_insert_create(struct starpu_codelet *cl, struct starpu_task **t
 		}
 		else if (arg_type==STARPU_EXECUTE_WHERE)
 		{
-			(*task)->where = va_arg(varg_list, uint32_t);
+			(*task)->where = va_arg(varg_list, unsigned long long);
 		}
 		else if (arg_type==STARPU_EXECUTE_ON_WORKER)
 		{
@@ -605,12 +605,8 @@ int _fstarpu_task_insert_create(struct starpu_codelet *cl, struct starpu_task **
 		{
 			assert(0);
 			arg_i++;
-			int worker = *(int *)arglist[arg_i];
-			if (worker != -1)
-			{
-				(*task)->workerid = worker;
-				(*task)->execute_on_a_specific_worker = 1;
-			}
+			unsigned long long worker = *(unsigned long long *)arglist[arg_i];
+			(*task)->where = worker;
 		}
 		else if (arg_type == STARPU_EXECUTE_ON_WORKER)
 		{