Browse Source

perfmodels: Gordon performance models are no longer enabled

Nathalie Furmento 12 years ago
parent
commit
77815bd069

+ 1 - 0
ChangeLog

@@ -112,6 +112,7 @@ Changes:
       SPU devices
       SPU devices
     - Codelet no longer define pointer for Gordon implementations
     - Codelet no longer define pointer for Gordon implementations
     - Gordon workers are no longer enabled
     - Gordon workers are no longer enabled
+    - Gordon performance models are no longer enabled
   * Fix data transfer arrows in paje traces
   * Fix data transfer arrows in paje traces
   * The "heft" scheduler no longer exists. Users should now pick "dmda"
   * The "heft" scheduler no longer exists. Users should now pick "dmda"
     instead.
     instead.

+ 2 - 3
include/starpu_data.h

@@ -1,7 +1,7 @@
 /* StarPU --- Runtime system for heterogeneous multicore architectures.
 /* StarPU --- Runtime system for heterogeneous multicore architectures.
  *
  *
  * Copyright (C) 2010-2012  Université de Bordeaux 1
  * 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
  * 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
  * it under the terms of the GNU Lesser General Public License as published by
@@ -104,8 +104,7 @@ enum starpu_node_kind
 	STARPU_UNUSED     = 0x00,
 	STARPU_UNUSED     = 0x00,
 	STARPU_CPU_RAM    = 0x01,
 	STARPU_CPU_RAM    = 0x01,
 	STARPU_CUDA_RAM   = 0x02,
 	STARPU_CUDA_RAM   = 0x02,
-	STARPU_OPENCL_RAM = 0x03,
-	STARPU_SPU_LS     = 0x04
+	STARPU_OPENCL_RAM = 0x03
 };
 };
 
 
 unsigned starpu_worker_get_memory_node(unsigned workerid);
 unsigned starpu_worker_get_memory_node(unsigned workerid);

+ 3 - 4
include/starpu_perfmodel.h

@@ -1,7 +1,7 @@
 /* StarPU --- Runtime system for heterogeneous multicore architectures.
 /* StarPU --- Runtime system for heterogeneous multicore architectures.
  *
  *
  * Copyright (C) 2010-2012  Université de Bordeaux 1
  * 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) 2011  Télécom-SudParis
  * Copyright (C) 2011  Télécom-SudParis
  *
  *
  * StarPU is free software; you can redistribute it and/or modify
  * StarPU is free software; you can redistribute it and/or modify
@@ -47,9 +47,8 @@ enum starpu_perf_archtype
 	STARPU_CPU_DEFAULT = 0,
 	STARPU_CPU_DEFAULT = 0,
 	/* CPU combined workers between 0 and STARPU_MAXCPUS-1 */
 	/* CPU combined workers between 0 and STARPU_MAXCPUS-1 */
 	STARPU_CUDA_DEFAULT = STARPU_MAXCPUS,
 	STARPU_CUDA_DEFAULT = STARPU_MAXCPUS,
-	STARPU_OPENCL_DEFAULT = STARPU_CUDA_DEFAULT + STARPU_MAXCUDADEVS,
+	STARPU_OPENCL_DEFAULT = STARPU_CUDA_DEFAULT + STARPU_MAXCUDADEVS
 	/* STARPU_OPENCL_DEFAULT + devid */
 	/* STARPU_OPENCL_DEFAULT + devid */
-	STARPU_GORDON_DEFAULT = STARPU_OPENCL_DEFAULT + STARPU_MAXOPENCLDEVS
 };
 };
 
 
 #ifdef __STDC_VERSION__
 #ifdef __STDC_VERSION__
