瀏覽代碼

Fix sequentialization of simgrid GPU transfers, thanks Lionel Eyraud for spotting it

Samuel Thibault 7 年之前
父節點
當前提交
609973e5ea
共有 1 個文件被更改,包括 4 次插入4 次删除
  1. 4 4
      src/core/simgrid.c

+ 4 - 4
src/core/simgrid.c

@@ -642,12 +642,12 @@ static int transfers_are_sequential(struct transfer *new_transfer, struct transf
 
 	/* GPU-GPU transfers are sequential with any RAM->GPU transfer */
 	if (new_is_gpu_gpu
-			&& old_transfer->dst_node == new_transfer->src_node
-			&& old_transfer->dst_node == new_transfer->dst_node)
+			&& (old_transfer->dst_node == new_transfer->src_node
+			 || old_transfer->dst_node == new_transfer->dst_node))
 		return 1;
 	if (old_is_gpu_gpu
-			&& new_transfer->dst_node == old_transfer->src_node
-			&& new_transfer->dst_node == old_transfer->dst_node)
+			&& (new_transfer->dst_node == old_transfer->src_node
+			 || new_transfer->dst_node == old_transfer->dst_node))
 		return 1;
 
 	/* StarPU's constraint on CUDA transfers is using one stream per