浏览代码

Fix signedness of nchildren and nparents of components

Samuel Thibault 7 年之前
父节点
当前提交
e94fa8da65

+ 2 - 2
include/starpu_sched_component.h

@@ -46,9 +46,9 @@ struct starpu_sched_component
 	struct starpu_bitmap *workers_in_ctx;
 	void *data;
 	char *name;
-	int nchildren;
+	unsigned nchildren;
 	struct starpu_sched_component **children;
-	int nparents;
+	unsigned nparents;
 	struct starpu_sched_component **parents;
 
 	void (*add_child)(struct starpu_sched_component *component, struct starpu_sched_component *child);

+ 1 - 1
src/sched_policies/component_best_implementation.c

@@ -88,7 +88,7 @@ int starpu_sched_component_is_best_implementation(struct starpu_sched_component
 static struct starpu_task * best_implementation_pull_task(struct starpu_sched_component * component)
 {
 	struct starpu_task * task = NULL;
-	int i;
+	unsigned i;
 	for(i=0; i < component->nparents; i++)
 	{
 		if(component->parents[i] == NULL)

+ 1 - 1
src/sched_policies/component_composed.c

@@ -132,7 +132,7 @@ struct starpu_task * composed_component_pull_task(struct starpu_sched_component
 	if(task)
 		return task;
 
-	int i;
+	unsigned i;
 	for(i=0; i < component->nparents; i++)
 	{
 		if(component->parents[i] == NULL)

+ 1 - 1
src/sched_policies/component_eager.c

@@ -34,7 +34,7 @@ static int eager_push_task(struct starpu_sched_component * component, struct sta
 			if(starpu_worker_can_execute_task(workerid,task,nimpl)
 			   || starpu_combined_worker_can_execute_task(workerid, task, nimpl))
 			{
-				int i;
+				unsigned i;
 				for (i = 0; i < component->nchildren; i++)
 				{
 					int idworker;

+ 1 - 1
src/sched_policies/component_eager_calibration.c

@@ -45,7 +45,7 @@ static int eager_calibration_push_task(struct starpu_sched_component * component
 
 				if(isnan(d))
 				{
-					int i;
+					unsigned i;
 					for (i = 0; i < component->nchildren; i++)
 					{
 						int idworker;

+ 4 - 3
src/sched_policies/component_heft.c

@@ -85,7 +85,7 @@ static int heft_progress_one(struct starpu_sched_component *component)
 		/* Estimate durations */
 		for (n = 0; n < ntasks; n++)
 		{
-			int offset = component->nchildren * n;
+			unsigned offset = component->nchildren * n;
 
 			min_exp_end_with_task[n] = DBL_MAX;
 			max_exp_end_with_task[n] = 0.0;
@@ -131,7 +131,7 @@ static int heft_progress_one(struct starpu_sched_component *component)
 		 * including data transfer */
 		for(i = 0; i < nsuitable_components[best_task]; i++)
 		{
-			int offset = component->nchildren * best_task;
+			unsigned offset = component->nchildren * best_task;
 			int icomponent = suitable_components[offset + i];
 #ifdef STARPU_DEVEL
 #warning FIXME: take energy consumption into account
@@ -203,7 +203,8 @@ static int heft_push_task(struct starpu_sched_component * component, struct star
 static int heft_can_push(struct starpu_sched_component *component)
 {
 	heft_progress(component);
-	int ret = 0, j;
+	int ret = 0;
+	unsigned j;
 	for(j=0; j < component->nparents; j++)
 	{
 		if(component->parents[j] == NULL)

+ 1 - 1
src/sched_policies/component_mct.c

@@ -37,7 +37,7 @@ static int mct_push_task(struct starpu_sched_component * component, struct starp
 	/* Estimated transfer+task termination for each child */
 	double estimated_ends_with_task[component->nchildren];
 
-	int i;
+	unsigned i;
 	for(i=0; i < component->nchildren; i++)
 	{
 		estimated_lengths[i] = 0.0;

+ 2 - 2
src/sched_policies/component_random.c

@@ -45,7 +45,7 @@ static int random_push_task(struct starpu_sched_component * component, struct st
 	 * that can execute task.
 	 */
 	int indexes_components[component->nchildren];
-	int size=0;
+	unsigned size=0;
 
 	/* speedup[i] is revelant only if i is in the size firsts elements of
 	 * indexes_components
@@ -54,7 +54,7 @@ static int random_push_task(struct starpu_sched_component * component, struct st
 
 	double alpha_sum = 0.0;
 
-	int i;
+	unsigned i;
 	for(i = 0; i < component->nchildren ; i++)
 	{
 		if(starpu_sched_component_can_execute_task(component->children[i],task))

+ 16 - 15
src/sched_policies/component_sched.c

@@ -169,7 +169,7 @@ void starpu_sched_component_prefetch_on_node(struct starpu_sched_component * com
 void starpu_sched_component_destroy(struct starpu_sched_component *component)
 {
 	STARPU_ASSERT(component);
-	int i,j;
+	unsigned i,j;
 	for(i = 0; i < component->nchildren; i++)
 	{
 		struct starpu_sched_component * child = component->children[i];
@@ -204,7 +204,7 @@ void starpu_sched_component_destroy_rec(struct starpu_sched_component * componen
 	if(component == NULL)
 		return;
 
-	int i = 0;
+	unsigned i = 0;
 	while(i < component->nchildren)
 	{
 		if (starpu_sched_component_is_worker(component->children[i]))
@@ -258,7 +258,7 @@ void _starpu_sched_component_update_workers(struct starpu_sched_component * comp
 	if(starpu_sched_component_is_worker(component))
 		return;
 	starpu_bitmap_unset_all(component->workers);
-	int i;
+	unsigned i;
 	for(i = 0; i < component->nchildren; i++)
 	{
 		_starpu_sched_component_update_workers(component->children[i]);
@@ -278,7 +278,7 @@ void _starpu_sched_component_update_workers_in_ctx(struct starpu_sched_component
 		return;
 	struct starpu_bitmap * workers_in_ctx = _starpu_get_worker_mask(sched_ctx_id);
 	starpu_bitmap_unset_and(component->workers_in_ctx,component->workers, workers_in_ctx);
-	int i;
+	unsigned i;
 	for(i = 0; i < component->nchildren; i++)
 	{
 		struct starpu_sched_component * child = component->children[i];
@@ -476,7 +476,7 @@ void starpu_sched_component_add_child(struct starpu_sched_component* component,
 {
 	STARPU_ASSERT(component && child);
 	STARPU_ASSERT(!starpu_sched_component_is_worker(component));
-	int i;
+	unsigned i;
 	for(i = 0; i < component->nchildren; i++)
 	{
 		STARPU_ASSERT(component->children[i] != component);
@@ -492,7 +492,7 @@ static void starpu_sched_component_remove_child(struct starpu_sched_component *
 {
 	STARPU_ASSERT(component && child);
 	STARPU_ASSERT(!starpu_sched_component_is_worker(component));
-	int pos;
+	unsigned pos;
 	for(pos = 0; pos < component->nchildren; pos++)
 		if(component->children[pos] == child)
 			break;
@@ -503,7 +503,7 @@ static void starpu_sched_component_remove_child(struct starpu_sched_component *
 static void starpu_sched_component_add_parent(struct starpu_sched_component* component, struct starpu_sched_component * parent)
 {
 	STARPU_ASSERT(component && parent);
-	int i;
+	unsigned i;
 	for(i = 0; i < component->nparents; i++)
 	{
 		STARPU_ASSERT(component->parents[i] != component);
@@ -518,7 +518,7 @@ static void starpu_sched_component_add_parent(struct starpu_sched_component* com
 static void starpu_sched_component_remove_parent(struct starpu_sched_component * component, struct starpu_sched_component * parent)
 {
 	STARPU_ASSERT(component && parent);
-	int pos;
+	unsigned pos;
 	for(pos = 0; pos < component->nparents; pos++)
 		if(component->parents[pos] == parent)
 			break;
@@ -533,7 +533,7 @@ static struct starpu_task * starpu_sched_component_parents_pull_task(struct star
 {
 	STARPU_ASSERT(component);
 	struct starpu_task * task = NULL;
-	int i;
+	unsigned i;
 	for(i=0; i < component->nparents; i++)
 	{
 		if(component->parents[i] == NULL)
@@ -558,7 +558,7 @@ static int starpu_sched_component_can_push(struct starpu_sched_component * compo
 	int ret = 0;
 	if(component->nparents > 0)
 	{
-		int i;
+		unsigned i;
 		for(i=0; i < component->nparents; i++)
 		{
 			struct starpu_sched_component * parent = component->parents[i];
@@ -579,7 +579,7 @@ static int starpu_sched_component_can_pull(struct starpu_sched_component * compo
 {
 	STARPU_ASSERT(component);
 	STARPU_ASSERT(!starpu_sched_component_is_worker(component));
-	int i;
+	unsigned i;
 	for(i = 0; i < component->nchildren; i++) {
 		if (component->children[i]->can_pull(component->children[i]))
 			return 1;
@@ -597,7 +597,8 @@ int starpu_sched_component_send_can_push_to_parents(struct starpu_sched_componen
 	STARPU_ASSERT(component);
 	STARPU_ASSERT(!starpu_sched_component_is_worker(component));
 	
-	int i,ret = 0;
+	unsigned i;
+	int ret = 0;
 	for(i=0; i < component->nparents; i++)
 	{
 		if(component->parents[i] == NULL)
@@ -616,7 +617,7 @@ int starpu_sched_component_send_can_push_to_parents(struct starpu_sched_componen
 double starpu_sched_component_estimated_load(struct starpu_sched_component * component)
 {
 	double sum = 0.0;
-	int i;
+	unsigned i;
 	for( i = 0; i < component->nchildren; i++)
 	{
 		struct starpu_sched_component * c = component->children[i];
@@ -629,7 +630,7 @@ double starpu_sched_component_estimated_end_min(struct starpu_sched_component *
 {
 	STARPU_ASSERT(component);
 	double min = DBL_MAX;
-	int i;
+	unsigned i;
 	for(i = 0; i < component->nchildren; i++)
 	{
 		double tmp = component->children[i]->estimated_end(component->children[i]);
@@ -643,7 +644,7 @@ double starpu_sched_component_estimated_end_average(struct starpu_sched_componen
 {
 	STARPU_ASSERT(component);
 	double sum = 0.0;
-	int i;
+	unsigned i;
 	for(i = 0; i < component->nchildren; i++)
 		sum += component->children[i]->estimated_end(component->children[i]);
 	return sum / component->nchildren;

+ 7 - 7
src/sched_policies/component_work_stealing.c

@@ -36,7 +36,7 @@ struct _starpu_work_stealing_data
 
 	struct _starpu_prio_deque ** fifos;
 	starpu_pthread_mutex_t ** mutexes;
-	int size;
+	unsigned size;
 };
 
 
@@ -128,7 +128,7 @@ static int is_worker_of_component(struct starpu_sched_component * component, int
 static struct starpu_task * pull_task(struct starpu_sched_component * component)
 {
 	unsigned workerid = starpu_worker_get_id_check();
-	int i;
+	unsigned i;
 	for(i = 0; i < component->nchildren; i++)
 	{
 		if(is_worker_of_component(component->children[i], workerid))
@@ -188,7 +188,7 @@ double _ws_estimated_end(struct starpu_sched_component * component)
 	struct _starpu_work_stealing_data * wsd = component->data;
 	double sum_len = 0.0;
 	double sum_start = 0.0;
-	int i;
+	unsigned i;
 	const double now = starpu_timing_now();
 	for(i = 0; i < component->nchildren; i++)
 	{
@@ -209,7 +209,7 @@ double _ws_estimated_load(struct starpu_sched_component * component)
 	STARPU_ASSERT(starpu_sched_component_is_work_stealing(component));
 	struct _starpu_work_stealing_data * wsd = component->data;
 	int ntasks = 0;
-	int i;
+	unsigned i;
 	for(i = 0; i < component->nchildren; i++)
 	{
 		STARPU_COMPONENT_MUTEX_LOCK(wsd->mutexes[i]);
@@ -232,7 +232,7 @@ static int push_task(struct starpu_sched_component * component, struct starpu_ta
 {
 	struct _starpu_work_stealing_data * wsd = component->data;
 	int ret;
-	int i = wsd->last_push_child;
+	unsigned i = wsd->last_push_child;
 	i = (i+1)%component->nchildren;
 	STARPU_COMPONENT_MUTEX_LOCK(wsd->mutexes[i]);
 	_STARPU_TASK_BREAK_ON(task, sched);
@@ -262,7 +262,7 @@ int starpu_sched_tree_work_stealing_push_task(struct starpu_task *task)
 			if(!starpu_sched_component_can_execute_task(component, task))
 				return starpu_sched_tree_push_task(task);
 
-			int i;
+			unsigned i;
 			for(i = 0; i < component->nchildren; i++)
 				if(is_worker_of_component(component->children[i], workerid))
 					break;
@@ -314,7 +314,7 @@ void _ws_remove_child(struct starpu_sched_component * component, struct starpu_s
 	STARPU_PTHREAD_MUTEX_DESTROY(wsd->mutexes[component->nchildren - 1]);
 	free(wsd->mutexes[component->nchildren - 1]);
 
-	int i_component;
+	unsigned i_component;
 	for(i_component = 0; i_component < component->nchildren; i_component++)
 	{
 		if(component->children[i_component] == child)

+ 1 - 1
src/sched_policies/component_worker.c

@@ -435,7 +435,7 @@ static struct starpu_task * simple_worker_pull_task(struct starpu_sched_componen
 	struct _starpu_worker_component_data * data = component->data;
 	struct _starpu_worker_task_list * list = data->list;
 	struct starpu_task * task;
-	int i;
+	unsigned i;
 	int n_tries = 0;
 	do
 	{

+ 1 - 1
src/sched_policies/helper_mct.c

@@ -124,7 +124,7 @@ int starpu_mct_compute_execution_times(struct starpu_sched_component *component,
 {
 	int nsuitable_components = 0;
 
-	int i;
+	unsigned i;
 	for(i = 0; i < component->nchildren; i++)
 	{
 		struct starpu_sched_component * c = component->children[i];

+ 4 - 4
src/sched_policies/scheduler_maker.c

@@ -108,7 +108,7 @@ struct starpu_sched_component * _find_sched_component_with_obj(struct starpu_sch
 		return NULL;
 	if(component->obj == obj)
 		return component;
-	int i;
+	unsigned i;
 	for(i = 0; i < component->nchildren; i++)
 	{
 		struct starpu_sched_component * tmp = _find_sched_component_with_obj(component->children[i], obj);
@@ -129,7 +129,7 @@ static int is_same_kind_of_all(struct starpu_sched_component * root, struct _sta
 		return w->perf_arch.type == w_ref->perf_arch.type;
 	}
 
-	int i;
+	unsigned i;
 	for(i = 0;i < root->nchildren; i++)
 		if(!is_same_kind_of_all(root->children[i], w_ref))
 			return 0;
@@ -163,7 +163,7 @@ static struct starpu_sched_component * where_should_we_plug_this(struct starpu_s
 		return mem;
 	hwloc_obj_t obj = mem->obj;
 	struct starpu_sched_component * parent = mem->parents[sched_ctx_id];
-	int i;
+	unsigned i;
 	for(i = 0; i < parent->nchildren; i++)
 	{
 		if(parent->children[i]->obj == obj
@@ -236,7 +236,7 @@ static void helper_display_scheduler(FILE* out, unsigned depth, struct starpu_sc
 	if(!component)
 		return;
 	fprintf(out,"%*s-> %s : %s\n", depth * 2 , "", name_sched_component(component), name_hwloc_component(component));
-	int i;
+	unsigned i;
 	for(i = 0; i < component->nchildren; i++)
 		helper_display_scheduler(out, depth + 1, component->children[i]);
 }