public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc/devel/omp/gcc-12] Revert changes to acc_prof-init-1.c and acc_prof-parallel-1.c
@ 2022-06-29 14:48 Kwok Yeung
  0 siblings, 0 replies; only message in thread
From: Kwok Yeung @ 2022-06-29 14:48 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:b845d2f62e7da1c4cfdfee99690de94b648d076d

commit b845d2f62e7da1c4cfdfee99690de94b648d076d
Author: Kwok Cheung Yeung <kcy@codesourcery.com>
Date:   Fri Jun 24 21:29:28 2022 +0100

    Revert changes to acc_prof-init-1.c and acc_prof-parallel-1.c
    
    There is an interaction between the commits "OpenACC profiling-interface
    fixes for asynchronous operations" and "[OpenACC] Clarify sequencing of
    'async' data copying vs. profiling events in
    'libgomp.oacc-c-c++-common/acc_prof-{init,parallel}-1.c'", leading to an
    execution test failure and hang in these two tests.
    
    This reverts changes to the tests made by the second patch, allowing the
    tests to pass.
    
    2022-05-30  Kwok Cheung Yeung  <kcy@codesourcery.com>
    
            libgomp/
            * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
            (cb_compute_construct_end): Remove COPYIN block.
            (main): Remove assignments to acc_async.
            * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
            (cb_enter_data_end): Remove COPYIN block.
            (main): Remove assignment to acc_async.

Diff:
---
 libgomp/ChangeLog.omp                                |  9 +++++++++
 .../libgomp.oacc-c-c++-common/acc_prof-init-1.c      | 17 -----------------
 .../libgomp.oacc-c-c++-common/acc_prof-parallel-1.c  | 20 --------------------
 3 files changed, 9 insertions(+), 37 deletions(-)

diff --git a/libgomp/ChangeLog.omp b/libgomp/ChangeLog.omp
index 3e1ed8efed6..0dbc13381b6 100644
--- a/libgomp/ChangeLog.omp
+++ b/libgomp/ChangeLog.omp
@@ -1,3 +1,12 @@
+2022-05-30  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+	* testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
+	(cb_compute_construct_end): Remove COPYIN block.
+	(main): Remove assignments to acc_async.
+	* testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
+	(cb_enter_data_end): Remove COPYIN block.
+	(main): Remove assignment to acc_async.
+
 2022-05-31  Kwok Cheung Yeung  <kcy@codesourcery.com>
 
 	* testsuite/libgomp.oacc-c-c++-common/pr85381-3.c (foo_v, foo_w):
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
index a33fac7556c..6bbe99df1ff 100644
--- a/libgomp/testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
@@ -208,21 +208,6 @@ static void cb_compute_construct_end (acc_prof_info *prof_info, acc_event_info *
 
   assert (state == 11
 	  || state == 111);
-#if defined COPYIN
-  /* In an 'async' setting, this event may be triggered before actual 'async'
-     data copying has completed.  Given that 'state' appears in 'COPYIN', we
-     first have to synchronize (that is, let the 'async' 'COPYIN' read the
-     current 'state' value)...  */
-  if (acc_async != acc_async_sync)
-    {
-      /* "We're not yet accounting for the fact that _OpenACC events may occur
-	 during event processing_"; temporarily disable to avoid deadlock.  */
-      unreg (acc_ev_none, NULL, acc_toggle_per_thread);
-      acc_wait (acc_async);
-      reg (acc_ev_none, NULL, acc_toggle_per_thread);
-    }
-  /* ... before modifying it in the following.  */
-#endif
   STATE_OP (state, ++);
 
   assert (tool_info != NULL);
@@ -295,7 +280,6 @@ int main()
     {
       state_init = state;
     }
-    acc_async = acc_async_sync;
 #pragma acc wait
     assert (state_init == 11);
   }
@@ -322,7 +306,6 @@ int main()
     {
       state_init = state;
     }
-    acc_async = acc_async_sync;
 #pragma acc wait
     assert (state_init == 111);
   }
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
index 663f7f724d5..9a542b56fe5 100644
--- a/libgomp/testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
@@ -248,25 +248,6 @@ static void cb_enter_data_end (acc_prof_info *prof_info, acc_event_info *event_i
 
   assert (state == 4
 	  || state == 104);
-#if defined COPYIN
-  /* Conceptually, 'acc_ev_enter_data_end' marks the end of data copying,
-     before 'acc_ev_enqueue_launch_start' marks invoking the compute region.
-     That's the 'state_init = state;' intended to be captured in the compute
-     regions.  */
-  /* In an 'async' setting, this event may be triggered before actual 'async'
-     data copying has completed.  Given that 'state' appears in 'COPYIN', we
-     first have to synchronize (that is, let the 'async' 'COPYIN' read the
-     current 'state' value)...  */
-  if (acc_async != acc_async_sync)
-    {
-      /* "We're not yet accounting for the fact that _OpenACC events may occur
-	 during event processing_"; temporarily disable to avoid deadlock.  */
-      unreg (acc_ev_none, NULL, acc_toggle_per_thread);
-      acc_wait (acc_async);
-      reg (acc_ev_none, NULL, acc_toggle_per_thread);
-    }
-  /* ... before modifying it in the following.  */
-#endif
   STATE_OP (state, ++);
 
   assert (tool_info != NULL);
@@ -698,7 +679,6 @@ int main()
 
       state_init = state;
     }
-    acc_async = acc_async_sync;
 #pragma acc wait
     assert (state_init == 104);
   }


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

only message in thread, other threads:[~2022-06-29 14:48 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-29 14:48 [gcc/devel/omp/gcc-12] Revert changes to acc_prof-init-1.c and acc_prof-parallel-1.c Kwok Yeung

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).