[OpenACC] Update documentation to mention OpenACC 2.5

Message ID bb914dcb-d5d1-1a5d-5059-19a96da6a991@mentor.com
State New
Headers show
Series
  • [OpenACC] Update documentation to mention OpenACC 2.5
Related show

Commit Message

Chung-Lin Tang Nov. 2, 2018, 10:38 a.m.
Hi Thomas,
this patch (mostly by yourself:) ) are the changes to the documentation to now state OpenACC 2.5 support.
I believe this is within your maintainership scope.

A part in libgomp/libgomp.texi mentions the ACC_PROFLIB variable. I assume we are going
to get the profiling patches applied in time, so I have left that as is.

Okay for trunk?

Thanks,
Chung-Lin

2018-11-xx  Thomas Schwinge <thomas@codesourcery.com>

	gcc/c-family/
	* c-cppbuiltin.c (c_cpp_builtins): Update "_OPENACC" to "201510".

	gcc/fortran/
	* cpp.c (cpp_define_builtins): Update "_OPENACC" to "201510".
	* gfortran.texi: Update for OpenACC 2.5.
	* Intrinsic.texi: Likewise.
	* invoke.texi: Likewise.

	gcc/testsuite/
	* c-c++-common/cpp/openacc-define-3.c: Update.
	* gfortran.dg/openacc-define-3.f90: Likewise.

	gcc/
	* doc/invoke.texi: Update for OpenACC 2.5.

	libgomp/
	* libgomp.texi: Update for OpenACC 2.5.
	* openacc.f90 (openacc_version): Update to "201510".
	* openacc_lib.h (openacc_version): Likewise.
	* testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update.
	* testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Update.

Comments

Sandra Loosemore Nov. 5, 2018, 1:13 a.m. | #1
On 11/02/2018 04:38 AM, Chung-Lin Tang wrote:
> Hi Thomas,

> this patch (mostly by yourself:) ) are the changes to the documentation 

> to now state OpenACC 2.5 support.

> I believe this is within your maintainership scope.


I took a look at it with my doc maintainer hat on too, and the patch is 
fine with me as long as there are no technical correctness issues.

-Sandra
Thomas Schwinge Nov. 5, 2018, 7:53 a.m. | #2
Hi!

On Sun, 4 Nov 2018 18:13:09 -0700, Sandra Loosemore <sandra@codesourcery.com> wrote:
> On 11/02/2018 04:38 AM, Chung-Lin Tang wrote:

> > Hi Thomas,

> > this patch (mostly by yourself:) ) are the changes to the documentation 

> > to now state OpenACC 2.5 support.

> > I believe this is within your maintainership scope.

> 

> I took a look at it with my doc maintainer hat on too, and the patch is 

> fine with me


Thanks for the review -- the patch was trivial enough, eh?  ;-)

> as long as there are no technical correctness issues.


Not a technical correctness issue, and it might be obvious, but we
shouldn't commit this one until we've actually gotten the bulk of the
OpenACC 2.5 changes committed to trunk.


Grüße
 Thomas

Patch

Index: gcc/c-family/c-cppbuiltin.c
===================================================================
--- gcc/c-family/c-cppbuiltin.c	(revision 265711)
+++ gcc/c-family/c-cppbuiltin.c	(working copy)
@@ -1396,7 +1396,7 @@  c_cpp_builtins (cpp_reader *pfile)
     cpp_define (pfile, "__SSP__=1");
 
   if (flag_openacc)
-    cpp_define (pfile, "_OPENACC=201306");
+    cpp_define (pfile, "_OPENACC=201510");
 
   if (flag_openmp)
     cpp_define (pfile, "_OPENMP=201511");
