public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
From: Kwok Yeung <kcy@gcc.gnu.org>
To: gcc-cvs@gcc.gnu.org
Subject: [gcc/devel/omp/gcc-12] Revert changes to acc_prof-init-1.c and acc_prof-parallel-1.c
Date: Wed, 29 Jun 2022 14:48:58 +0000 (GMT)	[thread overview]
Message-ID: <20220629144858.7DE9C385022D@sourceware.org> (raw)

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);
   }


                 reply	other threads:[~2022-06-29 14:48 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220629144858.7DE9C385022D@sourceware.org \
    --to=kcy@gcc.gnu.org \
    --cc=gcc-cvs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).