浏览代码

dw_cholesky.c: test return code of starpu_task_submit()

Nathalie Furmento 14 年之前
父节点
当前提交
7f0644d528
共有 1 个文件被更改,包括 23 次插入4 次删除
  1. 23 4
      examples/cholesky/dw_cholesky.c

+ 23 - 4
examples/cholesky/dw_cholesky.c

@@ -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));