ソースを参照

tests: inside struct starpu_codelet, use xxx_funcs fields instead of the xxx_func ones

Nathalie Furmento 13 年 前
コミット
a7c6dabe25
共有70 個のファイルを変更した226 個の追加226 個の削除を含む
  1. 2 2
      tests/core/declare_deps_after_submission.c
  2. 2 2
      tests/core/declare_deps_after_submission_synchronous.c
  3. 2 2
      tests/core/declare_deps_in_callback.c
  4. 3 3
      tests/core/empty_task_sync_point.c
  5. 3 3
      tests/core/empty_task_sync_point_tasks.c
  6. 3 3
      tests/core/execute_on_a_specific_worker.c
  7. 2 2
      tests/core/get_current_task.c
  8. 1 1
      tests/core/insert_task.c
  9. 6 6
      tests/core/multiformat_data_release.c
  10. 10 10
      tests/core/multiformat_handle_conversion.c
  11. 3 3
      tests/core/multithreaded.c
  12. 3 3
      tests/core/regenerate.c
  13. 3 3
      tests/core/starpu_task_wait.c
  14. 5 5
      tests/core/starpu_task_wait_for_all.c
  15. 3 3
      tests/core/static_restartable.c
  16. 3 3
      tests/core/static_restartable_tag.c
  17. 3 3
      tests/core/static_restartable_using_initializer.c
  18. 3 3
      tests/core/subgraph_repeat.c
  19. 3 3
      tests/core/subgraph_repeat_regenerate.c
  20. 3 3
      tests/core/tag_wait_api.c
  21. 3 3
      tests/core/task_wait_api.c
  22. 2 2
      tests/core/wait_all_regenerable_tasks.c
  23. 2 2
      tests/datawizard/acquire_cb_insert.c
  24. 2 2
      tests/datawizard/acquire_release.c
  25. 2 2
      tests/datawizard/acquire_release2.c
  26. 3 3
      tests/datawizard/copy.c
  27. 3 3
      tests/datawizard/critical_section_with_void_interface.c
  28. 6 6
      tests/datawizard/data_implicit_deps.c
  29. 3 3
      tests/datawizard/data_invalidation.c
  30. 1 1
      tests/datawizard/data_lookup.c
  31. 3 3
      tests/datawizard/dining_philosophers.c
  32. 3 3
      tests/datawizard/dsm_stress.c
  33. 2 2
      tests/datawizard/handle_to_pointer.c
  34. 9 9
      tests/datawizard/increment_redux.c
  35. 9 9
      tests/datawizard/increment_redux_v2.c
  36. 3 3
      tests/datawizard/interfaces/multiformat/advanced/generic.c
  37. 1 1
      tests/datawizard/interfaces/multiformat/advanced/multiformat_cuda_opencl.c
  38. 3 3
      tests/datawizard/interfaces/multiformat/multiformat_conversion_codelets.c
  39. 3 3
      tests/datawizard/interfaces/test_interfaces.c
  40. 4 4
      tests/datawizard/lazy_allocation.c
  41. 5 5
      tests/datawizard/manual_reduction.c
  42. 2 2
      tests/datawizard/mpi_like.c
  43. 2 2
      tests/datawizard/mpi_like_async.c
  44. 3 3
      tests/datawizard/readers_and_writers.c
  45. 2 2
      tests/datawizard/reclaim.c
  46. 2 2
      tests/datawizard/scratch.c
  47. 6 6
      tests/datawizard/sync_and_notify_data.c
  48. 6 6
      tests/datawizard/sync_and_notify_data_implicit.c
  49. 3 3
      tests/datawizard/sync_with_data_with_mem.c
  50. 3 3
      tests/datawizard/sync_with_data_with_mem_non_blocking.c
  51. 3 3
      tests/datawizard/sync_with_data_with_mem_non_blocking_implicit.c
  52. 3 3
      tests/datawizard/unpartition.c
  53. 4 4
      tests/datawizard/write_only_tmp_buffer.c
  54. 3 3
      tests/errorcheck/invalid_blocking_calls.c
  55. 1 1
      tests/errorcheck/invalid_tasks.c
  56. 3 3
      tests/helper/starpu_create_sync_task.c
  57. 3 3
      tests/microbenchs/async_tasks_overhead.c
  58. 3 3
      tests/microbenchs/prefetch_data_on_node.c
  59. 3 3
      tests/microbenchs/redundant_buffer.c
  60. 3 3
      tests/microbenchs/sync_tasks_overhead.c
  61. 3 3
      tests/microbenchs/tasks_overhead.c
  62. 3 3
      tests/opt/datawizard/wt_broadcast.c
  63. 3 3
      tests/opt/datawizard/wt_host.c
  64. 3 3
      tests/overlap/overlap.c
  65. 3 3
      tests/parallel_tasks/explicit_combined_worker.c
  66. 3 3
      tests/parallel_tasks/parallel_kernels.c
  67. 3 3
      tests/parallel_tasks/parallel_kernels_spmd.c
  68. 3 3
      tests/parallel_tasks/spmd_pgreedy.c
  69. 2 2
      tests/perfmodels/non_linear_regression_based.c
  70. 4 4
      tests/perfmodels/regression_based.c

+ 2 - 2
tests/core/declare_deps_after_submission.c

