|
@@ -105,7 +105,12 @@ static void create_task_21(starpu_data_handle dataA, unsigned k, unsigned j)
|
|
|
starpu_tag_declare_deps(TAG21(k, j), 1, TAG11(k));
|
|
|
}
|
|
|
|
|
|
- starpu_task_submit(task);
|
|
|
+ int ret = starpu_task_submit(task);
|
|
|
+ if (STARPU_UNLIKELY(ret == -ENODEV)) {
|
|
|
+ fprintf(stderr, "No worker may execute this task\n");
|
|
|
+ exit(0);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
static starpu_codelet cl22 =
|
|
@@ -147,7 +152,11 @@ static void create_task_22(starpu_data_handle dataA, unsigned k, unsigned i, uns
|
|
|
starpu_tag_declare_deps(TAG22(k, i, j), 2, TAG21(k, i), TAG21(k, j));
|
|
|
}
|
|
|
|
|
|
- starpu_task_submit(task);
|
|
|
+ int ret = starpu_task_submit(task);
|
|
|
+ if (STARPU_UNLIKELY(ret == -ENODEV)) {
|
|
|
+ fprintf(stderr, "No worker may execute this task\n");
|
|
|
+ exit(0);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|
|
@@ -177,7 +186,12 @@ static void _dw_cholesky(starpu_data_handle dataA, unsigned nblocks)
|
|
|
entry_task = task;
|
|
|
}
|
|
|
else {
|
|
|
- starpu_task_submit(task);
|
|
|
+ int ret = starpu_task_submit(task);
|
|
|
+ if (STARPU_UNLIKELY(ret == -ENODEV)) {
|
|
|
+ fprintf(stderr, "No worker may execute this task\n");
|
|
|
+ exit(0);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
for (j = k+1; j<nblocks; j++)
|
|
@@ -193,7 +207,12 @@ static void _dw_cholesky(starpu_data_handle dataA, unsigned nblocks)
|
|
|
}
|
|
|
|
|
|
/* schedule the codelet */
|
|
|
- starpu_task_submit(entry_task);
|
|
|
+ int ret = starpu_task_submit(entry_task);
|
|
|
+ if (STARPU_UNLIKELY(ret == -ENODEV)) {
|
|
|
+ fprintf(stderr, "No worker may execute this task\n");
|
|
|
+ exit(0);
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
/* stall the application until the end of computations */
|
|
|
starpu_tag_wait(TAG11(nblocks-1));
|