@@ -67,7 +66,7 @@ _Static_assert(STARPU_CUDA_DEFAULT < STARPU_OPENCL_DEFAULT,
 #  endif
 #  endif
 #endif
 #endif
 
 
-#define STARPU_NARCH_VARIATIONS	(STARPU_GORDON_DEFAULT+1)
+#define STARPU_NARCH_VARIATIONS	(STARPU_OPENCL_DEFAULT + STARPU_MAXOPENCLDEVS)
 
 
 struct starpu_perfmodel_history_entry
 struct starpu_perfmodel_history_entry
 {
 {

+ 3 - 10
src/core/perfmodel/perfmodel.c

@@ -1,7 +1,7 @@
 /* StarPU --- Runtime system for heterogeneous multicore architectures.
 /* StarPU --- Runtime system for heterogeneous multicore architectures.
  *
  *
  * Copyright (C) 2009-2013  Université de Bordeaux 1
  * Copyright (C) 2009-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  Télécom-SudParis
  *
  *
  * StarPU is free software; you can redistribute it and/or modify
  * StarPU is free software; you can redistribute it and/or modify
@@ -99,14 +99,9 @@ double starpu_worker_get_relative_speedup(enum starpu_perf_archtype perf_archtyp
 	{
 	{
 		return _STARPU_CUDA_ALPHA;
 		return _STARPU_CUDA_ALPHA;
 	}
 	}
-	else if (perf_archtype < STARPU_GORDON_DEFAULT)
-	{
-		return _STARPU_OPENCL_ALPHA;
-	}
 	else if (perf_archtype < STARPU_NARCH_VARIATIONS)
 	else if (perf_archtype < STARPU_NARCH_VARIATIONS)
 	{
 	{
-		/* Gordon value */
-		return _STARPU_GORDON_ALPHA;
+		return _STARPU_OPENCL_ALPHA;
 	}
 	}
 
 
 	STARPU_ABORT();
 	STARPU_ABORT();
@@ -240,10 +235,8 @@ double starpu_task_expected_conversion_time(struct starpu_task *task,
 			node_kind = STARPU_CPU_RAM;
 			node_kind = STARPU_CPU_RAM;
 		else if (arch < STARPU_OPENCL_DEFAULT)
 		else if (arch < STARPU_OPENCL_DEFAULT)
 			node_kind = STARPU_CUDA_RAM;
 			node_kind = STARPU_CUDA_RAM;
-		else if (arch < STARPU_GORDON_DEFAULT)
-			node_kind = STARPU_OPENCL_RAM;
 		else
 		else
-			node_kind = STARPU_SPU_LS;
+			node_kind = STARPU_OPENCL_RAM;
 
 
 		if (!_starpu_handle_needs_conversion_task_for_arch(handle, node_kind))
 		if (!_starpu_handle_needs_conversion_task_for_arch(handle, node_kind))
 			continue;
 			continue;

+ 0 - 29
src/core/perfmodel/perfmodel_history.c

@@ -359,21 +359,6 @@ static void parse_model_file(FILE *f, struct starpu_perfmodel *model, unsigned s
 			   archmin + STARPU_MIN(narchs, STARPU_MAXOPENCLDEVS),
 			   archmin + STARPU_MIN(narchs, STARPU_MAXOPENCLDEVS),
 			   narchs > STARPU_MAXOPENCLDEVS ? narchs - STARPU_MAXOPENCLDEVS : 0);
 			   narchs > STARPU_MAXOPENCLDEVS ? narchs - STARPU_MAXOPENCLDEVS : 0);
 	}
 	}
-
-	/* Parsing Gordon implementations */
-	_starpu_drop_comments(f);
-	ret = fscanf(f, "%u\n", &narchs);
-	STARPU_ASSERT_MSG(ret == 1, "Incorrect performance model file");
-
-	archmin += STARPU_MAXOPENCLDEVS;
-	_STARPU_DEBUG("Parsing %u Gordon devices\n", narchs);
-	if (narchs > 0)
-	{
-		parse_arch(f, model, scan_history,
-			   archmin,
-			   archmin + STARPU_MAXGORDONDEVS,
-			   narchs > STARPU_MAXGORDONDEVS ? narchs - STARPU_MAXGORDONDEVS : 0);
-	}
 }
 }
 
 
 
 
@@ -455,7 +440,6 @@ static void dump_model_file(FILE *f, struct starpu_perfmodel *model)
 		{
 		{
 			case STARPU_CUDA_DEFAULT:
 			case STARPU_CUDA_DEFAULT:
 			case STARPU_OPENCL_DEFAULT:
 			case STARPU_OPENCL_DEFAULT:
-			case STARPU_GORDON_DEFAULT:
 				arch_base = arch;
 				arch_base = arch;
 				idx++;
 				idx++;
 				break;
 				break;
@@ -520,15 +504,6 @@ static void dump_model_file(FILE *f, struct starpu_perfmodel *model)
 				fprintf(f, "# number of %s architectures\n", name);
 				fprintf(f, "# number of %s architectures\n", name);
 				fprintf(f, "%u\n", my_narch = narch[2]);
 				fprintf(f, "%u\n", my_narch = narch[2]);
 				break;
 				break;
-			case STARPU_GORDON_DEFAULT:
-				arch_base = arch;
-				name = "GORDON";
-				substract_to_arch += STARPU_MAXOPENCLDEVS;
-				fprintf(f, "##################\n");
-				fprintf(f, "# %ss\n", name);
-				fprintf(f, "# number of %s architectures\n", name);
-				fprintf(f, "%u\n", my_narch = narch[3]);
-				break;
 			default:
 			default:
 				break;
 				break;
 		}
 		}
