Переглянути джерело

task: it is no longer possible to define a gordon implementation of a codelet

Nathalie Furmento 12 роки тому
батько
коміт
3e06c96920

+ 4 - 25
examples/cholesky/cholesky_tile_tag.c

@@ -1,7 +1,7 @@
 /* StarPU --- Runtime system for heterogeneous multicore architectures.
  *
  * Copyright (C) 2009-2012  Université de Bordeaux 1
- * Copyright (C) 2010, 2011, 2012  Centre National de la Recherche Scientifique
+ * Copyright (C) 2010, 2011, 2012, 2013  Centre National de la Recherche Scientifique
  *
  * 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
@@ -42,18 +42,11 @@ static struct starpu_task *create_task(starpu_tag_t id)
 static struct starpu_codelet cl11 =
 {
 	.modes = { STARPU_RW },
-	.where = STARPU_CPU|STARPU_CUDA|STARPU_GORDON,
+	.where = STARPU_CPU|STARPU_CUDA,
 	.cpu_funcs = {chol_cpu_codelet_update_u11, NULL},
 #ifdef STARPU_USE_CUDA
 	.cuda_funcs = {chol_cublas_codelet_update_u11, NULL},
 #endif
-#ifdef STARPU_USE_GORDON
-#ifdef SPU_FUNC_POTRF
-	.gordon_func = SPU_FUNC_POTRF,
-#else
-#warning SPU_FUNC_POTRF is not available
-#endif
-#endif
 	.nbuffers = 1,
 	.model = &chol_model_11
 };
@@ -84,18 +77,11 @@ static struct starpu_task * create_task_11(unsigned k, unsigned nblocks)
 static struct starpu_codelet cl21 =
 {
 	.modes = { STARPU_R, STARPU_RW },
-	.where = STARPU_CPU|STARPU_CUDA|STARPU_GORDON,
+	.where = STARPU_CPU|STARPU_CUDA,
 	.cpu_funcs = {chol_cpu_codelet_update_u21, NULL},
 #ifdef STARPU_USE_CUDA
 	.cuda_funcs = {chol_cublas_codelet_update_u21, NULL},
 #endif
-#ifdef STARPU_USE_GORDON
-#ifdef SPU_FUNC_STRSM
-	.gordon_func = SPU_FUNC_STRSM,
-#else
-#warning SPU_FUNC_STRSM is not available
-#endif
-#endif
 	.nbuffers = 2,
 	.model = &chol_model_21
 };
@@ -135,18 +121,11 @@ static int create_task_21(unsigned k, unsigned j)
 static struct starpu_codelet cl22 =
 {
 	.modes = { STARPU_R, STARPU_R, STARPU_RW },
-	.where = STARPU_CPU|STARPU_CUDA|STARPU_GORDON,
+	.where = STARPU_CPU|STARPU_CUDA,
 	.cpu_funcs = {chol_cpu_codelet_update_u22, NULL},
 #ifdef STARPU_USE_CUDA
 	.cuda_funcs = {chol_cublas_codelet_update_u22, NULL},
 #endif
-#ifdef STARPU_USE_GORDON
-#ifdef SPU_FUNC_SGEMM
-	.gordon_func = SPU_FUNC_SGEMM,
-#else
-#warning SPU_FUNC_SGEMM is not available
-#endif
-#endif
 	.nbuffers = 3,
 	.model = &chol_model_22
 };

+ 0 - 3
gcc-plugin/src/tasks.c

@@ -118,9 +118,6 @@ task_implementation_target_to_int (const_tree target)
   else if (!strncmp (TREE_STRING_POINTER (target), "cuda",
 		     TREE_STRING_LENGTH (target)))
     where_int = STARPU_CUDA;
-  else if (!strncmp (TREE_STRING_POINTER (target), "gordon",
-		     TREE_STRING_LENGTH (target)))
-    where_int = STARPU_GORDON;
   else
     where_int = 0;
 

+ 1 - 7
include/starpu_task.h

@@ -1,7 +1,7 @@
 /* StarPU --- Runtime system for heterogeneous multicore architectures.
  *
  * Copyright (C) 2010-2013  Université de Bordeaux 1
- * Copyright (C) 2010, 2011, 2012  Centre National de la Recherche Scientifique
+ * Copyright (C) 2010, 2011, 2012, 2013  Centre National de la Recherche Scientifique
  * Copyright (C) 2011  Télécom-SudParis
  * Copyright (C) 2011  INRIA
  *
@@ -36,8 +36,6 @@ extern "C"
 
 #define STARPU_CPU	((1ULL)<<1)
 #define STARPU_CUDA	((1ULL)<<3)
-#define	STARPU_SPU	((1ULL)<<4),
-#define	STARPU_GORDON	((1ULL)<<5)
 #define STARPU_OPENCL	((1ULL)<<6)
 
 /* Codelet types */
