public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r12-2526] Fix OpenACC 'async'/'wait' issues in 'libgomp.oacc-c-c++-common/lib-{94, 95}.c', 'libgomp.oacc-fortra
@ 2021-07-27  9:18 Thomas Schwinge
  0 siblings, 0 replies; only message in thread
From: Thomas Schwinge @ 2021-07-27  9:18 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:599e275d7e0b3fb79ff704d4cb2d8fdb0231116e

commit r12-2526-g599e275d7e0b3fb79ff704d4cb2d8fdb0231116e
Author: Thomas Schwinge <thomas@codesourcery.com>
Date:   Tue Jun 8 19:32:22 2021 +0200

    Fix OpenACC 'async'/'wait' issues in 'libgomp.oacc-c-c++-common/lib-{94,95}.c', 'libgomp.oacc-fortran/lib-16{,-2}.f90'
    
    Fix-up for r265842 (commit 58168bbf6f8fb456280cca13343a498ad94878c7)
    "[OpenACC 2.5, libgomp] Add *_async versions of runtime library API functions".
    
            libgomp/
            * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
            'async'/'wait' issue.
            * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
            * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
            * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
    
    Co-Authored-By: Julian Brown <julian@codesourcery.com>

Diff:
---
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-94.c | 4 ++--
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-95.c | 3 ++-
 libgomp/testsuite/libgomp.oacc-fortran/lib-16-2.f90  | 4 ++++
 libgomp/testsuite/libgomp.oacc-fortran/lib-16.f90    | 4 ++++
 4 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/lib-94.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/lib-94.c
index 54497237b0c..baa3ac83f04 100644
--- a/libgomp/testsuite/libgomp.oacc-c-c++-common/lib-94.c
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/lib-94.c
@@ -22,10 +22,10 @@ main (int argc, char **argv)
 
   acc_copyin_async (h, N, async);
 
-  memset (h, 0, N);
-
   acc_wait (async);
 
+  memset (h, 0, N);
+
   acc_copyout_async (h, N, async + 1);
 
   acc_wait (async + 1);
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/lib-95.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/lib-95.c
index 85b238d78c8..842fb849e79 100644
--- a/libgomp/testsuite/libgomp.oacc-c-c++-common/lib-95.c
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/lib-95.c
@@ -23,10 +23,11 @@ main (int argc, char **argv)
   acc_create_async (h, N, q);
 
   acc_memcpy_to_device_async (acc_deviceptr (h), g, N, q);
-  memset (&h[0], 0, N);
 
   acc_wait (q);
 
+  memset (h, 0, N);
+
   acc_update_self_async (h, N, q + 1);
   acc_delete_async (h, N, q + 1);
 
diff --git a/libgomp/testsuite/libgomp.oacc-fortran/lib-16-2.f90 b/libgomp/testsuite/libgomp.oacc-fortran/lib-16-2.f90
index ddd557d3be0..2be75dca98c 100644
--- a/libgomp/testsuite/libgomp.oacc-fortran/lib-16-2.f90
+++ b/libgomp/testsuite/libgomp.oacc-fortran/lib-16-2.f90
@@ -27,6 +27,8 @@ program main
 
   if (acc_is_present (h) .neqv. .TRUE.) stop 1
 
+  call acc_wait (async)
+
   h(:) = 0
 
   call acc_copyout_async (h, sizeof (h), async)
@@ -45,6 +47,8 @@ program main
   
   if (acc_is_present (h) .neqv. .TRUE.) stop 3
 
+  call acc_wait (async)
+
   do i = 1, N
     if (h(i) /= i + i) stop 4
   end do 
diff --git a/libgomp/testsuite/libgomp.oacc-fortran/lib-16.f90 b/libgomp/testsuite/libgomp.oacc-fortran/lib-16.f90
index ccd1ce6ee18..fae0d1031ed 100644
--- a/libgomp/testsuite/libgomp.oacc-fortran/lib-16.f90
+++ b/libgomp/testsuite/libgomp.oacc-fortran/lib-16.f90
@@ -27,6 +27,8 @@ program main
 
   if (acc_is_present (h) .neqv. .TRUE.) stop 1
 
+  call acc_wait (async)
+
   h(:) = 0
 
   call acc_copyout_async (h, sizeof (h), async)
@@ -45,6 +47,8 @@ program main
   
   if (acc_is_present (h) .neqv. .TRUE.) stop 3
 
+  call acc_wait (async)
+
   do i = 1, N
     if (h(i) /= i + i) stop 4
   end do


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-07-27  9:18 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-27  9:18 [gcc r12-2526] Fix OpenACC 'async'/'wait' issues in 'libgomp.oacc-c-c++-common/lib-{94, 95}.c', 'libgomp.oacc-fortra Thomas Schwinge

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).