Bläddra i källkod

port r15744 from 1.2: Add names to scheduling component

Samuel Thibault 9 år sedan
förälder
incheckning
fbf8e5ab03

+ 1 - 0
include/starpu_sched_component.h

@@ -44,6 +44,7 @@ struct starpu_sched_component
 	struct starpu_bitmap *workers;
 	struct starpu_bitmap *workers_in_ctx;
 	void *data;
+	char *name;
 	int nchildren;
 	struct starpu_sched_component **children;
 	int nparents;

+ 1 - 0
src/sched_policies/component_best_implementation.c

@@ -109,5 +109,6 @@ struct starpu_sched_component * starpu_sched_component_best_implementation_creat
 	struct starpu_sched_component * component = starpu_sched_component_create(tree);
 	component->push_task = best_implementation_push_task;
 	component->pull_task = best_implementation_pull_task;
+	component->name = "best_implementation";
 	return component;
 }

+ 1 - 0
src/sched_policies/component_composed.c

@@ -229,5 +229,6 @@ struct starpu_sched_component * starpu_sched_component_composed_component_create
 	component->add_child = composed_component_add_child;
 	component->remove_child = composed_component_remove_child;
 	component->notify_change_workers = composed_component_notify_change_workers;
+	component->name = "composed";
 	return component;
 }

+ 1 - 0
src/sched_policies/component_eager.c

@@ -68,6 +68,7 @@ struct starpu_sched_component * starpu_sched_component_eager_create(struct starp
 {
 	struct starpu_sched_component * component = starpu_sched_component_create(tree);
 	component->push_task = eager_push_task;
+	component->name = "eager";
 
 	return component;
 }

+ 1 - 0
src/sched_policies/component_eager_calibration.c

@@ -81,6 +81,7 @@ struct starpu_sched_component * starpu_sched_component_eager_calibration_create(
 {
 	struct starpu_sched_component * component = starpu_sched_component_create(tree);
 	component->push_task = eager_calibration_push_task;
+	component->name = "eager_calibration";
 
 	return component;
 }

+ 1 - 0
src/sched_policies/component_fifo.c

@@ -250,6 +250,7 @@ struct starpu_sched_component * starpu_sched_component_fifo_create(struct starpu
 	component->pull_task = fifo_pull_task;
 	component->can_push = fifo_can_push;
 	component->deinit_data = fifo_component_deinit_data;
+	component->name = "fifo";
 
 	if(params)
 	{

+ 1 - 0
src/sched_policies/component_heft.c

@@ -238,6 +238,7 @@ struct starpu_sched_component * starpu_sched_component_heft_create(struct starpu
 	component->push_task = heft_push_task;
 	component->can_push = heft_can_push;
 	component->deinit_data = heft_component_deinit_data;
+	component->name = "heft";
 
 	return component;
 }

+ 2 - 1
src/sched_policies/component_mct.c

@@ -1,6 +1,6 @@
 /* StarPU --- Runtime system for heterogeneous multicore architectures.
  *
- * Copyright (C) 2013-2014  Université de Bordeaux
+ * Copyright (C) 2013-2015  Université de Bordeaux
  * Copyright (C) 2013  INRIA
  * Copyright (C) 2013  Simon Archipoff
  *
@@ -124,6 +124,7 @@ struct starpu_sched_component * starpu_sched_component_mct_create(struct starpu_
 
 	component->push_task = mct_push_task;
 	component->deinit_data = mct_component_deinit_data;
+	component->name = "mct";
 
 	return component;
 }

+ 1 - 0
src/sched_policies/component_perfmodel_select.c

@@ -80,6 +80,7 @@ struct starpu_sched_component * starpu_sched_component_perfmodel_select_create(s
 	component->data = data;
 	component->push_task = perfmodel_select_push_task;
 	component->deinit_data = perfmodel_select_component_deinit_data;
+	component->name = "perfmodel_selector";
 
 	return component;
 }

+ 1 - 0
src/sched_policies/component_prio.c

@@ -273,6 +273,7 @@ struct starpu_sched_component * starpu_sched_component_prio_create(struct starpu
 	component->can_push = prio_can_push;
 	component->deinit_data = prio_component_deinit_data;
 
+	component->name = "prio";
 	if(params)
 	{
 		data->ntasks_threshold=params->ntasks_threshold;

+ 1 - 0
src/sched_policies/component_random.c

@@ -116,5 +116,6 @@ struct starpu_sched_component * starpu_sched_component_random_create(struct star
 	struct starpu_sched_component * component = starpu_sched_component_create(tree);
 	component->estimated_end = random_estimated_end;
 	component->push_task = random_push_task;
+	component->name = "random";
 	return component;
 }

+ 1 - 0
src/sched_policies/component_sched.c

@@ -583,5 +583,6 @@ struct starpu_sched_component * starpu_sched_component_create(struct starpu_sche
 	component->estimated_end = starpu_sched_component_estimated_end_min;
 	component->deinit_data = take_component_and_does_nothing;
 	component->notify_change_workers = take_component_and_does_nothing;
+	component->name = "sched";
 	return component;
 }

+ 1 - 0
src/sched_policies/component_work_stealing.c

@@ -348,5 +348,6 @@ struct starpu_sched_component * starpu_sched_component_work_stealing_create(stru
 	component->estimated_load = _ws_estimated_load;
 	component->deinit_data = _work_stealing_component_deinit_data;
 	component->data = wsd;
+	component->name = "work_stealing";
 	return  component;
 }

+ 3 - 1
src/sched_policies/component_worker.c

@@ -1,6 +1,6 @@
 /* StarPU --- Runtime system for heterogeneous multicore architectures.
  *
- * Copyright (C) 2010-2014  Université de Bordeaux
+ * Copyright (C) 2010-2015  Université de Bordeaux
  * Copyright (C) 2010, 2011, 2012, 2014, 2015  CNRS
  * Copyright (C) 2011  Télécom-SudParis
  * Copyright (C) 2011-2013  INRIA
@@ -607,6 +607,7 @@ static struct starpu_sched_component * starpu_sched_component_worker_create(stru
 	starpu_bitmap_set(component->workers, workerid);
 	starpu_bitmap_or(component->workers_in_ctx, component->workers);
 	_worker_components[tree->sched_ctx_id][workerid] = component;
+	component->name = "worker";
 
 	/*
 #ifdef STARPU_HAVE_HWLOC
@@ -785,6 +786,7 @@ static struct starpu_sched_component  * starpu_sched_component_combined_worker_c
 	starpu_bitmap_set(component->workers, workerid);
 	starpu_bitmap_or(component->workers_in_ctx, component->workers);
 	_worker_components[tree->sched_ctx_id][workerid] = component;
+	component->name = "combined worker";
 
 #ifdef STARPU_HAVE_HWLOC
 	struct _starpu_machine_config *config = _starpu_get_machine_config();