Pārlūkot izejas kodu

examples: when submission fails because it does not find a suitable worker, it is not an error, just skip the example

Nathalie Furmento 13 gadi atpakaļ
vecāks
revīzija
913fd02aab

+ 5 - 0
examples/basic_examples/hello_world.c

@@ -110,6 +110,7 @@ int main(int argc, char **argv)
 
 	/* submit the task to StarPU */
 	ret = starpu_task_submit(task);
+	if (ret == -ENODEV) goto enodev;
 	STARPU_CHECK_RETURN_VALUE(ret, "starpu_task_submit");
 
 	/* destroy the task */
@@ -124,4 +125,8 @@ int main(int argc, char **argv)
 	starpu_shutdown();
 
 	return 0;
+
+enodev:
+	starpu_shutdown();
+	return 77;
 }

+ 10 - 2
examples/basic_examples/mult.c

@@ -274,7 +274,7 @@ static struct starpu_codelet cl =
         .model = &mult_perf_model
 };
 
-static void launch_tasks(void)
+static int launch_tasks(void)
 {
 	int ret;
 	/* partition the work into slices */
@@ -329,9 +329,11 @@ static void launch_tasks(void)
 
 			/* this is not a blocking call since task->synchronous = 0 */
 			ret = starpu_task_submit(task);
+			if (ret == -ENODEV) return ret;
 			STARPU_CHECK_RETURN_VALUE(ret, "starpu_task_submit");
 		}
 	}
+	return 0;
 }
 
 int main(__attribute__ ((unused)) int argc, 
@@ -351,7 +353,8 @@ int main(__attribute__ ((unused)) int argc,
 	partition_mult_data();
 
 	/* submit all tasks in an asynchronous fashion */
-	launch_tasks();
+	ret = launch_tasks();
+	if (ret == -ENODEV) goto enodev;
 
 	/* wait for termination */
         starpu_task_wait_for_all();
@@ -380,4 +383,9 @@ int main(__attribute__ ((unused)) int argc,
 	starpu_shutdown();
 
 	return 0;
+
+enodev:
+	starpu_shutdown();
+	return 77;
 }
+

+ 5 - 0
examples/callback/callback.c

@@ -67,6 +67,7 @@ int main(int argc, char **argv)
 	task->handles[0] = handle;
 
 	ret = starpu_task_submit(task);
+	if (ret == -ENODEV) goto enodev;
 	STARPU_CHECK_RETURN_VALUE(ret, "starpu_task_submit");
 
 	starpu_task_wait_for_all();
@@ -77,4 +78,8 @@ int main(int argc, char **argv)
 	starpu_shutdown();
 
 	return 0;
+
+enodev:
+	starpu_shutdown();
+	return 77;
 }

+ 5 - 0
examples/filters/fmatrix.c

@@ -94,6 +94,7 @@ int main(int argc, char **argv)
                 task->cl_arg_size = sizeof(factor);
 
 		ret = starpu_task_submit(task);
+		if (ret == -ENODEV) goto enodev;
 		STARPU_CHECK_RETURN_VALUE(ret, "starpu_task_submit");
 
 		starpu_task_destroy(task);
@@ -117,4 +118,8 @@ int main(int argc, char **argv)
         FPRINTF(stderr,"\n");
 
 	return 0;
+
+enodev:
+	starpu_shutdown();
+	return 77;
 }

+ 5 - 0
examples/filters/fvector.c

@@ -84,6 +84,7 @@ int main(int argc, char **argv)
                 task->cl_arg_size = sizeof(factor);
 
 		ret = starpu_task_submit(task);
+		if (ret == -ENODEV) goto enodev;
 		STARPU_CHECK_RETURN_VALUE(ret, "starpu_task_submit");
 
 		starpu_task_destroy(task);
@@ -98,4 +99,8 @@ int main(int argc, char **argv)
         FPRINTF(stderr,"\n");
 
 	return 0;
+
+enodev:
+	starpu_shutdown();
+	return 77;
 }