Parcourir la source

Make starpu always consider the STARPU_LIMIT_CPU_NUMA_MEM variable, not only in NUMA case, to make caller code simpler

Samuel Thibault il y a 5 ans
Parent
commit
6ed82d0181

+ 3 - 2
src/core/topology.c

@@ -2113,8 +2113,6 @@ static size_t _starpu_cpu_get_global_mem_size(int nodeid, struct _starpu_machine
 #endif
 			snprintf(name, sizeof(name), "STARPU_LIMIT_CPU_NUMA_%d_MEM", obj->os_index);
 			limit = starpu_get_env_number(name);
-			if (limit == -1)
-				limit = starpu_get_env_number("STARPU_LIMIT_CPU_NUMA_MEM");
 		}
 	}
 	else
@@ -2135,6 +2133,9 @@ static size_t _starpu_cpu_get_global_mem_size(int nodeid, struct _starpu_machine
 #endif
 
 	if (limit == -1)
+		limit = starpu_get_env_number("STARPU_LIMIT_CPU_NUMA_MEM");
+
+	if (limit == -1)
 	{
 		limit = starpu_get_env_number("STARPU_LIMIT_CPU_MEM");
 		if (limit != -1 && numa_enabled)

+ 3 - 8
tests/datawizard/allocate.c

@@ -174,18 +174,12 @@ void test_malloc()
 
 int main(void)
 {
-	int ret, numa;
+	int ret;
 	unsigned memnodes, i;
 
-	numa = starpu_get_env_number_default("STARPU_USE_NUMA", 0);
-
 	setenv("STARPU_LIMIT_CUDA_MEM", STR_LIMIT, 1);
 	setenv("STARPU_LIMIT_OPENCL_MEM", STR_LIMIT, 1);
-
-	if (numa == 1)
-		setenv("STARPU_LIMIT_CPU_NUMA_MEM", STR_LIMIT, 1);
-	else
-		setenv("STARPU_LIMIT_CPU_MEM", STR_LIMIT, 1);
+	setenv("STARPU_LIMIT_CPU_NUMA_MEM", STR_LIMIT, 1);
 
         ret = starpu_init(NULL);
 	if (ret == -ENODEV) return STARPU_TEST_SKIPPED;
@@ -214,3 +208,4 @@ int main(void)
 }
 
  #endif
+

+ 2 - 7
tests/datawizard/noreclaim.c

@@ -76,17 +76,12 @@ static void emit_empty_task(void)
 
 int main(int argc, char **argv)
 {
-	int ret, numa;
+	int ret;
 	struct starpu_conf conf;
 	starpu_data_handle_t handle;
 	void *allocated;
 
-	numa = starpu_get_env_number_default("STARPU_USE_NUMA", 0);
-
-	if (numa == 1)
-		setenv("STARPU_LIMIT_CPU_NUMA_MEM", TOTAL, 1);
-	else
-		setenv("STARPU_LIMIT_CPU_MEM", TOTAL, 1);
+	setenv("STARPU_LIMIT_CPU_NUMA_MEM", TOTAL, 1);
 
 	starpu_conf_init(&conf);
 	conf.ncpus = 1;

+ 2 - 6
tests/datawizard/numa_overflow.c

@@ -64,15 +64,11 @@ int main(int argc, char **argv)
 	int ret;
 	unsigned i, j;
 	char s[16];
-	int worker, numa;
+	int worker;
 
 	snprintf(s, sizeof(s), "%u", (N*3/4)*SIZE/(1024*1024));
 	/* We make NUMA nodes not big enough for all data */
-	numa = starpu_get_env_number_default("STARPU_USE_NUMA", 0);
-	if (numa == 1)
-		setenv("STARPU_LIMIT_CPU_NUMA_MEM", s, 1);
-	else
-		setenv("STARPU_LIMIT_CPU_MEM", s, 1);
+	setenv("STARPU_LIMIT_CPU_NUMA_MEM", s, 1);
 
 	ret = starpu_initialize(NULL, &argc, &argv);
 	if (ret == -ENODEV) return STARPU_TEST_SKIPPED;

+ 3 - 6
tests/disk/disk_copy.c

@@ -54,14 +54,10 @@ int main(void)
 int dotest(struct starpu_disk_ops *ops, void *param)
 {
 	double *A,*B,*C,*D,*E,*F;
-	int ret, numa;
+	int ret;
 
 	/* limit main ram to force to push in disk */
-	numa = starpu_get_env_number_default("STARPU_USE_NUMA", 0);
-	if (numa == 1)
-		setenv("STARPU_LIMIT_CPU_NUMA_MEM", RAM, 1);
-	else
-		setenv("STARPU_LIMIT_CPU_MEM", RAM, 1);
+	setenv("STARPU_LIMIT_CPU_NUMA_MEM", RAM, 1);
 
 	/* Initialize StarPU without GPU devices to make sure the memory of the GPU devices will not be used */
 	// Ignore environment variables as we want to force the exact number of workers
@@ -72,6 +68,7 @@ int dotest(struct starpu_disk_ops *ops, void *param)
 	ret = starpu_conf_init(&conf);
 	if (ret == -EINVAL)
 		return EXIT_FAILURE;
+	conf.ncpus = 1;
 	conf.ncuda = 0;
 	conf.nopencl = 0;
 	conf.nmic = 0;