@@ -67,12 +65,10 @@ typedef uint64_t starpu_tag_t;
 typedef void (*starpu_cpu_func_t)(void **, void*);    /* CPU core */
 typedef void (*starpu_cuda_func_t)(void **, void*);   /* NVIDIA CUDA device */
 typedef void (*starpu_opencl_func_t)(void **, void*); /* OpenCL CUDA device */
-typedef uint8_t starpu_gordon_func_t; /* Cell SPU */
 
 #define STARPU_MULTIPLE_CPU_IMPLEMENTATIONS    ((starpu_cpu_func_t) -1)
 #define STARPU_MULTIPLE_CUDA_IMPLEMENTATIONS   ((starpu_cuda_func_t) -1)
 #define STARPU_MULTIPLE_OPENCL_IMPLEMENTATIONS ((starpu_opencl_func_t) -1)
-#define STARPU_MULTIPLE_GORDON_IMPLEMENTATIONS 255
 
 /*
  * A codelet describes the various function
@@ -91,12 +87,10 @@ struct starpu_codelet
 	starpu_cuda_func_t cuda_func STARPU_DEPRECATED;
 	starpu_cpu_func_t cpu_func STARPU_DEPRECATED;
 	starpu_opencl_func_t opencl_func STARPU_DEPRECATED;
-	uint8_t gordon_func STARPU_DEPRECATED;
 
 	starpu_cpu_func_t cpu_funcs[STARPU_MAXIMPLEMENTATIONS];
 	starpu_cuda_func_t cuda_funcs[STARPU_MAXIMPLEMENTATIONS];
 	starpu_opencl_func_t opencl_funcs[STARPU_MAXIMPLEMENTATIONS];
-	starpu_gordon_func_t gordon_funcs[STARPU_MAXIMPLEMENTATIONS];
 
 	/* how many buffers do the codelet takes as argument ? */
 	unsigned nbuffers;

+ 0 - 20
src/core/task.c

@@ -319,21 +319,6 @@ void _starpu_codelet_check_deprecated_fields(struct starpu_codelet *cl)
 	{
 		cl->where |= STARPU_OPENCL;
 	}
-
-	/* Gordon */
-	if (cl->gordon_func && cl->gordon_func != STARPU_MULTIPLE_GORDON_IMPLEMENTATIONS)
-	{
-		cl->gordon_funcs[0] = cl->gordon_func;
-		cl->gordon_func = STARPU_MULTIPLE_GORDON_IMPLEMENTATIONS;
-	}
-	if (cl->gordon_funcs[0] && cl->gordon_func == 0)
-	{
-		cl->gordon_func = STARPU_MULTIPLE_GORDON_IMPLEMENTATIONS;
-	}
-	if (cl->gordon_funcs[0] && is_where_unset)
-	{
-		cl->where = STARPU_GORDON;
-	}
 }
 
 void _starpu_task_check_deprecated_fields(struct starpu_task *task)
