Browse Source

Add a starpu_parameters.h containing interesting constants

Samuel Thibault 15 years ago
parent
commit
7bb926c246

+ 4 - 3
src/sched_policies/deque_modeling_policy_data_aware.c

@@ -22,6 +22,7 @@
 #include <core/workers.h>
 #include <sched_policies/fifo_queues.h>
 #include <core/perfmodel/perfmodel.h>
+#include <starpu_parameters.h>
 
 static unsigned nworkers;
 static struct starpu_fifo_taskq_s *queue_array[STARPU_NMAXWORKERS];
@@ -29,9 +30,9 @@ static struct starpu_fifo_taskq_s *queue_array[STARPU_NMAXWORKERS];
 static pthread_cond_t sched_cond[STARPU_NMAXWORKERS];
 static pthread_mutex_t sched_mutex[STARPU_NMAXWORKERS];
 
-static double alpha = 1.0;
-static double beta = 1.0;
-static double _gamma = 1000.0;
+static double alpha = STARPU_DEFAULT_ALPHA;
+static double beta = STARPU_DEFAULT_BETA;
+static double _gamma = STARPU_DEFAULT_GAMMA;
 
 #ifdef STARPU_VERBOSE
 static long int total_task_cnt = 0;

+ 4 - 2
src/sched_policies/parallel_heft.c

@@ -21,6 +21,7 @@
 #include <core/workers.h>
 #include <sched_policies/fifo_queues.h>
 #include <core/perfmodel/perfmodel.h>
+#include <starpu_parameters.h>
 
 static pthread_mutex_t big_lock;
 
@@ -33,8 +34,9 @@ static struct starpu_fifo_taskq_s *queue_array[STARPU_NMAXWORKERS];
 static pthread_cond_t sched_cond[STARPU_NMAXWORKERS];
 static pthread_mutex_t sched_mutex[STARPU_NMAXWORKERS];
 
-static double alpha = 1.0;
-static double beta = 1.0;
+static double alpha = STARPU_DEFAULT_ALPHA;
+static double beta = STARPU_DEFAULT_BETA;
+/* TODO: Gamma */
 
 static struct starpu_task *parallel_heft_pop_task(void)
 {

+ 32 - 0
src/starpu_parameters.h

@@ -0,0 +1,32 @@
+/* StarPU --- Runtime system for heterogeneous multicore architectures.
+ *
+ * Copyright (C) 2011  Université de Bordeaux 1
+ *
+ * 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
+ * the Free Software Foundation; either version 2.1 of the License, or (at
+ * your option) any later version.
+ *
+ * StarPU is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#ifndef _STARPU_PARAMETERS_H
+#define _STARPU_PARAMETERS_H
+
+/* Parameters which are not worth being added to ./configure options, but
+ * still interesting to easily change */
+
+/* The dmda scheduling policy uses
+ *
+ * alpha * T_computation + beta * T_communication + gamma * Consumption
+ *
+ * Here are the default values of alpha, beta, gamma
+ */
+
+#define STARPU_DEFAULT_ALPHA 1.0
+#define STARPU_DEFAULT_BETA 1.0
+#define STARPU_DEFAULT_GAMMA 1000.0
+
+#endif /* _STARPU_PARAMETERS_H */