@@ -1028,10 +1003,6 @@ void starpu_perfmodel_get_arch_name(enum starpu_perf_archtype arch, char *archna
 		int devid = arch - STARPU_OPENCL_DEFAULT;
 		int devid = arch - STARPU_OPENCL_DEFAULT;
 		snprintf(archname, maxlen, "opencl_%d_impl_%u", devid,nimpl);
 		snprintf(archname, maxlen, "opencl_%d_impl_%u", devid,nimpl);
 	}
 	}
-	else if (arch == STARPU_GORDON_DEFAULT)
-	{
-		snprintf(archname, maxlen, "gordon_impl_%u",nimpl);
-	}
 	else
 	else
 	{
 	{
 		STARPU_ABORT();
 		STARPU_ABORT();

+ 1 - 10
src/core/perfmodel/perfmodel_print.c

@@ -1,7 +1,7 @@
 /* StarPU --- Runtime system for heterogeneous multicore architectures.
 /* StarPU --- Runtime system for heterogeneous multicore architectures.
  *
  *
  * Copyright (C) 2011  Université de Bordeaux 1
  * Copyright (C) 2011  Université de Bordeaux 1
- * Copyright (C) 2011, 2012  Centre National de la Recherche Scientifique
+ * Copyright (C) 2011, 2012, 2013  Centre National de la Recherche Scientifique
  * Copyright (C) 2011  Télécom-SudParis
  * Copyright (C) 2011  Télécom-SudParis
  *
  *
  * StarPU is free software; you can redistribute it and/or modify
  * StarPU is free software; you can redistribute it and/or modify
@@ -237,15 +237,6 @@ int starpu_perfmodel_print_all(struct starpu_perfmodel *model, char *arch, char
 			return 0;
 			return 0;
 		}
 		}
 
 
-		if (strcmp(arch, "gordon") == 0)
-		{
-			fprintf(output, "performance model for gordon\n");
-			unsigned implid;
-			for (implid = 0; implid < STARPU_MAXIMPLEMENTATIONS; implid++)
-				starpu_perfmodel_print(model, STARPU_GORDON_DEFAULT, implid, parameter, footprint, output);
-			return 0;
-		}
-
 		fprintf(output, "Unknown architecture requested\n");
 		fprintf(output, "Unknown architecture requested\n");
 		return -1;
 		return -1;
 	}
 	}

+ 0 - 1
src/core/sched_policy.c

@@ -499,7 +499,6 @@ struct starpu_task *_starpu_create_conversion_task_for_arch(starpu_data_handle_t
 		break;
 		break;
 	}
 	}
 #endif
 #endif
-	case STARPU_SPU_LS: /* Not supported */
 	default:
 	default:
 		STARPU_ABORT();
 		STARPU_ABORT();
 	}
 	}

+ 0 - 3
src/core/task.c

@@ -827,7 +827,6 @@ _starpu_handle_needs_conversion_task_for_arch(starpu_data_handle_t handle,
 				case STARPU_CUDA_RAM:      /* Fall through */
 				case STARPU_CUDA_RAM:      /* Fall through */
 				case STARPU_OPENCL_RAM:
 				case STARPU_OPENCL_RAM:
 					return 1;
 					return 1;
-				case STARPU_SPU_LS: /* Not supported */
 				default:
 				default:
 					STARPU_ABORT();
 					STARPU_ABORT();
 			}
 			}
@@ -841,12 +840,10 @@ _starpu_handle_needs_conversion_task_for_arch(starpu_data_handle_t handle,
 				case STARPU_CUDA_RAM:
 				case STARPU_CUDA_RAM:
 				case STARPU_OPENCL_RAM:
 				case STARPU_OPENCL_RAM:
 					return 0;
 					return 0;
-				case STARPU_SPU_LS: /* Not supported */
 				default:
 				default:
 					STARPU_ABORT();
 					STARPU_ABORT();
 			}
 			}
 			break;
 			break;