@@ -883,8 +868,3 @@ starpu_opencl_func_t _starpu_task_get_opencl_nth_implementation(struct starpu_co
 {
 	return cl->opencl_funcs[nimpl];
 }
-
-starpu_gordon_func_t _starpu_task_get_gordon_nth_implementation(struct starpu_codelet *cl, unsigned nimpl)
-{
-	return cl->gordon_funcs[nimpl];
-}

+ 1 - 2
src/core/task.h

@@ -1,7 +1,7 @@
 /* StarPU --- Runtime system for heterogeneous multicore architectures.
  *
  * Copyright (C) 2009-2013  Université de Bordeaux 1
- * Copyright (C) 2010, 2011  Centre National de la Recherche Scientifique
+ * Copyright (C) 2010, 2011, 2013  Centre National de la Recherche Scientifique
  * Copyright (C) 2011 INRIA
  *
  * StarPU is free software; you can redistribute it and/or modify
@@ -74,6 +74,5 @@ void _starpu_codelet_check_deprecated_fields(struct starpu_codelet *cl);
 starpu_cpu_func_t _starpu_task_get_cpu_nth_implementation(struct starpu_codelet *cl, unsigned nimpl);
 starpu_cuda_func_t _starpu_task_get_cuda_nth_implementation(struct starpu_codelet *cl, unsigned nimpl);
 starpu_opencl_func_t _starpu_task_get_opencl_nth_implementation(struct starpu_codelet *cl, unsigned nimpl);
-starpu_gordon_func_t _starpu_task_get_gordon_nth_implementation(struct starpu_codelet *cl, unsigned nimpl);
 
 #endif // __CORE_TASK_H__

+ 2 - 15
src/core/workers.c

@@ -95,10 +95,6 @@ static uint32_t _starpu_worker_exists_and_can_execute(struct starpu_task *task,
 				if (task->cl->opencl_funcs[i] != NULL)
 					test_implementation = 1;
 				break;
-			case STARPU_GORDON_WORKER:
-				if (task->cl->gordon_funcs[i] != 0)
-					test_implementation = 1;
-				break;
 			default:
 				STARPU_ABORT();
 			}
@@ -163,7 +159,7 @@ static int _starpu_can_use_nth_implementation(enum starpu_archtype arch, struct
 	{
 	case STARPU_ANY_WORKER:
 	{
-		int cpu_func_enabled=1, cuda_func_enabled=1, opencl_func_enabled=1, gordon_func_enabled=1;
+		int cpu_func_enabled=1, cuda_func_enabled=1, opencl_func_enabled=1;
 
 #if defined(STARPU_USE_CPU) || defined(STARPU_SIMGRID)
 		starpu_cpu_func_t cpu_func = _starpu_task_get_cpu_nth_implementation(cl, nimpl);
@@ -177,12 +173,8 @@ static int _starpu_can_use_nth_implementation(enum starpu_archtype arch, struct
 		starpu_opencl_func_t opencl_func = _starpu_task_get_opencl_nth_implementation(cl, nimpl);
 		opencl_func_enabled = opencl_func != NULL && starpu_opencl_worker_get_count();
 #endif
-#if defined(STARPU_USE_GORDON) || defined(STARPU_SIMGRID)
-		starpu_gordon_func_t gordon_func = _starpu_task_get_gordon_nth_implementation(cl, nimpl);
-		gordon_func_enabled = gordon_func != 0 && starpu_spu_worker_get_count();
-#endif
 
-		return (cpu_func_enabled && cuda_func_enabled && opencl_func_enabled && gordon_func_enabled);
+		return (cpu_func_enabled && cuda_func_enabled && opencl_func_enabled);
 	}
 	case STARPU_CPU_WORKER:
 	{
@@ -199,11 +191,6 @@ static int _starpu_can_use_nth_implementation(enum starpu_archtype arch, struct
 		starpu_opencl_func_t func = _starpu_task_get_opencl_nth_implementation(cl, nimpl);
 		return func != NULL;
 	}
-	case STARPU_GORDON_WORKER:
-	{
-		starpu_gordon_func_t func = _starpu_task_get_gordon_nth_implementation(cl, nimpl);
-		return func != 0;
-	}
 	default:
 		STARPU_ASSERT_MSG(0, "Unknown arch type %d", arch);
 	}

+ 3 - 26
tests/datawizard/sync_and_notify_data.c

@@ -1,7 +1,7 @@
 /* StarPU --- Runtime system for heterogeneous multicore architectures.
  *
  * Copyright (C) 2010, 2012  Université de Bordeaux 1
- * Copyright (C) 2010, 2011, 2012  Centre National de la Recherche Scientifique
+ * Copyright (C) 2010, 2011, 2012, 2013  Centre National de la Recherche Scientifique
  * Copyright (C) 2012 inria
  *
  * StarPU is free software; you can redistribute it and/or modify
@@ -22,10 +22,6 @@
 #include <errno.h>
 #include <starpu.h>
 
-#ifdef STARPU_USE_GORDON
-#include <gordon.h>
-#endif
-
 #include "../helper.h"
 
 #define N_DEF	100
@@ -94,19 +90,6 @@ int main(int argc, char **argv)
 	if (ret == -ENODEV) return STARPU_TEST_SKIPPED;
 	STARPU_CHECK_RETURN_VALUE(ret, "starpu_init");
 
-#ifdef STARPU_USE_GORDON
-	unsigned elf_id = gordon_register_elf_plugin("./datawizard/sync_and_notify_data_gordon_kernels.spuelf");
-	gordon_load_plugin_on_all_spu(elf_id);
-
-	unsigned kernel_incA_id = gordon_register_kernel(elf_id, "incA");
-	gordon_load_kernel_on_all_spu(kernel_incA_id);
-
-	unsigned kernel_incC_id = gordon_register_kernel(elf_id, "incC");
-	gordon_load_kernel_on_all_spu(kernel_incC_id);
-
-	FPRINTF(stderr, "kernel incA %d incC %d elf %d\n", kernel_incA_id, kernel_incC_id, elf_id);
-#endif
-
 #ifdef STARPU_USE_OPENCL
         ret = starpu_opencl_load_opencl_from_file("tests/datawizard/sync_and_notify_data_opencl_codelet.cl", &opencl_code, NULL);
 	STARPU_CHECK_RETURN_VALUE(ret, "starpu_opencl_load_opencl_from_file");
@@ -123,7 +106,7 @@ 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,
+				.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
 				.cpu_funcs = {cpu_codelet_incA, NULL},
 #ifdef STARPU_USE_CUDA
 				.cuda_funcs = {cuda_codelet_incA, NULL},
@@ -131,9 +114,6 @@ int main(int argc, char **argv)
 #ifdef STARPU_USE_OPENCL
 				.opencl_funcs = {opencl_codelet_incA, NULL},
 #endif
-#ifdef STARPU_USE_GORDON
-				.gordon_func = kernel_incA_id,
-#endif
 				.nbuffers = 1,
 				.modes = {STARPU_RW}
 			};
@@ -163,7 +143,7 @@ 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,
+				.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
 				.cpu_funcs = {cpu_codelet_incC, NULL},
 #ifdef STARPU_USE_CUDA
 				.cuda_funcs = {cuda_codelet_incC, NULL},
@@ -171,9 +151,6 @@ int main(int argc, char **argv)
 #ifdef STARPU_USE_OPENCL
 				.opencl_funcs = {opencl_codelet_incC, NULL},
 #endif
-#ifdef STARPU_USE_GORDON
-				.gordon_func = kernel_incC_id,
-#endif
 				.nbuffers = 1,
 				.modes = {STARPU_RW}
 

+ 3 - 26
tests/datawizard/sync_and_notify_data_implicit.c

@@ -1,7 +1,7 @@
 /* StarPU --- Runtime system for heterogeneous multicore architectures.
  *
  * Copyright (C) 2010  Université de Bordeaux 1
- * Copyright (C) 2010, 2011, 2012  Centre National de la Recherche Scientifique
+ * Copyright (C) 2010, 2011, 2012, 2013  Centre National de la Recherche Scientifique
  *
  * 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
@@ -21,10 +21,6 @@
 #include <errno.h>
 #include <starpu.h>
 
-#ifdef STARPU_USE_GORDON
-#include <gordon.h>
-#endif
-
 #include "../helper.h"
 
 #define N_DEF	100
@@ -83,7 +79,7 @@ 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,
+	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
 	.cpu_funcs = {cpu_codelet_incA, NULL},
 #ifdef STARPU_USE_CUDA
 	.cuda_funcs = {cuda_codelet_incA, NULL},
@@ -91,9 +87,6 @@ static struct starpu_codelet cl_inc_a =
 #ifdef STARPU_USE_OPENCL
 	.opencl_funcs = {opencl_codelet_incA, NULL},
 #endif
-#ifdef STARPU_USE_GORDON
-	.gordon_func = kernel_incA_id,
-#endif
 	.nbuffers = 1,
 	.modes = {STARPU_RW}
 };
@@ -101,7 +94,7 @@ 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,
+	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
 	.cpu_funcs = {cpu_codelet_incC, NULL},
 #ifdef STARPU_USE_CUDA
 	.cuda_funcs = {cuda_codelet_incC, NULL},
@@ -109,9 +102,6 @@ struct starpu_codelet cl_inc_c =
 #ifdef STARPU_USE_OPENCL
 	.opencl_funcs = {opencl_codelet_incC, NULL},
 #endif
-#ifdef STARPU_USE_GORDON
-	.gordon_func = kernel_incC_id,
-#endif
 	.nbuffers = 1,
 	.modes = {STARPU_RW}
 };
@@ -129,19 +119,6 @@ int main(int argc, char **argv)
 	if (ret == -ENODEV) return STARPU_TEST_SKIPPED;
 	STARPU_CHECK_RETURN_VALUE(ret, "starpu_init");
 
-#ifdef STARPU_USE_GORDON
-	unsigned elf_id = gordon_register_elf_plugin("./datawizard/sync_and_notify_data_gordon_kernels.spuelf");
-	gordon_load_plugin_on_all_spu(elf_id);
-
-	unsigned kernel_incA_id = gordon_register_kernel(elf_id, "incA");
-	gordon_load_kernel_on_all_spu(kernel_incA_id);
-
-	unsigned kernel_incC_id = gordon_register_kernel(elf_id, "incC");
-	gordon_load_kernel_on_all_spu(kernel_incC_id);
-
-	FPRINTF(stderr, "kernel incA %d incC %d elf %d\n", kernel_incA_id, kernel_incC_id, elf_id);
-#endif
-
 #ifdef STARPU_USE_OPENCL
         ret = starpu_opencl_load_opencl_from_file("tests/datawizard/sync_and_notify_data_opencl_codelet.cl", &opencl_code, NULL);
 	STARPU_CHECK_RETURN_VALUE(ret, "starpu_opencl_load_opencl_from_file");

+ 2 - 22
tests/main/starpu_task_wait_for_all.c

@@ -1,7 +1,7 @@
 /* StarPU --- Runtime system for heterogeneous multicore architectures.
  *
  * Copyright (C) 2010-2012  Université de Bordeaux 1
- * Copyright (C) 2010, 2011, 2012  Centre National de la Recherche Scientifique
+ * Copyright (C) 2010, 2011, 2012, 2013  Centre National de la Recherche Scientifique
  *
  * 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
@@ -34,32 +34,14 @@ static void dummy_func(void *descr[], void *arg)
 
 static struct starpu_codelet dummy_codelet =
 {
-	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL|STARPU_GORDON,
+	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
 	.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
 	.model = NULL,
 	.nbuffers = 0
 };
 
-static void init_gordon_kernel(void)
-{
-#ifdef STARPU_USE_GORDON
-	unsigned elf_id =
-		gordon_register_elf_plugin("./microbenchs/null_kernel_gordon.spuelf");
-	gordon_load_plugin_on_all_spu(elf_id);
-
-	unsigned gordon_null_kernel =
-		gordon_register_kernel(elf_id, "empty_kernel");
-	gordon_load_kernel_on_all_spu(gordon_null_kernel);
-
-	dummy_codelet.gordon_func = gordon_null_kernel;
-#endif
-}
-
 static int inject_one_task(void)
 {
 	struct starpu_task *task = starpu_task_create();
@@ -114,8 +96,6 @@ int main(int argc, char **argv)
 	if (ret == -ENODEV) return STARPU_TEST_SKIPPED;
 	STARPU_CHECK_RETURN_VALUE(ret, "starpu_init");
 
-	init_gordon_kernel();
-
 	FPRINTF(stderr, "#tasks : %u\n", ntasks);
 
 	gettimeofday(&start, NULL);

+ 1 - 21
tests/microbenchs/async_tasks_overhead.c

@@ -36,32 +36,14 @@ 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,
+	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
 	.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
 	.model = NULL,
 	.nbuffers = 0
 };
 
-static void init_gordon_kernel(void)
-{
-#ifdef STARPU_USE_GORDON
-	unsigned elf_id =
-		gordon_register_elf_plugin("./microbenchs/null_kernel_gordon.spuelf");
-	gordon_load_plugin_on_all_spu(elf_id);
-
-	unsigned gordon_null_kernel =
-		gordon_register_kernel(elf_id, "empty_kernel");
-	gordon_load_kernel_on_all_spu(gordon_null_kernel);
-
-	dummy_codelet.gordon_func = gordon_null_kernel;
-#endif
-}
-
 //static void inject_one_task(void)
 //{
 //	struct starpu_task *task = starpu_task_create();
@@ -115,8 +97,6 @@ int main(int argc, char **argv)
 	if (ret == -ENODEV) return STARPU_TEST_SKIPPED;
 	STARPU_CHECK_RETURN_VALUE(ret, "starpu_init");
 
-	init_gordon_kernel();
-
 	starpu_profiling_status_set(STARPU_PROFILING_ENABLE);
 
 	fprintf(stderr, "#tasks : %u\n", ntasks);

+ 2 - 22
tests/microbenchs/sync_tasks_overhead.c

@@ -1,7 +1,7 @@
 /* StarPU --- Runtime system for heterogeneous multicore architectures.
  *
  * Copyright (C) 2010-2012  Université de Bordeaux 1
- * Copyright (C) 2010, 2011, 2012  Centre National de la Recherche Scientifique
+ * Copyright (C) 2010, 2011, 2012, 2013  Centre National de la Recherche Scientifique
  *
  * 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
@@ -30,32 +30,14 @@ 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,
+	.where = STARPU_CPU|STARPU_CUDA|STARPU_OPENCL,
 	.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
 	.model = NULL,
 	.nbuffers = 0
 };
 
-static void init_gordon_kernel(void)
-{
-#ifdef STARPU_USE_GORDON
-	unsigned elf_id = 
-		gordon_register_elf_plugin("./microbenchs/null_kernel_gordon.spuelf");
-	gordon_load_plugin_on_all_spu(elf_id);
-
-	unsigned gordon_null_kernel =
-		gordon_register_kernel(elf_id, "empty_kernel");
-	gordon_load_kernel_on_all_spu(gordon_null_kernel);
-
-	dummy_codelet.gordon_func = gordon_null_kernel;
-#endif
-}
-
 int inject_one_task(void)
 {
 	int ret;
@@ -103,8 +85,6 @@ int main(int argc, char **argv)
 	if (ret == -ENODEV) return STARPU_TEST_SKIPPED;
 	STARPU_CHECK_RETURN_VALUE(ret, "starpu_init");
 
-	init_gordon_kernel();
-
 	fprintf(stderr, "#tasks : %u\n", ntasks);
 
 	gettimeofday(&start, NULL);