Przeglądaj źródła

fix warnings part 3

Andra Hugo 12 lat temu
rodzic
commit
a2190c17ba

+ 5 - 0
include/starpu_top.h

@@ -209,7 +209,12 @@ void starpu_top_update_data_float(const struct starpu_top_data* data,
 void starpu_top_debug_log(const char* message);
 void starpu_top_debug_lock(const char* message);
 
+int _starpu_top_status_get(void);
 
+void _starpu_top_task_prevision(struct starpu_task *task,
+								int devid,
+								unsigned long long start,
+								unsigned long long end);
 #ifdef __cplusplus
 }
 #endif

+ 1 - 1
src/datawizard/filters.h

@@ -24,7 +24,7 @@
 
 #include <starpu.h>
 #include <common/config.h>
-
+#include <core/task.h>
 void
 _starpu_filter_nparts_compute_chunk_size_and_offset(unsigned n, unsigned nparts,
 					     size_t elemsize, unsigned id,

+ 2 - 2
src/sched_policies/detect_combined_workers.c

@@ -230,9 +230,9 @@ static void combine_all_cpu_workers(int *workerids, int nworkers)
 		sched_ctx_id = 0;
 	struct worker_collection* workers = starpu_get_worker_collection_of_sched_ctx(sched_ctx_id);
 	int cpu_workers[STARPU_NMAXWORKERS];
-	unsigned ncpus = 0;
+	int ncpus = 0;
 	struct _starpu_worker *worker;
-	unsigned i;
+	int i;
 	for (i = 0; i < nworkers; i++)
 	{
 		worker = _starpu_get_worker_struct(workerids[i]);

+ 13 - 44
src/sched_policies/eager_central_policy.c

@@ -92,34 +92,21 @@ static int push_task_eager_policy(struct starpu_task *task)
 {
 	unsigned sched_ctx_id = task->sched_ctx;
 	eager_center_policy_data *data = (eager_center_policy_data*)starpu_get_sched_ctx_policy_data(sched_ctx_id);
-        pthread_mutex_t *changing_ctx_mutex = starpu_get_changing_ctx_mutex(sched_ctx_id);
-        unsigned nworkers;
-        int ret_val = -1;
-
-        _STARPU_PTHREAD_MUTEX_LOCK(changing_ctx_mutex);
-        nworkers = starpu_get_nworkers_of_sched_ctx(sched_ctx_id);
-        if(nworkers == 0)
-        {
-                _STARPU_PTHREAD_MUTEX_UNLOCK(changing_ctx_mutex);
-                return ret_val;
-        }
-
-	struct worker_collection *workers = starpu_get_worker_collection_of_sched_ctx(sched_ctx_id);
-	int worker;
-	if(workers->init_cursor)
-		workers->init_cursor(workers);
-
-        while(workers->has_next(workers))
+	pthread_mutex_t *changing_ctx_mutex = starpu_get_changing_ctx_mutex(sched_ctx_id);
+	unsigned nworkers;
+	int ret_val = -1;
+	
+	_STARPU_PTHREAD_MUTEX_LOCK(changing_ctx_mutex);
+	nworkers = starpu_get_nworkers_of_sched_ctx(sched_ctx_id);
+	if(nworkers == 0)
 	{
-		worker = workers->get_next(workers);
+		_STARPU_PTHREAD_MUTEX_UNLOCK(changing_ctx_mutex);
+		return ret_val;
 	}
 
-	if(workers->init_cursor)
-                workers->deinit_cursor(workers);
-
-        ret_val = _starpu_fifo_push_task(data->fifo, &data->sched_mutex, &data->sched_cond, task);
-        _STARPU_PTHREAD_MUTEX_UNLOCK(changing_ctx_mutex);
-        return ret_val;
+	ret_val = _starpu_fifo_push_task(data->fifo, &data->sched_mutex, &data->sched_cond, task);
+	_STARPU_PTHREAD_MUTEX_UNLOCK(changing_ctx_mutex);
+	return ret_val;
 }
 
 static struct starpu_task *pop_every_task_eager_policy(unsigned sched_ctx_id)
@@ -133,25 +120,7 @@ static struct starpu_task *pop_task_eager_policy(unsigned sched_ctx_id)
 	unsigned workerid = starpu_worker_get_id();
 	eager_center_policy_data *data = (eager_center_policy_data*)starpu_get_sched_ctx_policy_data(sched_ctx_id);
 	
-	struct starpu_task *task =  _starpu_fifo_pop_task(data->fifo, workerid);
-	
-	if(task)
-	{
-		struct worker_collection *workers = starpu_get_worker_collection_of_sched_ctx(sched_ctx_id);
-		int worker;
-		if(workers->init_cursor)
-			workers->init_cursor(workers);
-		
-		while(workers->has_next(workers))
-		{
-			worker = workers->get_next(workers);
-		}
-		
-		if(workers->init_cursor)
-			workers->deinit_cursor(workers);
-	}
-	
-	return task;
+	return _starpu_fifo_pop_task(data->fifo, workerid);
 }
 
 struct starpu_sched_policy _starpu_sched_eager_policy =

+ 1 - 3
src/sched_policies/heft.c

@@ -63,7 +63,7 @@ const float idle_power_maximum=10000.0;
 static void param_modified(struct starpu_top_param* d)
 {
 	//just to show parameter modification
-	fprintf(stderr,"%s has been modified : %f !\n", d->name, d->value);
+	fprintf(stderr,"%s has been modified : %f !\n", d->name, *(double*)d->value);
 }
 
 
@@ -509,8 +509,6 @@ static int _heft_push_task(struct starpu_task *task, unsigned prio, unsigned sch
 			push_conversion_tasks(task, forced_worker);
 			prio = 0;
 		}
-		unsigned memory_node = starpu_worker_get_memory_node(forced_worker);
-		double transfer_model_best = starpu_task_expected_data_transfer_time(memory_node, task);
 
 		return push_task_on_best_worker(task, forced_worker, 0.0, 0.0, prio, sched_ctx_id);
 	}