-		case STARPU_SPU_LS:            /* Not supported */
 		default:
 		default:
 			STARPU_ABORT();
 			STARPU_ABORT();
 	}
 	}

+ 1 - 1
tests/sched_policies/simple_cpu_gpu_sched.c

@@ -104,7 +104,7 @@ init_perfmodels(void)
 		model_cpu_task.per_arch[i][0].cost_function = cpu_task_cpu;
 		model_cpu_task.per_arch[i][0].cost_function = cpu_task_cpu;
 		model_gpu_task.per_arch[i][0].cost_function = gpu_task_cpu;
 		model_gpu_task.per_arch[i][0].cost_function = gpu_task_cpu;
 	}
 	}
-	for (i = STARPU_CUDA_DEFAULT; i < STARPU_GORDON_DEFAULT; i++)
+	for (i = STARPU_CUDA_DEFAULT; i < STARPU_NARCH_VARIATIONS; i++)
 	{
 	{
 		model_cpu_task.per_arch[i][0].cost_function = cpu_task_gpu;
 		model_cpu_task.per_arch[i][0].cost_function = cpu_task_gpu;
 		model_gpu_task.per_arch[i][0].cost_function = gpu_task_gpu;
 		model_gpu_task.per_arch[i][0].cost_function = gpu_task_gpu;

+ 2 - 7
tools/starpu_perfmodel_plot.c

@@ -1,7 +1,7 @@
 /* StarPU --- Runtime system for heterogeneous multicore architectures.
 /* StarPU --- Runtime system for heterogeneous multicore architectures.
  *
  *
  * Copyright (C) 2011-2013  Université de Bordeaux 1
  * Copyright (C) 2011-2013  Université de Bordeaux 1
- * Copyright (C) 2011, 2012  Centre National de la Recherche Scientifique
+ * Copyright (C) 2011, 2012, 2013  Centre National de la Recherche Scientifique
  * Copyright (C) 2011  Télécom-SudParis
  * Copyright (C) 2011  Télécom-SudParis
  *
  *
  * StarPU is free software; you can redistribute it and/or modify
  * StarPU is free software; you can redistribute it and/or modify
@@ -70,7 +70,7 @@ given perfmodel\n");
         fprintf(stderr, "   -l                  display all available models\n");
         fprintf(stderr, "   -l                  display all available models\n");
         fprintf(stderr, "   -s <symbol>         specify the symbol\n");
         fprintf(stderr, "   -s <symbol>         specify the symbol\n");
 	fprintf(stderr, "   -i <Fxt files>      input FxT files generated by StarPU\n");
 	fprintf(stderr, "   -i <Fxt files>      input FxT files generated by StarPU\n");
-        fprintf(stderr, "   -a <arch>           specify the architecture (e.g. cpu, cpu:k, cuda_k, gordon)\n");
+        fprintf(stderr, "   -a <arch>           specify the architecture (e.g. cpu, cpu:k, cuda_k)\n");
 	fprintf(stderr, "   -h, --help          display this help and exit\n");
 	fprintf(stderr, "   -h, --help          display this help and exit\n");
 	fprintf(stderr, "   -v, --version       output version information and exit\n\n");
 	fprintf(stderr, "   -v, --version       output version information and exit\n\n");
         fprintf(stderr, "Report bugs to <%s>.", PACKAGE_BUGREPORT);
         fprintf(stderr, "Report bugs to <%s>.", PACKAGE_BUGREPORT);
@@ -390,11 +390,6 @@ static void display_selected_models(FILE *gnuplot_file, struct starpu_perfmodel
 			return;
 			return;
 		}
 		}
 
 
-		if (strcmp(arch, "gordon") == 0) {
-			display_perf_models(gnuplot_file, model, STARPU_GORDON_DEFAULT, (enum starpu_perf_archtype) (STARPU_GORDON_DEFAULT + 1), &first);
-			return;
-		}
-
 		fprintf(stderr, "Unknown architecture requested, aborting.\n");
 		fprintf(stderr, "Unknown architecture requested, aborting.\n");
 		exit(-1);
 		exit(-1);
 	}
 	}