Index: gcc/doc/invoke.texi
===================================================================
--- gcc/doc/invoke.texi	(revision 265711)
+++ gcc/doc/invoke.texi	(working copy)
@@ -2178,10 +2178,12 @@  freestanding and hosted environments.
 Enable handling of OpenACC directives @code{#pragma acc} in C/C++ and
 @code{!$acc} in Fortran.  When @option{-fopenacc} is specified, the
 compiler generates accelerated code according to the OpenACC Application
-Programming Interface v2.0 @w{@uref{https://www.openacc.org}}.  This option
+Programming Interface v2.5 @w{@uref{https://www.openacc.org}}.  This option
 implies @option{-pthread}, and thus is only supported on targets that
 have support for @option{-pthread}.
 
+See @uref{https://gcc.gnu.org/wiki/OpenACC} for more information.
+
 @item -fopenacc-dim=@var{geom}
 @opindex fopenacc-dim
 @cindex OpenACC accelerator programming
Index: gcc/fortran/cpp.c
===================================================================
--- gcc/fortran/cpp.c	(revision 265711)
+++ gcc/fortran/cpp.c	(working copy)
@@ -166,7 +166,7 @@  cpp_define_builtins (cpp_reader *pfile)
   cpp_define (pfile, "_LANGUAGE_FORTRAN=1");
 
   if (flag_openacc)
-    cpp_define (pfile, "_OPENACC=201306");
+    cpp_define (pfile, "_OPENACC=201510");
 
   if (flag_openmp)
     cpp_define (pfile, "_OPENMP=201511");
Index: gcc/fortran/gfortran.texi
===================================================================
--- gcc/fortran/gfortran.texi	(revision 265711)
+++ gcc/fortran/gfortran.texi	(working copy)
@@ -476,9 +476,7 @@  used on real-world programs.  In particular, the s
 include OpenMP, Cray-style pointers, some old vendor extensions, and several
 Fortran 2003 and Fortran 2008 features, including TR 15581.  However, it is
 still under development and has a few remaining rough edges.
-There also is initial support for OpenACC.
-Note that this is an experimental feature, incomplete, and subject to
-change in future versions of GCC.  See
+There also is support for OpenACC.  See
 @uref{https://gcc.gnu.org/wiki/OpenACC} for more information.
 
 At present, the GNU Fortran compiler passes the
@@ -538,10 +536,8 @@  status} and @ref{Fortran 2018 status} sections of
 Additionally, the GNU Fortran compilers supports the OpenMP specification
 (version 4.0 and most of the features of the 4.5 version,
 @url{http://openmp.org/@/wp/@/openmp-specifications/}).
-There also is initial support for the OpenACC specification (targeting
-version 2.0, @uref{http://www.openacc.org/}).
-Note that this is an experimental feature, incomplete, and subject to
-change in future versions of GCC.  See
+There also is support for the OpenACC specification (targeting
+version 2.5, @uref{http://www.openacc.org/}).  See
 @uref{https://gcc.gnu.org/wiki/OpenACC} for more information.
 
 @node Varying Length Character Strings
@@ -2178,7 +2174,7 @@  influence run-time behavior.
 
 GNU Fortran strives to be compatible to the
 @uref{http://www.openacc.org/, OpenACC Application Programming
-Interface v2.0}.
+Interface v2.5}.
 
 To enable the processing of the OpenACC directive @code{!$acc} in
 free-form source code; the @code{c$acc}, @code{*$acc} and @code{!$acc}
@@ -2194,9 +2190,7 @@  The OpenACC Fortran runtime library routines are p
 form of a Fortran 90 module named @code{openacc} and in a form of a
 Fortran @code{include} file named @file{openacc_lib.h}.
 
-Note that this is an experimental feature, incomplete, and subject to
-change in future versions of GCC.  See
-@uref{https://gcc.gnu.org/wiki/OpenACC} for more information.
+See @uref{https://gcc.gnu.org/wiki/OpenACC} for more information.
 
 @node Argument list functions
 @subsection Argument list functions @code{%VAL}, @code{%REF} and @code{%LOC}
Index: gcc/fortran/intrinsic.texi
===================================================================
--- gcc/fortran/intrinsic.texi	(revision 265711)
+++ gcc/fortran/intrinsic.texi	(working copy)
@@ -14925,7 +14925,7 @@  kind @code{omp_proc_bind_kind}:
 @section OpenACC Module @code{OPENACC}
 @table @asis
 @item @emph{Standard}:
-OpenACC Application Programming Interface v2.0
+OpenACC Application Programming Interface v2.5
 @end table
 
 
@@ -14939,9 +14939,9 @@  are listed below.
 
 For details refer to the actual
 @uref{http://www.openacc.org/,
-OpenACC Application Programming Interface v2.0}.
+OpenACC Application Programming Interface v2.5}.
 
 @code{OPENACC} provides the scalar default-integer
 named constant @code{openacc_version} with a value of the form
 @var{yyyymm}, where @code{yyyy} is the year and @var{mm} the month
-of the OpenACC version; for OpenACC v2.0 the value is @code{201306}.
+of the OpenACC version; for OpenACC v2.5 the value is @code{201510}.
Index: gcc/fortran/invoke.texi
===================================================================
--- gcc/fortran/invoke.texi	(revision 265711)
+++ gcc/fortran/invoke.texi	(working copy)
@@ -362,9 +362,7 @@  compilation sentinels in free form and @code{c$},
 @code{!$} sentinels in fixed form, and when linking arranges for the
 OpenACC runtime library to be linked in.
 
-Note that this is an experimental feature, incomplete, and subject to
-change in future versions of GCC.  See
-@w{@uref{https://gcc.gnu.org/wiki/OpenACC}} for more information.
+See @w{@uref{https://gcc.gnu.org/wiki/OpenACC}} for more information.
 
 @item -fopenmp
 @opindex @code{fopenmp}
Index: gcc/testsuite/c-c++-common/cpp/openacc-define-3.c
===================================================================
--- gcc/testsuite/c-c++-common/cpp/openacc-define-3.c	(revision 265711)
+++ gcc/testsuite/c-c++-common/cpp/openacc-define-3.c	(working copy)
@@ -6,6 +6,6 @@ 
 # error _OPENACC not defined
 #endif
 
-#if _OPENACC != 201306
+#if _OPENACC != 201510
 # error _OPENACC defined to wrong value
 #endif
Index: gcc/testsuite/gfortran.dg/openacc-define-3.f90
===================================================================
--- gcc/testsuite/gfortran.dg/openacc-define-3.f90	(revision 265711)
+++ gcc/testsuite/gfortran.dg/openacc-define-3.f90	(working copy)
@@ -6,6 +6,6 @@ 
 # error _OPENACC not defined
 #endif
 
-#if _OPENACC != 201306
+#if _OPENACC != 201510
 # error _OPENACC defined to wrong value
 #endif
Index: libgomp/libgomp.texi
===================================================================
--- libgomp/libgomp.texi	(revision 265711)
+++ libgomp/libgomp.texi	(working copy)
@@ -1817,11 +1817,9 @@  arranges for automatic linking of the OpenACC runt
 
 A complete description of all OpenACC directives accepted may be found in 
 the @uref{https://www.openacc.org, OpenACC} Application Programming
-Interface manual, version 2.0.
+Interface manual, version 2.5.
 
-Note that this is an experimental feature and subject to
-change in future versions of GCC.  See
-@uref{https://gcc.gnu.org/wiki/OpenACC} for more information.
+See @uref{https://gcc.gnu.org/wiki/OpenACC} for more information.
 
 
 
@@ -1833,12 +1831,15 @@  the @uref{https://www.openacc.org, OpenACC} Applic
 @chapter OpenACC Runtime Library Routines
 
 The runtime routines described here are defined by section 3 of the OpenACC
-specifications in version 2.0.
+specification in version 2.0.
 They have C linkage, and do not throw exceptions.
 Generally, they are available only for the host, with the exception of
 @code{acc_on_device}, which is available for both the host and the
 acceleration device.
 
+This list has not yet been updated for the OpenACC specification in
+version 2.5.
+
 @menu
 * acc_get_num_devices::         Get number of devices for the given device
                                 type.
@@ -2823,8 +2824,9 @@  A.2.1.4.
 @node OpenACC Environment Variables
 @chapter OpenACC Environment Variables
 
-The variables @env{ACC_DEVICE_TYPE} and @env{ACC_DEVICE_NUM}
-are defined by section 4 of the OpenACC specification in version 2.0.
+The variables @env{ACC_DEVICE_TYPE}, @env{ACC_DEVICE_NUM},
+and @code{ACC_PROFLIB}
+are defined by section 4 of the OpenACC specification in version 2.5.
 The variable @env{GCC_ACC_NOTIFY} is used for diagnostic purposes.
 
 @menu
@@ -2839,7 +2841,7 @@  The variable @env{GCC_ACC_NOTIFY} is used for diag
 @section @code{ACC_DEVICE_TYPE}
 @table @asis
 @item @emph{Reference}:
-@uref{https://www.openacc.org, OpenACC specification v2.0}, section
+@uref{https://www.openacc.org, OpenACC specification v2.5}, section
 4.1.
 @end table
 
@@ -2849,7 +2851,7 @@  The variable @env{GCC_ACC_NOTIFY} is used for diag
 @section @code{ACC_DEVICE_NUM}
 @table @asis
 @item @emph{Reference}:
-@uref{https://www.openacc.org, OpenACC specification v2.0}, section
+@uref{https://www.openacc.org, OpenACC specification v2.5}, section
 4.2.
 @end table
 
@@ -3065,8 +3067,8 @@  is called prior to a call to @code{cudaCreate()}.
 is called prior to a call to an OpenACC function, then you must call
 @code{acc_set_device_num()}@footnote{More complete information
 about @env{ACC_DEVICE_TYPE} and @env{ACC_DEVICE_NUM} can be found in
-sections 4.1 and 4.2 of the @uref{https://www.openacc.org, OpenACC}
-Application Programming Interface”, Version 2.0.}
+sections 4.1 and 4.2 of the @uref{https://www.openacc.org, OpenACC
+Application Programming Interface}, version 2.5.}
 
 
 
Index: libgomp/openacc.f90
===================================================================
--- libgomp/openacc.f90	(revision 265711)
+++ libgomp/openacc.f90	(working copy)
@@ -530,7 +530,7 @@  module openacc
   public :: acc_present_or_create, acc_pcreate, acc_copyout, acc_delete
   public :: acc_update_device, acc_update_self, acc_is_present
 
-  integer, parameter :: openacc_version = 201306
+  integer, parameter :: openacc_version = 201510
 
   interface acc_get_num_devices
     procedure :: acc_get_num_devices_h
Index: libgomp/openacc_lib.h
===================================================================
--- libgomp/openacc_lib.h	(revision 265711)
+++ libgomp/openacc_lib.h	(working copy)
@@ -49,7 +49,7 @@ 
       integer (acc_handle_kind), parameter :: acc_async_noval = -1
       integer (acc_handle_kind), parameter :: acc_async_sync = -2
 
-      integer, parameter :: openacc_version = 201306
+      integer, parameter :: openacc_version = 201510
 
       interface acc_get_num_devices
         function acc_get_num_devices_h (d)
Index: libgomp/testsuite/libgomp.oacc-fortran/openacc_version-1.f
===================================================================
--- libgomp/testsuite/libgomp.oacc-fortran/openacc_version-1.f	(revision 265711)
+++ libgomp/testsuite/libgomp.oacc-fortran/openacc_version-1.f	(working copy)
@@ -4,6 +4,6 @@ 
       implicit none
       include "openacc_lib.h"
 
-      if (openacc_version .ne. 201306) STOP 1
+      if (openacc_version .ne. 201510) STOP 1
 
       end program main
Index: libgomp/testsuite/libgomp.oacc-fortran/openacc_version-2.f90
===================================================================
--- libgomp/testsuite/libgomp.oacc-fortran/openacc_version-2.f90	(revision 265711)
+++ libgomp/testsuite/libgomp.oacc-fortran/openacc_version-2.f90	(working copy)
@@ -4,6 +4,6 @@  program main
   use openacc
   implicit none
 
-  if (openacc_version .ne. 201306) STOP 1
+  if (openacc_version .ne. 201510) STOP 1
 
 end program main