+ 0 - 3
src/sched_policies/parallel_greedy.c

@@ -47,8 +47,6 @@ static int possible_combinations_size[STARPU_NMAXWORKERS][10];
 static void pgreedy_add_workers(unsigned sched_ctx_id, int *workerids, unsigned nworkers)
 {
 	struct pgreedy_data *data = (struct pgreedy_data*)starpu_get_sched_ctx_policy_data(sched_ctx_id);
-	struct _starpu_machine_config *config = _starpu_get_machine_config();
-	struct starpu_machine_topology *topology = &config->topology;
 
 	_starpu_sched_find_worker_combinations(workerids, nworkers);
 
@@ -139,7 +137,6 @@ static void pgreedy_remove_workers(unsigned sched_ctx_id, int *workerids, unsign
         {
 		workerid = workerids[i];
 		_starpu_destroy_fifo(data->local_fifo[workerid]);
-		unsigned master = data->master_id[workerid];
 		starpu_worker_set_sched_condition(sched_ctx_id, workerid, NULL, NULL);
 		_STARPU_PTHREAD_MUTEX_DESTROY(&data->master_sched_mutex[workerid]);
 		_STARPU_PTHREAD_COND_DESTROY(&data->master_sched_cond[workerid]);

+ 5 - 5
src/sched_policies/parallel_heft.c

@@ -183,7 +183,7 @@ static int push_task_on_best_worker(struct starpu_task *task, int best_workerid,
 	return ret;
 }
 
-static double compute_expected_end(int workerid, double length, unsigned sched_ctx_id)
+static double compute_expected_end(int workerid, double length)
 {
 	if (!starpu_worker_is_combined_worker(workerid))
 	{
@@ -212,7 +212,7 @@ static double compute_expected_end(int workerid, double length, unsigned sched_c
 	}
 }
 
-static double compute_ntasks_end(int workerid, unsigned sched_ctx_id)
+static double compute_ntasks_end(int workerid)
 {
 	enum starpu_perf_archtype perf_arch = starpu_worker_get_perf_archtype(workerid);
 	if (!starpu_worker_is_combined_worker(workerid))
@@ -322,7 +322,7 @@ static int _parallel_heft_push_task(struct starpu_task *task, unsigned prio, uns
 			unsigned memory_node = starpu_worker_get_memory_node(worker);
 			local_data_penalty[worker_ctx][nimpl] = starpu_task_expected_data_transfer_time(memory_node, task);
 
-			double ntasks_end = compute_ntasks_end(worker, sched_ctx_id);
+			double ntasks_end = compute_ntasks_end(worker);
 
 			if (ntasks_best == -1
 			    || (!calibrating && ntasks_end < ntasks_best_end) /* Not calibrating, take better task */
@@ -351,7 +351,7 @@ static int _parallel_heft_push_task(struct starpu_task *task, unsigned prio, uns
 			if (unknown)
 				continue;
 
-			local_exp_end[worker_ctx][nimpl] = compute_expected_end(worker, local_task_length[worker_ctx][nimpl], sched_ctx_id);
+			local_exp_end[worker_ctx][nimpl] = compute_expected_end(worker, local_task_length[worker_ctx][nimpl]);
 
 			//fprintf(stderr, "WORKER %d -> length %e end %e\n", worker, local_task_length[worker_ctx][nimpl], local_exp_end[worker][nimpl]);
 
@@ -434,7 +434,7 @@ static int _parallel_heft_push_task(struct starpu_task *task, unsigned prio, uns
 		best_id_ctx = forced_best_ctx;
 		nimpl_best = forced_nimpl;
 		//penality_best = 0.0;
-		best_exp_end = compute_expected_end(best, 0, sched_ctx_id);
+		best_exp_end = compute_expected_end(best, 0);
 	}
 	else
 	{