From 2ab0f672c29b875f4c5cb73b3770598981d9dba5 Mon Sep 17 00:00:00 2001 From: Paul-Antoine Arras Date: Fri, 7 Jun 2024 20:29:40 +0200 Subject: Fix strided `target update` OG14 fixup for mainline commit 25072a477a5 "OpenMP: Call cuMemcpy2D/cuMemcpy3D for nvptx for omp_target_memcpy_rect" libgomp/ChangeLog * target.c (omp_target_memcpy_rect_worker): Require unit strides and matching element size. --- libgomp/target.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libgomp/target.c b/libgomp/target.c index 66bc5c1..ae1a31d 100644 --- a/libgomp/target.c +++ b/libgomp/target.c @@ -5266,6 +5266,9 @@ omp_target_memcpy_rect_worker (void *dst, const void *src, size_t element_size, /* host->device, device->host and intra device. */ if (num_dims == 2 + && (!strides || (strides[0] == 1 + && strides[1] == 1 + && element_size == span)) && ((src_devicep && src_devicep == dst_devicep && src_devicep->memcpy2d_func) @@ -5292,6 +5295,10 @@ omp_target_memcpy_rect_worker (void *dst, const void *src, size_t element_size, return ret ? 0 : EINVAL; } else if (num_dims == 3 + && (!strides || (strides[0] == 1 + && strides[1] == 1 + && strides[2] == 1 + && element_size == span)) && ((src_devicep && src_devicep == dst_devicep && src_devicep->memcpy3d_func) -- cgit v1.1