Kaynağa Gözat

opencl block: Drop half-optimized TODO assertion

Samuel Thibault 5 yıl önce
ebeveyn
işleme
928096b0c2
1 değiştirilmiş dosya ile 8 ekleme ve 15 silme
  1. 8 15
      src/datawizard/interfaces/block_interface.c

+ 8 - 15
src/datawizard/interfaces/block_interface.c

@@ -652,22 +652,15 @@ static int copy_opencl_common(void *src_interface, unsigned src_node, void *dst_
 
 	/* We may have a contiguous buffer for the entire block, or contiguous
 	 * plans within the block, we can avoid many small transfers that way */
-	if ((nx == src_block->ldy) && (src_block->ldy == dst_block->ldy))
-	{
+	if ((nx == src_block->ldy) && (src_block->ldy == dst_block->ldy) &&
 		/* Is that a single contiguous buffer ? */
-		if (((nx*ny) == src_block->ldz) && (src_block->ldz == dst_block->ldz))
-		{
-			ret = starpu_opencl_copy_async_sync(src_block->dev_handle, src_block->offset, src_node,
-							    dst_block->dev_handle, dst_block->offset, dst_node,
-							    src_block->nx*src_block->ny*src_block->nz*src_block->elemsize,
-							    event);
-                }
-		else
-		{
-			/* Are all plans contiguous */
-                        STARPU_ASSERT_MSG(0, "XXX non contiguous buffers are not properly supported in OpenCL yet. (TODO)");
-                }
-        }
+		((nx*ny) == src_block->ldz) && (src_block->ldz == dst_block->ldz))
+	{
+		ret = starpu_opencl_copy_async_sync(src_block->dev_handle, src_block->offset, src_node,
+						    dst_block->dev_handle, dst_block->offset, dst_node,
+						    src_block->nx*src_block->ny*src_block->nz*src_block->elemsize,
+						    event);
+	}
 	else
 	{
 		/* Default case: we transfer all lines one by one: ny*nz transfers */