@@ -31,8 +31,8 @@ static void dummy_func(void *descr[] __attribute__ ((unused)), void *arg __attri
 static struct starpu_codelet dummy_codelet = 
 {
 	.where = STARPU_CPU|STARPU_CUDA,
-	.cpu_func = dummy_func,
-	.cuda_func = dummy_func,
+	.cpu_funcs = {dummy_func, NULL},
+	.cuda_funcs = {dummy_func, NULL},
 	.model = NULL,
 	.nbuffers = 0
 };

+ 2 - 2
tests/core/declare_deps_after_submission_synchronous.c

@@ -31,8 +31,8 @@ static void dummy_func(void *descr[] __attribute__ ((unused)), void *arg __attri
 static struct starpu_codelet dummy_codelet = 
 {
 	.where = STARPU_CPU|STARPU_CUDA,
-	.cpu_func = dummy_func,
-	.cuda_func = dummy_func,
+	.cpu_funcs = {dummy_func, NULL},
+	.cuda_funcs = {dummy_func, NULL},
 	.model = NULL,
 	.nbuffers = 0
 };

+ 2 - 2
tests/core/declare_deps_in_callback.c

@@ -45,8 +45,8 @@ static void dummy_func(void *descr[] __attribute__ ((unused)), void *arg __attri
 static struct starpu_codelet dummy_codelet = 
 {
 	.where = STARPU_CPU|STARPU_CUDA,
-	.cpu_func = dummy_func,
-	.cuda_func = dummy_func,
+	.cpu_funcs = {dummy_func, NULL},
+	.cuda_funcs = {dummy_func, NULL},
 	.model = NULL,
 	.nbuffers = 0
 };

+ 3 - 3
tests/core/empty_task_sync_point.c

@@ -37,9 +37,9 @@ static void dummy_func(void *descr[] __attribute__ ((unused)), void *arg __attri
 static struct starpu_codelet dummy_codelet =
 {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
-	.cpu_func = dummy_func,
-	.cuda_func = dummy_func,
-	.opencl_func = dummy_func,
+	.cpu_funcs = {dummy_func, NULL},
+	.cuda_funcs = {dummy_func, NULL},
+	.opencl_funcs = {dummy_func, NULL},
 	.model = NULL,
 	.nbuffers = 0
 };

+ 3 - 3
tests/core/empty_task_sync_point_tasks.c

@@ -25,9 +25,9 @@ static void dummy_func(void *descr[] __attribute__ ((unused)), void *arg __attri
 static struct starpu_codelet dummy_codelet =
 {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
-	.cpu_func = dummy_func,
-	.cuda_func = dummy_func,
-	.opencl_func = dummy_func,
+	.cpu_funcs = {dummy_func, NULL},
+	.cuda_funcs = {dummy_func, NULL},
+	.opencl_funcs = {dummy_func, NULL},
 	.model = NULL,
 	.nbuffers = 0
 };

+ 3 - 3
tests/core/execute_on_a_specific_worker.c

@@ -76,9 +76,9 @@ static enum starpu_access_mode select_random_mode(void)
 
 static struct starpu_codelet cl = {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
-	.cpu_func = codelet_null,
-	.cuda_func = codelet_null,
-        .opencl_func = codelet_null,
+	.cpu_funcs = {codelet_null, NULL},
+	.cuda_funcs = {codelet_null, NULL},
+        .opencl_funcs = {codelet_null, NULL},
 	.nbuffers = 1
 };
 

+ 2 - 2
tests/core/get_current_task.c

@@ -39,8 +39,8 @@ static void check_task_callback(void *arg)
 
 static struct starpu_codelet dummy_cl = {
 	.where = STARPU_CUDA|STARPU_CPU,
-	.cuda_func = check_task_func,
-	.cpu_func = check_task_func,
+	.cuda_funcs = {check_task_func, NULL},
+	.cpu_funcs = {check_task_func, NULL},
 	.model = NULL,
 	.nbuffers = 0
 };

+ 1 - 1
tests/core/insert_task.c

@@ -31,7 +31,7 @@ void func_cpu(void *descr[], void *_args)
 
 struct starpu_codelet mycodelet = {
 	.where = STARPU_CPU,
-	.cpu_func = func_cpu,
+	.cpu_funcs = {func_cpu, NULL},
         .nbuffers = 2
 };
 

+ 6 - 6
tests/core/multiformat_data_release.c

@@ -58,13 +58,13 @@ static void cuda_to_cpu_func(void *buffers[], void *args)
 
 static struct starpu_codelet cpu_to_cuda_cl = {
 	.where = STARPU_CUDA,
-	.cuda_func = cpu_to_cuda_func,
+	.cuda_funcs = {cpu_to_cuda_func, NULL},
 	.nbuffers = 1
 };
 
 static struct starpu_codelet cuda_to_cpu_cl = {
 	.where = STARPU_CPU,
-	.cpu_func = cuda_to_cpu_func,
+	.cpu_funcs = {cuda_to_cpu_func, NULL},
 	.nbuffers = 1
 };
 #endif /* !STARPU_USE_CUDA */
@@ -84,13 +84,13 @@ static void opencl_to_cpu_func(void *buffers[], void *args)
 
 static struct starpu_codelet cpu_to_opencl_cl = {
 	.where = STARPU_OPENCL,
-	.opencl_func = cpu_to_opencl_func,
+	.opencl_funcs = {cpu_to_opencl_func, NULL},
 	.nbuffers = 1
 };
 
 static struct starpu_codelet opencl_to_cpu_cl = {
 	.where = STARPU_CPU,
-	.cpu_func = opencl_to_cpu_func,
+	.cpu_funcs = {opencl_to_cpu_func, NULL},
 	.nbuffers = 1
 };
 #endif /* !STARPU_USE_OPENCL */
@@ -146,10 +146,10 @@ create_and_submit(int where)
 {
 	static struct starpu_codelet cl = {
 #ifdef STARPU_USE_CUDA
-		.cuda_func   = cuda_func,
+		.cuda_funcs   = {cuda_func, NULL},
 #endif
 #if STARPU_USE_OPENCL
-		.opencl_func = opencl_func,
+		.opencl_funcs = {opencl_func, NULL},
 #endif
 		.nbuffers    = 1
 	};

+ 10 - 10
tests/core/multiformat_handle_conversion.c

@@ -64,13 +64,13 @@ static void cuda_to_cpu_func(void *buffers[], void *args)
 
 struct starpu_codelet cpu_to_cuda_cl = {
 	.where = STARPU_CUDA,
-	.cuda_func = cpu_to_cuda_func,
+	.cuda_funcs = {cpu_to_cuda_func, NULL},
 	.nbuffers = 1
 };
 
 struct starpu_codelet cuda_to_cpu_cl = {
 	.where = STARPU_CPU,
-	.cpu_func = cuda_to_cpu_func,
+	.cpu_funcs = {cuda_to_cpu_func, NULL},
 	.nbuffers = 1
 };
 #endif /* !STARPU_USE_CUDA */
@@ -90,13 +90,13 @@ static void opencl_to_cpu_func(void *buffers[], void *args)
 
 struct starpu_codelet cpu_to_opencl_cl = {
 	.where = STARPU_OPENCL,
-	.opencl_func = cpu_to_opencl_func,
+	.opencl_funcs = {cpu_to_opencl_func, NULL},
 	.nbuffers = 1
 };
 
 struct starpu_codelet opencl_to_cpu_cl = {
 	.where = STARPU_CPU,
-	.cpu_func = opencl_to_cpu_func,
+	.cpu_funcs = {opencl_to_cpu_func, NULL},
 	.nbuffers = 1
 };
 #endif /* !STARPU_USE_OPENCL */
@@ -144,10 +144,10 @@ create_and_submit_tasks(int where, starpu_data_handle_t handles[])
 	FPRINTF(stderr, "***** Starting Task 1\n");
 	static struct starpu_codelet cl = {
 #ifdef STARPU_USE_CUDA
-		.cuda_func   = cuda_func,
+		.cuda_funcs  = {cuda_func, NULL},
 #endif
 #if STARPU_USE_OPENCL
-		.opencl_func = opencl_func,
+		.opencl_funcs = {opencl_func, NULL},
 #endif
 		.nbuffers    = 1
 	};
@@ -163,7 +163,7 @@ create_and_submit_tasks(int where, starpu_data_handle_t handles[])
 	FPRINTF(stderr, "***** Starting Task 2\n");
 	static struct starpu_codelet cl2 = {
 		.where = STARPU_CPU,
-		.cpu_func = cpu_func,
+		.cpu_funcs = {cpu_func, NULL},
 		.nbuffers = 1
 	};
 
@@ -177,12 +177,12 @@ create_and_submit_tasks(int where, starpu_data_handle_t handles[])
 
 	FPRINTF(stderr, "***** Starting Task 3\n");
 	static struct starpu_codelet cl3 = {
-		.cpu_func    = cpu_func,
+		.cpu_funcs   = {cpu_func, NULL},
 #ifdef STARPU_USE_CUDA
-		.cuda_func   = cuda_func,
+		.cuda_funcs   = {cuda_func, NULL},
 #endif
 #ifdef STARPU_USE_OPENCL
-		.opencl_func = opencl_func,
+		.opencl_funcs = {opencl_func, NULL},
 #endif
 		.nbuffers    = 2
 	};

+ 3 - 3
tests/core/multithreaded.c

@@ -37,9 +37,9 @@ static void dummy_func(void *descr[] __attribute__ ((unused)), void *arg __attri
 static struct starpu_codelet dummy_codelet = 
 {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
-	.cpu_func = dummy_func,
-	.cuda_func = dummy_func,
-	.opencl_func = dummy_func,
+	.cpu_funcs = {dummy_func, NULL},
+	.cuda_funcs = {dummy_func, NULL},
+	.opencl_funcs = {dummy_func, NULL},
 	.model = NULL,
 	.nbuffers = 0
 };

+ 3 - 3
tests/core/regenerate.c

@@ -54,9 +54,9 @@ static void dummy_func(void *descr[] __attribute__ ((unused)), void *arg __attri
 static struct starpu_codelet dummy_codelet = 
 {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
-	.cpu_func = dummy_func,
-	.cuda_func = dummy_func,
-	.opencl_func = dummy_func,
+	.cpu_funcs = {dummy_func, NULL},
+	.cuda_funcs = {dummy_func, NULL},
+	.opencl_funcs = {dummy_func, NULL},
 	.model = NULL,
 	.nbuffers = 0
 };

+ 3 - 3
tests/core/starpu_task_wait.c

@@ -32,9 +32,9 @@ static void dummy_func(void *descr[] __attribute__ ((unused)), void *arg __attri
 static struct starpu_codelet dummy_codelet =
 {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
-	.cpu_func = dummy_func,
-	.cuda_func = dummy_func,
-	.opencl_func = dummy_func,
+	.cpu_funcs = {dummy_func, NULL},
+	.cuda_funcs = {dummy_func, NULL},
+	.opencl_funcs = {dummy_func, NULL},
 	.model = NULL,
 	.nbuffers = 0
 };

+ 5 - 5
tests/core/starpu_task_wait_for_all.c

@@ -28,12 +28,12 @@ static void dummy_func(void *descr[], void *arg)
 {
 }
 
-static struct starpu_codelet dummy_codelet = 
+static struct starpu_codelet dummy_codelet =
 {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL|STARPU_GORDON,
-	.cpu_func = dummy_func,
-	.cuda_func = dummy_func,
-	.opencl_func = dummy_func,
+	.cpu_funcs = {dummy_func, NULL},
+	.cuda_funcs = {dummy_func, NULL},
+	.opencl_funcs = {dummy_func, NULL},
 #ifdef STARPU_USE_GORDON
 	.gordon_func = 0, /* this will be defined later */
 #endif
@@ -44,7 +44,7 @@ static struct starpu_codelet dummy_codelet =
 static void init_gordon_kernel(void)
 {
 #ifdef STARPU_USE_GORDON
-	unsigned elf_id = 
+	unsigned elf_id =
 		gordon_register_elf_plugin("./microbenchs/null_kernel_gordon.spuelf");
 	gordon_load_plugin_on_all_spu(elf_id);
 

+ 3 - 3
tests/core/static_restartable.c

@@ -31,9 +31,9 @@ static void dummy_func(void *descr[] __attribute__ ((unused)), void *arg __attri
 static struct starpu_codelet dummy_codelet = 
 {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
-	.cpu_func = dummy_func,
-	.cuda_func = dummy_func,
-	.opencl_func = dummy_func,
+	.cpu_funcs = {dummy_func, NULL},
+	.cuda_funcs = {dummy_func, NULL},
+	.opencl_funcs = {dummy_func, NULL},
         .model = NULL,
 	.nbuffers = 0
 };

+ 3 - 3
tests/core/static_restartable_tag.c

@@ -32,9 +32,9 @@ static void dummy_func(void *descr[] __attribute__ ((unused)), void *arg __attri
 static struct starpu_codelet dummy_codelet = 
 {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
-	.cpu_func = dummy_func,
-	.cuda_func = dummy_func,
-	.opencl_func = dummy_func,
+	.cpu_funcs = {dummy_func, NULL},
+	.cuda_funcs = {dummy_func, NULL},
+	.opencl_funcs = {dummy_func, NULL},
 	.model = NULL,
 	.nbuffers = 0
 };

+ 3 - 3
tests/core/static_restartable_using_initializer.c

@@ -34,9 +34,9 @@ static void dummy_func(void *descr[] __attribute__ ((unused)), void *arg __attri
 static struct starpu_codelet dummy_codelet =
 {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
-	.cpu_func = dummy_func,
-	.cuda_func = dummy_func,
-	.opencl_func = dummy_func,
+	.cpu_funcs = {dummy_func, NULL},
+	.cuda_funcs = {dummy_func, NULL},
+	.opencl_funcs = {dummy_func, NULL},
 	.model = NULL,
 	.nbuffers = 0
 };

+ 3 - 3
tests/core/subgraph_repeat.c

@@ -53,9 +53,9 @@ static void dummy_func(void *descr[] __attribute__ ((unused)), void *arg __attri
 static struct starpu_codelet dummy_codelet =
 {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
-	.cpu_func = dummy_func,
-	.cuda_func = dummy_func,
-	.opencl_func = dummy_func,
+	.cpu_funcs = {dummy_func, NULL},
+	.cuda_funcs = {dummy_func, NULL},
+	.opencl_funcs = {dummy_func, NULL},
 	.model = NULL,
 	.nbuffers = 0
 };

+ 3 - 3
tests/core/subgraph_repeat_regenerate.c

@@ -53,9 +53,9 @@ static void dummy_func(void *descr[] __attribute__ ((unused)), void *arg __attri
 static struct starpu_codelet dummy_codelet =
 {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
-	.cpu_func = dummy_func,
-	.cuda_func = dummy_func,
-	.opencl_func = dummy_func,
+	.cpu_funcs = {dummy_func, NULL},
+	.cuda_funcs = {dummy_func, NULL},
+	.opencl_funcs = {dummy_func, NULL},
 	.model = NULL,
 	.nbuffers = 0
 };

+ 3 - 3
tests/core/tag_wait_api.c

@@ -29,9 +29,9 @@ static void dummy_func(void *descr[] __attribute__ ((unused)), void *arg __attri
 static struct starpu_codelet dummy_codelet =
 {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
-	.cpu_func = dummy_func,
-	.cuda_func = dummy_func,
-	.opencl_func = dummy_func,
+	.cpu_funcs = {dummy_func, NULL},
+	.cuda_funcs = {dummy_func, NULL},
+	.opencl_funcs = {dummy_func, NULL},
 	.model = NULL,
 	.nbuffers = 0
 };

+ 3 - 3
tests/core/task_wait_api.c

@@ -29,9 +29,9 @@ static void dummy_func(void *descr[] __attribute__ ((unused)), void *arg __attri
 static struct starpu_codelet dummy_codelet =
 {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
-	.cpu_func = dummy_func,
-	.cuda_func = dummy_func,
-	.opencl_func = dummy_func,
+	.cpu_funcs = {dummy_func, NULL},
+	.cuda_funcs = {dummy_func, NULL},
+	.opencl_funcs = {dummy_func, NULL},
         .model = NULL,
 	.nbuffers = 0
 };

+ 2 - 2
tests/core/wait_all_regenerable_tasks.c

@@ -43,8 +43,8 @@ static void dummy_func(void *descr[] __attribute__ ((unused)), void *arg __attri
 static struct starpu_codelet dummy_codelet = 
 {
 	.where = STARPU_CPU|STARPU_CUDA,
-	.cpu_func = dummy_func,
-	.cuda_func = dummy_func,
+	.cpu_funcs = {dummy_func, NULL},
+	.cuda_funcs = {dummy_func, NULL},
 	.model = NULL,
 	.nbuffers = 0
 };

+ 2 - 2
tests/datawizard/acquire_cb_insert.c

@@ -31,7 +31,7 @@ void which_index_cpu(void *descr[], void *_args)
 
 struct starpu_codelet which_index = {
 	.where = STARPU_CPU,
-	.cpu_func = which_index_cpu,
+	.cpu_funcs = {which_index_cpu, NULL},
         .nbuffers = 1
 };
 
@@ -46,7 +46,7 @@ void work_cpu(void *descr[], void *_args)
 
 struct starpu_codelet work = {
 	.where = STARPU_CPU,
-	.cpu_func = work_cpu,
+	.cpu_funcs = {work_cpu, NULL},
         .nbuffers = 1
 };
 

+ 2 - 2
tests/datawizard/acquire_release.c

@@ -32,9 +32,9 @@ void increment_cpu(void *descr[], __attribute__ ((unused)) void *_args)
 
 static struct starpu_codelet increment_cl = {
         .where = STARPU_CPU|STARPU_CUDA,
-	.cpu_func = increment_cpu,
+	.cpu_funcs = {increment_cpu, NULL},
 #ifdef STARPU_USE_CUDA
-	.cuda_func = increment_cuda,
+	.cuda_funcs = {increment_cuda, NULL},
 #endif
 	.nbuffers = 1
 };

+ 2 - 2
tests/datawizard/acquire_release2.c

@@ -31,9 +31,9 @@ void increment_cpu(void *descr[], __attribute__ ((unused)) void *_args)
 
 static struct starpu_codelet increment_cl = {
         .where = STARPU_CPU|STARPU_CUDA,
-	.cpu_func = increment_cpu,
+	.cpu_funcs = {increment_cpu, NULL},
 #ifdef STARPU_USE_CUDA
-	.cuda_func = increment_cuda,
+	.cuda_funcs = {increment_cuda, NULL},
 #endif
 	.nbuffers = 1
 };

+ 3 - 3
tests/datawizard/copy.c

@@ -27,7 +27,7 @@ static void dummy_func(void *descr[] __attribute__ ((unused)), void *arg __attri
 static struct starpu_codelet cpu_codelet =
 {
         .where = STARPU_CPU,
-        .cpu_func = dummy_func,
+        .cpu_funcs = {dummy_func, NULL},
         .model = NULL,
         .nbuffers = 1
 };
@@ -35,8 +35,8 @@ static struct starpu_codelet cpu_codelet =
 static struct starpu_codelet gpu_codelet =
 {
         .where = STARPU_CUDA|STARPU_OPENCL,
-        .cuda_func = dummy_func,
-        .opencl_func = dummy_func,
+        .cuda_funcs = {dummy_func, NULL},
+        .opencl_funcs = {dummy_func, NULL},
         .model = NULL,
         .nbuffers = 1
 };

+ 3 - 3
tests/datawizard/critical_section_with_void_interface.c

@@ -34,9 +34,9 @@ static void critical_section(void *descr[], __attribute__ ((unused)) void *_args
 
 static struct starpu_codelet cl = {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
-	.cpu_func = critical_section,
-	.cuda_func = critical_section,
-	.opencl_func = critical_section,
+	.cpu_funcs = {critical_section, NULL},
+	.cuda_funcs = {critical_section, NULL},
+	.opencl_funcs = {critical_section, NULL},
 	.nbuffers = 1
 };
 

+ 6 - 6
tests/datawizard/data_implicit_deps.c

@@ -36,8 +36,8 @@ static void f(void *descr[], __attribute__ ((unused)) void *_args)
 
 static struct starpu_codelet cl_f = {
 	.where = STARPU_CPU|STARPU_CUDA,
-	.cpu_func = f,
-	.cuda_func = f,
+	.cpu_funcs = {f, NULL},
+	.cuda_funcs = {f, NULL},
 	.nbuffers = 2
 };
 
@@ -49,8 +49,8 @@ static void g(void *descr[], __attribute__ ((unused)) void *_args)
 
 static struct starpu_codelet cl_g = {
 	.where = STARPU_CPU|STARPU_CUDA,
-	.cpu_func = g,
-	.cuda_func = g,
+	.cpu_funcs = {g, NULL},
+	.cuda_funcs = {g, NULL},
 	.nbuffers = 2
 };
 
@@ -62,8 +62,8 @@ static void h(void *descr[], __attribute__ ((unused)) void *_args)
 
 static struct starpu_codelet cl_h = {
 	.where = STARPU_CPU|STARPU_CUDA,
-	.cpu_func = h,
-	.cuda_func = h,
+	.cpu_funcs = {h, NULL},
+	.cuda_funcs = {h, NULL},
 	.nbuffers = 2
 };
 

+ 3 - 3
tests/datawizard/data_invalidation.c

@@ -52,9 +52,9 @@ static void cpu_memset_codelet(void *descr[], __attribute__ ((unused)) void *_ar
 
 static struct starpu_codelet memset_cl = {
 	.where = STARPU_CPU|STARPU_CUDA,
-	.cpu_func = cpu_memset_codelet,
+	.cpu_funcs = {cpu_memset_codelet, NULL},
 #ifdef STARPU_USE_CUDA
-	.cuda_func = cuda_memset_codelet,
+	.cuda_funcs = {cuda_memset_codelet, NULL},
 #endif
 	.nbuffers = 1
 };
@@ -81,7 +81,7 @@ static void cpu_check_content_codelet(void *descr[], __attribute__ ((unused)) vo
 
 static struct starpu_codelet check_content_cl = {
 	.where = STARPU_CPU,
-	.cpu_func = cpu_check_content_codelet,
+	.cpu_funcs = {cpu_check_content_codelet, NULL},
 	.nbuffers = 1
 };
 

+ 1 - 1
tests/datawizard/data_lookup.c

@@ -37,7 +37,7 @@ static void task(void **buffers, void *args)
 
 static struct starpu_codelet cl = {
 	.where = STARPU_CPU,
-	.cpu_func = task,
+	.cpu_funcs = {task, NULL},
 	.nbuffers = 1
 };
 

+ 3 - 3
tests/datawizard/dining_philosophers.c

@@ -30,9 +30,9 @@ static void eat_kernel(void *descr[], void *arg)
 
 static struct starpu_codelet eating_cl = {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
-	.cuda_func = eat_kernel,
-	.cpu_func = eat_kernel,
-        .opencl_func = eat_kernel,
+	.cuda_funcs = {eat_kernel, NULL},
+	.cpu_funcs = {eat_kernel, NULL},
+        .opencl_funcs = {eat_kernel, NULL},
 	.nbuffers = 2
 };
 

+ 3 - 3
tests/datawizard/dsm_stress.c

@@ -83,9 +83,9 @@ static enum starpu_access_mode select_random_mode(void)
 
 static struct starpu_codelet cl = {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
-	.cpu_func = cpu_codelet_null,
-	.cuda_func = cuda_codelet_null,
-        .opencl_func = opencl_codelet_null,
+	.cpu_funcs = {cpu_codelet_null, NULL},
+	.cuda_funcs = {cuda_codelet_null, NULL},
+        .opencl_funcs = {opencl_codelet_null, NULL},
 	.nbuffers = 2
 };
 

+ 2 - 2
tests/datawizard/handle_to_pointer.c

@@ -54,9 +54,9 @@ static void cuda_task(void **buffers, void *args)
 
 static struct starpu_codelet cl = {
 	.where = STARPU_CPU | STARPU_CUDA,
-	.cpu_func = cpu_task,
+	.cpu_funcs = {cpu_task, NULL},
 #ifdef STARPU_USE_CUDA
-	.cuda_func = cuda_task,
+	.cuda_funcs = {cuda_task, NULL},
 #endif
 	.nbuffers = 1
 };

+ 9 - 9
tests/datawizard/increment_redux.c

@@ -113,24 +113,24 @@ static void neutral_cpu_kernel(void *descr[], void *arg)
 static struct starpu_codelet redux_cl = {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
 #ifdef STARPU_USE_CUDA
-	.cuda_func = redux_cuda_kernel,
+	.cuda_funcs = {redux_cuda_kernel, NULL},
 #endif
 #ifdef STARPU_USE_OPENCL
-	.opencl_func = redux_opencl_kernel,
+	.opencl_funcs = {redux_opencl_kernel, NULL},
 #endif
-	.cpu_func = redux_cpu_kernel,
+	.cpu_funcs = {redux_cpu_kernel, NULL},
 	.nbuffers = 2
 };
 
 static struct starpu_codelet neutral_cl = {
 	.where = STARPU_CPU|STARPU_CUDA,
 #ifdef STARPU_USE_CUDA
-	.cuda_func = neutral_cuda_kernel,
+	.cuda_funcs = {neutral_cuda_kernel, NULL},
 #endif
 #ifdef STARPU_USE_OPENCL
-	.opencl_func = neutral_opencl_kernel,
+	.opencl_funcs = {neutral_opencl_kernel, NULL},
 #endif
-	.cpu_func = neutral_cpu_kernel,
+	.cpu_funcs = {neutral_cpu_kernel, NULL},
 	.nbuffers = 1
 };
 
@@ -181,12 +181,12 @@ static void increment_cpu_kernel(void *descr[], void *arg)
 static struct starpu_codelet increment_cl = {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
 #ifdef STARPU_USE_CUDA
-	.cuda_func = increment_cuda_kernel,
+	.cuda_funcs = {increment_cuda_kernel, NULL},
 #endif
 #ifdef STARPU_USE_OPENCL
-	.opencl_func = increment_opencl_kernel,
+	.opencl_funcs = {increment_opencl_kernel, NULL},
 #endif
-	.cpu_func = increment_cpu_kernel,
+	.cpu_funcs = {increment_cpu_kernel, NULL},
 	.nbuffers = 1
 };
 

+ 9 - 9
tests/datawizard/increment_redux_v2.c

@@ -112,24 +112,24 @@ static void neutral_cpu_kernel(void *descr[], void *arg)
 static struct starpu_codelet redux_cl = {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
 #ifdef STARPU_USE_CUDA
-	.cuda_func = redux_cuda_kernel,
+	.cuda_funcs = {redux_cuda_kernel, NULL},
 #endif
 #ifdef STARPU_USE_OPENCL
-	.opencl_func = redux_opencl_kernel,
+	.opencl_funcs = {redux_opencl_kernel, NULL},
 #endif
-	.cpu_func = redux_cpu_kernel,
+	.cpu_funcs = {redux_cpu_kernel, NULL},
 	.nbuffers = 2
 };
 
 static struct starpu_codelet neutral_cl = {
 	.where = STARPU_CPU|STARPU_CUDA,
 #ifdef STARPU_USE_CUDA
-	.cuda_func = neutral_cuda_kernel,
+	.cuda_funcs = {neutral_cuda_kernel, NULL},
 #endif
 #ifdef STARPU_USE_OPENCL
-	.opencl_func = neutral_opencl_kernel,
+	.opencl_funcs = {neutral_opencl_kernel, NULL},
 #endif
-	.cpu_func = neutral_cpu_kernel,
+	.cpu_funcs = {neutral_cpu_kernel, NULL},
 	.nbuffers = 1
 };
 
@@ -180,12 +180,12 @@ static void increment_cpu_kernel(void *descr[], void *arg)
 static struct starpu_codelet increment_cl = {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
 #ifdef STARPU_USE_CUDA
-	.cuda_func = increment_cuda_kernel,
+	.cuda_funcs = {increment_cuda_kernel, NULL},
 #endif
 #ifdef STARPU_USE_OPENCL
-	.opencl_func = increment_opencl_kernel,
+	.opencl_funcs = {increment_opencl_kernel, NULL},
 #endif
-	.cpu_func = increment_cpu_kernel,
+	.cpu_funcs = {increment_cpu_kernel, NULL},
 	.nbuffers = 1
 };
 

+ 3 - 3
tests/datawizard/interfaces/multiformat/advanced/generic.c

@@ -43,7 +43,7 @@ struct starpu_codelet cpu_to_cuda_cl = {
 
 struct starpu_codelet cuda_to_cpu_cl = {
 	.where = STARPU_CPU,
-	.cpu_func = cuda_to_cpu_func,
+	.cpu_funcs = {cuda_to_cpu_func, NULL},
 	.nbuffers = 1
 };
 #endif /* !STARPU_USE_CUDA */
@@ -66,13 +66,13 @@ void opencl_to_cpu_func(void *buffers[], void *args)
 
 struct starpu_codelet cpu_to_opencl_cl = {
 	.where = STARPU_OPENCL,
-	.opencl_func = cpu_to_opencl_func,
+	.opencl_funcs = {cpu_to_opencl_func, NULL},
 	.nbuffers = 1
 };
 
 struct starpu_codelet opencl_to_cpu_cl = {
 	.where = STARPU_CPU,
-	.cpu_func = opencl_to_cpu_func,
+	.cpu_funcs = {opencl_to_cpu_func, NULL},
 	.nbuffers = 1
 };
 #endif /* !STARPU_USE_OPENCL */

+ 1 - 1
tests/datawizard/interfaces/multiformat/advanced/multiformat_cuda_opencl.c

@@ -61,7 +61,7 @@ test(void)
 	static struct starpu_codelet cl_opencl =
 	{
 		.where       = STARPU_OPENCL,
-		.opencl_func = opencl_func,
+		.opencl_funcs = {opencl_func, NULL},
 		.nbuffers    = 1
 	};
 

+ 3 - 3
tests/datawizard/interfaces/multiformat/multiformat_conversion_codelets.c

@@ -40,7 +40,7 @@ extern void cpu_to_cuda_cuda_func(void *buffers[], void *args); struct starpu_co
 
 struct starpu_codelet cuda_to_cpu_cl = {
 	.where = STARPU_CPU,
-	.cpu_func = cuda_to_cpu,
+	.cpu_funcs = {cuda_to_cpu, NULL},
 	.nbuffers = 1
 };
 #endif
@@ -62,13 +62,13 @@ void opencl_to_cpu(void *buffers[], void *arg)
 extern void cpu_to_opencl_opencl_func(void *buffers[], void *args);
 struct starpu_codelet cpu_to_opencl_cl = {
 	.where = STARPU_OPENCL,
-	.opencl_func = cpu_to_opencl_opencl_func,
+	.opencl_funcs = {cpu_to_opencl_opencl_func, NULL},
 	.nbuffers = 1
 };
 
 struct starpu_codelet opencl_to_cpu_cl = {
 	.where = STARPU_CPU,
-	.cpu_func = opencl_to_cpu,
+	.cpu_funcs = {opencl_to_cpu, NULL},
 	.nbuffers = 1
 };
 #endif

+ 3 - 3
tests/datawizard/interfaces/test_interfaces.c

@@ -302,7 +302,7 @@ create_task(struct starpu_task **taskp, enum starpu_archtype type, int id)
 				workerid = *(cpu_workers + id);
 			}
 			cl.where = STARPU_CPU;
-			cl.cpu_func = current_config->cpu_func;
+			cl.cpu_funcs[0] = current_config->cpu_func;
 			break;
 #ifdef STARPU_USE_CUDA
 		case STARPU_CUDA_WORKER:
@@ -316,7 +316,7 @@ create_task(struct starpu_task **taskp, enum starpu_archtype type, int id)
 				workerid = cuda_workers[id];
 			}
 			cl.where = STARPU_CUDA;
-			cl.cuda_func = current_config->cuda_func;
+			cl.cuda_funcs[0] = current_config->cuda_func;
 			break;
 #endif /* !STARPU_USE_CUDA */
 #ifdef STARPU_USE_OPENCL
@@ -331,7 +331,7 @@ create_task(struct starpu_task **taskp, enum starpu_archtype type, int id)
 				workerid = *(opencl_workers + id);
 			}
 			cl.where = STARPU_OPENCL;
-			cl.opencl_func = current_config->opencl_func;
+			cl.opencl_funcs[0] = current_config->opencl_func;
 			break;
 #endif /* ! STARPU_USE_OPENCL */
 		case STARPU_GORDON_WORKER: /* Not supported */

+ 4 - 4
tests/datawizard/lazy_allocation.c

@@ -51,9 +51,9 @@ static void cpu_memset_codelet(void *descr[], __attribute__ ((unused)) void *_ar
 
 static struct starpu_codelet memset_cl = {
 	.where = STARPU_CPU|STARPU_CUDA,
-	.cpu_func = cpu_memset_codelet,
+	.cpu_funcs = {cpu_memset_codelet, NULL},
 #ifdef STARPU_USE_CUDA
-	.cuda_func = cuda_memset_codelet,
+	.cuda_funcs = {cuda_memset_codelet, NULL},
 #endif
 	.nbuffers = 1
 };
@@ -100,9 +100,9 @@ static void cuda_check_content_codelet(void *descr[], __attribute__ ((unused)) v
 
 static struct starpu_codelet check_content_cl = {
 	.where = STARPU_CPU|STARPU_CUDA,
-	.cpu_func = cpu_check_content_codelet,
+	.cpu_funcs = {cpu_check_content_codelet, NULL},
 #ifdef STARPU_USE_CUDA
-	.cuda_func = cuda_check_content_codelet,
+	.cuda_funcs = {cuda_check_content_codelet, NULL},
 #endif
 	.nbuffers = 1
 };

+ 5 - 5
tests/datawizard/manual_reduction.c

@@ -90,8 +90,8 @@ static void cpu_redux_func(void *descr[], void *cl_arg __attribute__((unused)))
 
 static struct starpu_codelet reduction_codelet = {
 	.where = STARPU_CPU,
-	.cpu_func = cpu_redux_func,
-	.cuda_func = NULL,
+	.cpu_funcs = {cpu_redux_func, NULL},
+	.cuda_funcs = {NULL, NULL},
 	.nbuffers = 2,
 	.model = NULL
 };
@@ -137,12 +137,12 @@ static void opencl_func_incr(void *descr[], void *cl_arg __attribute__((unused))
 
 static struct starpu_codelet use_data_on_worker_codelet = {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
-	.cpu_func = cpu_func_incr,
+	.cpu_funcs = {cpu_func_incr, NULL},
 #ifdef STARPU_USE_CUDA
-	.cuda_func = cuda_func_incr,
+	.cuda_funcs = {cuda_func_incr, NULL},
 #endif
 #ifdef STARPU_USE_OPENCL
-	.opencl_func = opencl_func_incr,
+	.opencl_funcs = {opencl_func_incr, NULL},
 #endif
 	.nbuffers = 1,
 	.model = NULL

+ 2 - 2
tests/datawizard/mpi_like.c

@@ -56,9 +56,9 @@ static void increment_handle_cpu_kernel(void *descr[], void *cl_arg __attribute_
 
 static struct starpu_codelet increment_handle_cl = {
 	.where = STARPU_CPU|STARPU_CUDA,
-	.cpu_func = increment_handle_cpu_kernel,
+	.cpu_funcs = {increment_handle_cpu_kernel, NULL},
 #ifdef STARPU_USE_CUDA
-	.cuda_func = cuda_codelet_unsigned_inc,
+	.cuda_funcs = {cuda_codelet_unsigned_inc, NULL},
 #endif
 	.nbuffers = 1
 };

+ 2 - 2
tests/datawizard/mpi_like_async.c

@@ -70,9 +70,9 @@ static void increment_handle_cpu_kernel(void *descr[], void *cl_arg __attribute_
 
 static struct starpu_codelet increment_handle_cl = {
 	.where = STARPU_CPU|STARPU_CUDA,
-	.cpu_func = increment_handle_cpu_kernel,
+	.cpu_funcs = {increment_handle_cpu_kernel, NULL},
 #ifdef STARPU_USE_CUDA
-	.cuda_func = cuda_codelet_unsigned_inc,
+	.cuda_funcs = {cuda_codelet_unsigned_inc, NULL},
 #endif
 	.nbuffers = 1
 };

+ 3 - 3
tests/datawizard/readers_and_writers.c

@@ -27,9 +27,9 @@ static void dummy_kernel(void *descr[], void *arg)
 
 static struct starpu_codelet rw_cl = {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
-	.cuda_func = dummy_kernel,
-	.cpu_func = dummy_kernel,
-	.opencl_func = dummy_kernel,
+	.cuda_funcs = {dummy_kernel, NULL},
+	.cpu_funcs = {dummy_kernel, NULL},
+	.opencl_funcs = {dummy_kernel, NULL},
 	.nbuffers = 1
 };
 

+ 2 - 2
tests/datawizard/reclaim.c

@@ -53,8 +53,8 @@ static void dummy_func(void *descr[], __attribute__ ((unused)) void *_args)
 
 static struct starpu_codelet dummy_cl = {
         .where = STARPU_CPU|STARPU_CUDA,
-	.cpu_func = dummy_func,
-	.cuda_func = dummy_func,
+	.cpu_funcs = {dummy_func, NULL},
+	.cuda_funcs = {dummy_func, NULL},
 	.nbuffers = 3
 };
 

+ 2 - 2
tests/datawizard/scratch.c

@@ -53,9 +53,9 @@ static void cpu_f(void *descr[], __attribute__ ((unused)) void *_args)
 
 static struct starpu_codelet cl_f = {
 	.where = STARPU_CPU|STARPU_CUDA,
-	.cpu_func = cpu_f,
+	.cpu_funcs = {cpu_f, NULL},
 #ifdef STARPU_USE_CUDA
-	.cuda_func = cuda_f,
+	.cuda_funcs = {cuda_f, NULL},
 #endif
 	.nbuffers = 2
 };

+ 6 - 6
tests/datawizard/sync_and_notify_data.c

@@ -109,12 +109,12 @@ int main(int argc, char **argv)
 			/* increment a = v[0] */
 			struct starpu_codelet cl_inc_a = {
 				.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL|STARPU_GORDON,
-				.cpu_func = cpu_codelet_incA,
+				.cpu_funcs = {cpu_codelet_incA, NULL},
 #ifdef STARPU_USE_CUDA
-				.cuda_func = cuda_codelet_incA,
+				.cuda_funcs = {cuda_codelet_incA, NULL},
 #endif
 #ifdef STARPU_USE_OPENCL
-				.opencl_func = opencl_codelet_incA,
+				.opencl_funcs = {opencl_codelet_incA, NULL},
 #endif
 #ifdef STARPU_USE_GORDON
 				.gordon_func = kernel_incA_id,
@@ -149,12 +149,12 @@ int main(int argc, char **argv)
 			/* increment c = v[2] */
 			struct starpu_codelet cl_inc_c = {
 				.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL|STARPU_GORDON,
-				.cpu_func = cpu_codelet_incC,
+				.cpu_funcs = {cpu_codelet_incC, NULL},
 #ifdef STARPU_USE_CUDA
-				.cuda_func = cuda_codelet_incC,
+				.cuda_funcs = {cuda_codelet_incC, NULL},
 #endif
 #ifdef STARPU_USE_OPENCL
-				.opencl_func = opencl_codelet_incC,
+				.opencl_funcs = {opencl_codelet_incC, NULL},
 #endif
 #ifdef STARPU_USE_GORDON
 				.gordon_func = kernel_incC_id,

+ 6 - 6
tests/datawizard/sync_and_notify_data_implicit.c

@@ -78,12 +78,12 @@ void cpu_codelet_incC(void *descr[], __attribute__ ((unused)) void *_args)
 /* increment a = v[0] */
 static struct starpu_codelet cl_inc_a = {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL|STARPU_GORDON,
-	.cpu_func = cpu_codelet_incA,
+	.cpu_funcs = {cpu_codelet_incA, NULL},
 #ifdef STARPU_USE_CUDA
-	.cuda_func = cuda_codelet_incA,
+	.cuda_funcs = {cuda_codelet_incA, NULL},
 #endif
 #ifdef STARPU_USE_OPENCL
-	.opencl_func = opencl_codelet_incA,
+	.opencl_funcs = {opencl_codelet_incA, NULL},
 #endif
 #ifdef STARPU_USE_GORDON
 	.gordon_func = kernel_incA_id,
@@ -94,12 +94,12 @@ static struct starpu_codelet cl_inc_a = {
 /* increment c = v[2] */
 struct starpu_codelet cl_inc_c = {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL|STARPU_GORDON,
-	.cpu_func = cpu_codelet_incC,
+	.cpu_funcs = {cpu_codelet_incC, NULL},
 #ifdef STARPU_USE_CUDA
-	.cuda_func = cuda_codelet_incC,
+	.cuda_funcs = {cuda_codelet_incC, NULL},
 #endif
 #ifdef STARPU_USE_OPENCL
-	.opencl_func = opencl_codelet_incC,
+	.opencl_funcs = {opencl_codelet_incC, NULL},
 #endif
 #ifdef STARPU_USE_GORDON
 	.gordon_func = kernel_incC_id,

+ 3 - 3
tests/datawizard/sync_with_data_with_mem.c

@@ -36,12 +36,12 @@ static void dummy_codelet(void *descr[], __attribute__ ((unused)) void *_args)
 
 static struct starpu_codelet cl = {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
-	.cpu_func = dummy_codelet,
+	.cpu_funcs = {dummy_codelet, NULL},
 #ifdef STARPU_USE_CUDA
-	.cuda_func = dummy_codelet,
+	.cuda_funcs = {dummy_codelet, NULL},
 #endif
 #ifdef STARPU_USE_OPENCL
-        .opencl_func = dummy_codelet,
+        .opencl_funcs = {dummy_codelet, NULL},
 #endif
 	.nbuffers = 1
 };

+ 3 - 3
tests/datawizard/sync_with_data_with_mem_non_blocking.c

@@ -37,12 +37,12 @@ static void dummy_codelet(void *descr[], __attribute__ ((unused)) void *_args)
 
 static struct starpu_codelet cl = {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
-	.cpu_func = dummy_codelet,
+	.cpu_funcs = {dummy_codelet, NULL},
 #ifdef STARPU_USE_CUDA
-	.cuda_func = dummy_codelet,
+	.cuda_funcs = {dummy_codelet, NULL},
 #endif
 #ifdef STARPU_USE_OPENCL
-	.opencl_func = dummy_codelet,
+	.opencl_funcs = {dummy_codelet, NULL},
 #endif
 	.nbuffers = 1
 };

+ 3 - 3
tests/datawizard/sync_with_data_with_mem_non_blocking_implicit.c

@@ -37,12 +37,12 @@ static void dummy_codelet(void *descr[], __attribute__ ((unused)) void *_args)
 
 static struct starpu_codelet cl = {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
-	.cpu_func = dummy_codelet,
+	.cpu_funcs = {dummy_codelet, NULL},
 #ifdef STARPU_USE_CUDA
-	.cuda_func = dummy_codelet,
+	.cuda_funcs = {dummy_codelet, NULL},
 #endif
 #ifdef STARPU_USE_OPENCL
-	.opencl_func = dummy_codelet,
+	.opencl_funcs = {dummy_codelet, NULL},
 #endif
 	.nbuffers = 1
 };

+ 3 - 3
tests/datawizard/unpartition.c

@@ -36,12 +36,12 @@ static void dummy_codelet(void *descr[], __attribute__ ((unused)) void *_args)
 
 static struct starpu_codelet cl = {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
-	.cpu_func = dummy_codelet,
+	.cpu_funcs = {dummy_codelet, NULL},
 #ifdef STARPU_USE_CUDA
-	.cuda_func = dummy_codelet,
+	.cuda_funcs = {dummy_codelet, NULL},
 #endif
 #ifdef STARPU_USE_OPENCL
-	.opencl_func = dummy_codelet,
+	.opencl_funcs = {dummy_codelet, NULL},
 #endif
 	.nbuffers = 1
 };

+ 4 - 4
tests/datawizard/write_only_tmp_buffer.c

@@ -70,19 +70,19 @@ static void display_var(void *descr[], __attribute__ ((unused)) void *_args)
 
 static struct starpu_codelet cl = {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
-	.cpu_func = cpu_codelet_null,
+	.cpu_funcs = {cpu_codelet_null, NULL},
 #ifdef STARPU_USE_CUDA
-	.cuda_func = cuda_codelet_null,
+	.cuda_funcs = {cuda_codelet_null, NULL},
 #endif
 #ifdef STARPU_USE_OPENCL
-	.opencl_func = opencl_codelet_null,
+	.opencl_funcs = {opencl_codelet_null, NULL},
 #endif
 	.nbuffers = 1
 };
 
 static struct starpu_codelet display_cl = {
 	.where = STARPU_CPU,
-	.cpu_func = display_var,
+	.cpu_funcs = {display_var, NULL},
 	.nbuffers = 1
 };
 

+ 3 - 3
tests/errorcheck/invalid_blocking_calls.c

@@ -41,9 +41,9 @@ static void wrong_func(void *descr[], void *arg)
 static struct starpu_codelet wrong_codelet =
 {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
-	.cpu_func = wrong_func,
-	.cuda_func = wrong_func,
-        .opencl_func = wrong_func,
+	.cpu_funcs = {wrong_func, NULL},
+	.cuda_funcs = {wrong_func, NULL},
+        .opencl_funcs = {wrong_func, NULL},
 	.model = NULL,
 	.nbuffers = 0
 };

+ 1 - 1
tests/errorcheck/invalid_tasks.c

@@ -26,7 +26,7 @@ static void dummy_func(void *descr[], void *arg)
 static struct starpu_codelet cuda_only_cl = 
 {
 	.where = STARPU_CUDA,
-	.cuda_func = dummy_func,
+	.cuda_funcs = {dummy_func, NULL},
 	.model = NULL,
 	.nbuffers = 0
 };

+ 3 - 3
tests/helper/starpu_create_sync_task.c

@@ -28,9 +28,9 @@ static void dummy_func(void *descr[] __attribute__ ((unused)), void *arg __attri
 static struct starpu_codelet dummy_codelet =
 {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
-	.cpu_func = dummy_func,
-	.cuda_func = dummy_func,
-        .opencl_func = dummy_func,
+	.cpu_funcs = {dummy_func, NULL},
+	.cuda_funcs = {dummy_func, NULL},
+        .opencl_funcs = {dummy_func, NULL},
 	.nbuffers = 0
 };
 

+ 3 - 3
tests/microbenchs/async_tasks_overhead.c

@@ -39,9 +39,9 @@ static void dummy_func(void *descr[] __attribute__ ((unused)), void *arg __attri
 static struct starpu_codelet dummy_codelet = 
 {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL|STARPU_GORDON,
-	.cpu_func = dummy_func,
-	.cuda_func = dummy_func,
-        .opencl_func = dummy_func,
+	.cpu_funcs = {dummy_func, NULL},
+	.cuda_funcs = {dummy_func, NULL},
+        .opencl_funcs = {dummy_func, NULL},
 #ifdef STARPU_USE_GORDON
 	.gordon_func = 0, /* this will be defined later */
 #endif

+ 3 - 3
tests/microbenchs/prefetch_data_on_node.c

@@ -62,9 +62,9 @@ static enum starpu_access_mode select_random_mode(void)
 
 static struct starpu_codelet cl = {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
-	.cpu_func = codelet_null,
-	.cuda_func = codelet_null,
-	.opencl_func = codelet_null,
+	.cpu_funcs = {codelet_null, NULL},
+	.cuda_funcs = {codelet_null, NULL},
+	.opencl_funcs = {codelet_null, NULL},
 	.nbuffers = 1
 };
 

+ 3 - 3
tests/microbenchs/redundant_buffer.c

@@ -43,9 +43,9 @@ static void cpu_codelet_null(void *descr[], __attribute__ ((unused)) void *_args
 
 static struct starpu_codelet cl = {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
-	.cpu_func = cpu_codelet_null,
-	.cuda_func = cuda_codelet_null,
-	.opencl_func = opencl_codelet_null,
+	.cpu_funcs = {cpu_codelet_null, NULL},
+	.cuda_funcs = {cuda_codelet_null, NULL},
+	.opencl_funcs = {opencl_codelet_null, NULL},
         .nbuffers = 2
 };
 

+ 3 - 3
tests/microbenchs/sync_tasks_overhead.c

@@ -31,9 +31,9 @@ static void dummy_func(void *descr[] __attribute__ ((unused)), void *arg __attri
 static struct starpu_codelet dummy_codelet = 
 {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL|STARPU_GORDON,
-	.cpu_func = dummy_func,
-	.cuda_func = dummy_func,
-        .opencl_func = dummy_func,
+	.cpu_funcs = {dummy_func, NULL},
+	.cuda_funcs = {dummy_func, NULL},
+        .opencl_funcs = {dummy_func, NULL},
 #ifdef STARPU_USE_GORDON
 	.gordon_func = 0, /* this will be defined later */
 #endif

+ 3 - 3
tests/microbenchs/tasks_overhead.c

@@ -38,9 +38,9 @@ static void dummy_func(void *descr[] __attribute__ ((unused)), void *arg __attri
 static struct starpu_codelet dummy_codelet = 
 {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
-	.cpu_func = dummy_func,
-	.cuda_func = dummy_func,
-	.opencl_func = dummy_func,
+	.cpu_funcs = {dummy_func, NULL},
+	.cuda_funcs = {dummy_func, NULL},
+	.opencl_funcs = {dummy_func, NULL},
 	.model = NULL,
 	.nbuffers = 0
 };

+ 3 - 3
tests/opt/datawizard/wt_broadcast.c

@@ -73,12 +73,12 @@ static void increment_cpu_kernel(void *descr[], void *arg)
 static struct starpu_codelet increment_cl = {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
 #ifdef STARPU_USE_CUDA
-	.cuda_func = increment_cuda_kernel,
+	.cuda_funcs = {increment_cuda_kernel, NULL},
 #endif
 #ifdef STARPU_USE_OPENCL
-	.opencl_func = increment_opencl_kernel,
+	.opencl_funcs = {increment_opencl_kernel, NULL},
 #endif
-	.cpu_func = increment_cpu_kernel,
+	.cpu_funcs = {increment_cpu_kernel, NULL},
 	.nbuffers = 1
 };
 

+ 3 - 3
tests/opt/datawizard/wt_host.c

@@ -74,12 +74,12 @@ static void increment_cpu_kernel(void *descr[], void *arg)
 static struct starpu_codelet increment_cl = {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
 #ifdef STARPU_USE_CUDA
-	.cuda_func = increment_cuda_kernel,
+	.cuda_funcs = {increment_cuda_kernel, NULL},
 #endif
 #ifdef STARPU_USE_OPENCL
-	.opencl_func = increment_opencl_kernel,
+	.opencl_funcs = {increment_opencl_kernel, NULL},
 #endif
-	.cpu_func = increment_cpu_kernel,
+	.cpu_funcs = {increment_cpu_kernel, NULL},
 	.nbuffers = 1
 };
 

+ 3 - 3
tests/overlap/overlap.c

@@ -61,9 +61,9 @@ static struct starpu_perfmodel model = {
 
 static struct starpu_codelet cl = {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
-	.cpu_func = codelet_sleep,
-	.cuda_func = codelet_sleep,
-        .opencl_func = codelet_sleep,
+	.cpu_funcs = {codelet_sleep, NULL},
+	.cuda_funcs = {codelet_sleep, NULL},
+        .opencl_funcs = {codelet_sleep, NULL},
 	.nbuffers = 1,
 	.model =  &model
 };

+ 3 - 3
tests/parallel_tasks/explicit_combined_worker.c

@@ -39,9 +39,9 @@ static struct starpu_codelet cl = {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
 	.type = STARPU_FORKJOIN,
 	.max_parallelism = INT_MAX,
-	.cpu_func = codelet_null,
-	.cuda_func = codelet_null,
-        .opencl_func = codelet_null,
+	.cpu_funcs = {codelet_null, NULL},
+	.cuda_funcs = {codelet_null, NULL},
+        .opencl_funcs = {codelet_null, NULL},
 	.nbuffers = 1
 };
 

+ 3 - 3
tests/parallel_tasks/parallel_kernels.c

@@ -44,9 +44,9 @@ static struct starpu_codelet cl = {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
 	.type = STARPU_FORKJOIN,
 	.max_parallelism = INT_MAX,
-	.cpu_func = codelet_null,
-	.cuda_func = codelet_null,
-        .opencl_func = codelet_null,
+	.cpu_funcs = {codelet_null, NULL},
+	.cuda_funcs = {codelet_null, NULL},
+        .opencl_funcs = {codelet_null, NULL},
 	.model = &model,
 	.nbuffers = 1
 };

+ 3 - 3
tests/parallel_tasks/parallel_kernels_spmd.c

@@ -46,9 +46,9 @@ static struct starpu_codelet cl = {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
 	.type = STARPU_SPMD,
 	.max_parallelism = INT_MAX,
-	.cpu_func = codelet_null,
-	.cuda_func = codelet_null,
-        .opencl_func = codelet_null,
+	.cpu_funcs = {codelet_null, NULL},
+	.cuda_funcs = {codelet_null, NULL},
+        .opencl_funcs = {codelet_null, NULL},
 	.model = &model,
 	.nbuffers = 1
 };

+ 3 - 3
tests/parallel_tasks/spmd_pgreedy.c

@@ -45,9 +45,9 @@ static struct starpu_codelet cl = {
 	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
 	.type = STARPU_SPMD,
 	.max_parallelism = INT_MAX,
-	.cpu_func = codelet_null,
-	.cuda_func = codelet_null,
-        .opencl_func = codelet_null,
+	.cpu_funcs = {codelet_null, NULL},
+	.cuda_funcs = {codelet_null, NULL},
+        .opencl_funcs = {codelet_null, NULL},
 	.nbuffers = 1
 };
 

+ 2 - 2
tests/perfmodels/non_linear_regression_based.c

@@ -45,9 +45,9 @@ static struct starpu_codelet memset_cl =
 {
 	.where = STARPU_CUDA|STARPU_CPU,
 #ifdef STARPU_USE_CUDA
-	.cuda_func = memset_cuda,
+	.cuda_funcs = {memset_cuda, NULL},
 #endif
-	.cpu_func = memset_cpu,
+	.cpu_funcs = {memset_cpu, NULL},
 	.model = &model,
 	.nbuffers = 1
 };

+ 4 - 4
tests/perfmodels/regression_based.c

@@ -51,9 +51,9 @@ static struct starpu_codelet memset_cl =
 {
 	.where = STARPU_CUDA|STARPU_CPU,
 #ifdef STARPU_USE_CUDA
-	.cuda_func = memset_cuda,
+	.cuda_funcs = {memset_cuda, NULL},
 #endif
-	.cpu_func = memset_cpu,
+	.cpu_funcs = {memset_cpu, NULL},
 	.model = &model,
 	.nbuffers = 1
 };
@@ -62,9 +62,9 @@ static struct starpu_codelet nl_memset_cl =
 {
 	.where = STARPU_CUDA|STARPU_CPU,
 #ifdef STARPU_USE_CUDA
-	.cuda_func = memset_cuda,
+	.cuda_funcs = {memset_cuda, NULL},
 #endif
-	.cpu_func = memset_cpu,
+	.cpu_funcs = {memset_cpu, NULL},
 	.model = &nl_model,
 	.nbuffers = 1
 };