浏览代码

examples/cholesky/cholesky_tag.c: unpartition data before leaving function

Nathalie Furmento 5 年之前
父节点
当前提交
76fd2fcc03
共有 1 个文件被更改,包括 15 次插入3 次删除
  1. 15 3
      examples/cholesky/cholesky_tag.c

+ 15 - 3
examples/cholesky/cholesky_tag.c

@@ -183,21 +183,33 @@ static int _cholesky(starpu_data_handle_t dataA, unsigned nblocks)
 		else
 		else
 		{
 		{
 			ret = starpu_task_submit(task);
 			ret = starpu_task_submit(task);
-			if (ret == -ENODEV) return 77;
+			if (ret == -ENODEV)
+			{
+				starpu_data_unpartition(dataA, STARPU_MAIN_RAM);
+				return 77;
+			}
 			STARPU_CHECK_RETURN_VALUE(ret, "starpu_task_submit");
 			STARPU_CHECK_RETURN_VALUE(ret, "starpu_task_submit");
 		}
 		}
 
 
 		for (m = k+1; m<nblocks; m++)
 		for (m = k+1; m<nblocks; m++)
 		{
 		{
 			ret = create_task_21(dataA, k, m);
 			ret = create_task_21(dataA, k, m);
-			if (ret == -ENODEV) return 77;
+			if (ret == -ENODEV)
+			{
+				starpu_data_unpartition(dataA, STARPU_MAIN_RAM);
+				return 77;
+			}
 
 
 			for (n = k+1; n<nblocks; n++)
 			for (n = k+1; n<nblocks; n++)
 			{
 			{
 				if (n <= m)
 				if (n <= m)
 				{
 				{
 					ret = create_task_22(dataA, k, m, n);
 					ret = create_task_22(dataA, k, m, n);
-					if (ret == -ENODEV) return 77;
+					if (ret == -ENODEV)
+					{
+						starpu_data_unpartition(dataA, STARPU_MAIN_RAM);
+						return 77;
+					}
 				}
 				}
 			}
 			}
 		}
 		}