This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] [og9] Fix libgomp.oacc-fortran/lib-13.f90 async bug
- From: Julian Brown <julian at codesourcery dot com>
- To: <gcc-patches at gcc dot gnu dot org>
- Cc: Andrew Stubbs <andrew_stubbs at mentor dot com>
- Date: Wed, 4 Sep 2019 17:40:14 -0700
- Subject: [PATCH] [og9] Fix libgomp.oacc-fortran/lib-13.f90 async bug
- Ironport-sdr: ssxVQko4dysTZtz3gdqnwMqLfDNGptISbMuF/dwSkWK8yC1hzwM/0WveWBm7zcP21gJQLkPRqc VZYq3FER0NfzEABok0A7mKoVZvNktsAii8jkkmrK+MEk8rZRlP88nF7VoknScJfkFbZB/rZVGG aRUBl9Si4S58Gi/MXvJAFnjQKnylkOwfsyMI7fkuUif790bZdKHMhCLBnrWMS1pDxSB0Ps3f6d 0WLZlUaawU1kVHqslEpYZHtB5CiQYST7MJl53kJuGDf0KocD0FVpNc9iZZJIeQI4Jmtylz6f2L lNo=
- Ironport-sdr: KYaz/djznvwH26REAZis9rgNJbxPSbVMf0iig1LUcetoVsyRUDuvq4I1OiiFmkA1rVEJ89shvJ rgrw5OEv7lSzNrIzgH83un+O5y+DO8kAOG8XmZPRqHnhIODgPzjKAXkW+yl//0SCweeA/0u+f4 u4QhAVKF6GaL9Rqil8S1Vq5n/a06saQY2LnylHWqqWSpeyYqU/nF9KDPYlz79OgjdUwCklqYvk buAnYgNXs2p7NdX1R/gC1Y5sETxN4FB0MKtEVLtdrIiXXiU5jsQgTeNglCbLiPxDXFEwk0WDLY jJo=
This patch fixes a bug with the lib-13.f90 test -- an asynchronous
compute region inside a synchronous data region leads to a data race
copying out/unmapping target data.
This test failed intermittently for AMD GCN. I will apply to the
openacc-gcc-9-branch shortly.
Thanks,
Julian
ChangeLog
libgomp/
* testsuite/libgomp.oacc-fortran/lib-13.f90: End data region after
wait API calls.
---
libgomp/ChangeLog.openacc | 5 +++++
libgomp/testsuite/libgomp.oacc-fortran/lib-13.f90 | 3 +--
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/libgomp/ChangeLog.openacc b/libgomp/ChangeLog.openacc
index f9d8e6ecd39..c7ef40e922c 100644
--- a/libgomp/ChangeLog.openacc
+++ b/libgomp/ChangeLog.openacc
@@ -1,3 +1,8 @@
+2019-09-05 Julian Brown <julian@codesourcery.com>
+
+ * testsuite/libgomp.oacc-fortran/lib-13.f90: End data region after
+ wait API calls.
+
2019-08-13 Julian Brown <julian@codesourcery.com>
* plugin/plugin-gcn.c (queue_push_callback): Wait on queue-full
diff --git a/libgomp/testsuite/libgomp.oacc-fortran/lib-13.f90 b/libgomp/testsuite/libgomp.oacc-fortran/lib-13.f90
index da944c35de9..ea35d71b789 100644
--- a/libgomp/testsuite/libgomp.oacc-fortran/lib-13.f90
+++ b/libgomp/testsuite/libgomp.oacc-fortran/lib-13.f90
@@ -19,11 +19,10 @@ program main
end do
!$acc end parallel
end do
- !$acc end data
call acc_wait_all_async (nprocs + 1)
-
call acc_wait (nprocs + 1)
+ !$acc end data
if (acc_async_test (1) .neqv. .TRUE.) call abort
if (acc_async_test (2) .neqv. .TRUE.) call abort
--
2.22.0