diff options
author | Paul-Antoine Arras <parras@baylibre.com> | 2024-06-07 20:29:40 +0200 |
---|---|---|
committer | Sandra Loosemore <sloosemore@baylibre.com> | 2025-05-15 20:25:50 +0000 |
commit | 2ab0f672c29b875f4c5cb73b3770598981d9dba5 (patch) | |
tree | 2f8ca6165c60a0739474fbb579f6d40d3b384bf5 | |
parent | 67b186d7377b6a0b7ad6a469b3ae9feba192f149 (diff) | |
download | gcc-2ab0f672c29b875f4c5cb73b3770598981d9dba5.zip gcc-2ab0f672c29b875f4c5cb73b3770598981d9dba5.tar.gz gcc-2ab0f672c29b875f4c5cb73b3770598981d9dba5.tar.bz2 |
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.
-rw-r--r-- | libgomp/target.c | 7 |
1 files changed, 7 insertions, 0 deletions
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) |