Re: [PATCH 3/5] OpenACC 2.0 support for libgomp - outline documentation (repost)
On Saturday 2014-11-15 00:52, Julian Brown wrote: Thanks -- here's a new version of the patch, which incorporates David Malcolm's new backronym for libgomp, and edits the above files also. +@uref{http://www.openacc.org/, OpenACC specification v2.0}, section By the way, here and in other cases, you do not need the trailing slash. (For subdirectories it is appropriate, if referring to just the top level, it is implied by the standard, and it looks nicer without.) Also, can you use the actual link only once, for the first reference? Otherwise if this changes, we'd have to edit lots of links, and that is rather common practice that way. -Bugs in the GNU OpenMP implementation should be reported via -@uref{http://gcc.gnu.org/bugzilla/, Bugzilla}. For all cases, please add +Bugs in the GNU OpenACC or OpenMP implementation should be reported via +@uref{http://gcc.gnu.org/bugzilla/, Bugzilla}. For OpenMP cases, please add openmp to the keywords field in the bug report. I suggest to actually remove this. It just looks like an extra piece of redundancy. Gerald
Re: [PATCH 3/5] OpenACC 2.0 support for libgomp - outline documentation (repost)
On Sat, Jan 17, 2015 at 12:16:17PM +0100, Gerald Pfeifer wrote: Also, can you use the actual link only once, for the first reference? Otherwise if this changes, we'd have to edit lots of links, and that is rather common practice that way. -Bugs in the GNU OpenMP implementation should be reported via -@uref{http://gcc.gnu.org/bugzilla/, Bugzilla}. For all cases, please add +Bugs in the GNU OpenACC or OpenMP implementation should be reported via +@uref{http://gcc.gnu.org/bugzilla/, Bugzilla}. For OpenMP cases, please add openmp to the keywords field in the bug report. I suggest to actually remove this. It just looks like an extra piece of redundancy. The openmp resp. openacc keywords is something I'd like to keep reminding people to add, openmp keyword is what I use in my OpenMP bugs queries. Jakub
Re: [PATCH 3/5] OpenACC 2.0 support for libgomp - outline documentation (repost)
On Thu, 13 Nov 2014 11:05:10 +0100 Tobias Burnus tobias.bur...@physik.fu-berlin.de wrote: Jakub Jelinek wrote: -* libgomp: (libgomp).GNU OpenMP runtime library +* libgomp: (libgomp).GNU OpenACC and OpenMP runtime library @end direntry See Dave Malcolm's patch, please integrate it into your patchset. Namely, https://gcc.gnu.org/ml/gcc-patches/2014-11/msg01317.html However, a grep shows also the following spots which have to be updated: gcc/fortran/gfortran.texi-@option{-fopenmp}. This also arranges for automatic linking of the gcc/fortran/gfortran.texi:GNU OpenMP runtime library @ref{Top,,libgomp,libgomp,GNU OpenMP gcc/fortran/gfortran.texi-runtime library}. -- gcc/fortran/intrinsic.texi-@file{omp_lib.h}. The procedures provided by @code{OMP_LIB} can be found gcc/fortran/intrinsic.texi:in the @ref{Top,,Introduction,libgomp,GNU OpenMP runtime library} manual, gcc/fortran/intrinsic.texi-the named constants defined in the modules are listed -- gcc/doc/sourcebuild.texi-@item libgomp gcc/doc/sourcebuild.texi:The GNU OpenMP runtime library. gcc/doc/sourcebuild.texi- Thanks -- here's a new version of the patch, which incorporates David Malcolm's new backronym for libgomp, and edits the above files also. Juliancommit 06fc24fb9ffcf70aa49158f12db3f592bca5c3ff Author: Julian Brown jul...@codesourcery.com Date: Thu Nov 13 04:21:16 2014 -0800 OpenACC documentation. -xx-xx Thomas Schwinge tho...@codesourcery.com James Norris jnor...@codesourcery.com David Malcolm dmalc...@redhat.com Julian Brown jul...@codesourcery.com libgomp/ * libgomp.texi: Outline documentation for OpenACC. diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi index 20a206d..373dbb6 100644 --- a/gcc/doc/sourcebuild.texi +++ b/gcc/doc/sourcebuild.texi @@ -89,7 +89,7 @@ The Go runtime library. The bulk of this library is mirrored from the @uref{http://code.google.com/@/p/@/go/, master Go repository}. @item libgomp -The GNU OpenMP runtime library. +The GNU Offloading and Multi Processing library. @item libiberty The @code{libiberty} library, used for portability and for some diff --git a/gcc/fortran/intrinsic.texi b/gcc/fortran/intrinsic.texi index 90c9a3a..52db989 100644 --- a/gcc/fortran/intrinsic.texi +++ b/gcc/fortran/intrinsic.texi @@ -14030,8 +14030,8 @@ The OpenMP Fortran runtime library routines are provided both in a form of two Fortran 90 modules, named @code{OMP_LIB} and @code{OMP_LIB_KINDS}, and in a form of a Fortran @code{include} file named @file{omp_lib.h}. The procedures provided by @code{OMP_LIB} can be found -in the @ref{Top,,Introduction,libgomp,GNU OpenMP runtime library} manual, -the named constants defined in the modules are listed +in the @ref{Top,,Introduction,libgomp,GNU Offloading and Multi Processing +library} manual, the named constants defined in the modules are listed below. For details refer to the actual diff --git a/libgomp/libgomp.texi b/libgomp/libgomp.texi index 254be57..4bd7ab8 100644 --- a/libgomp/libgomp.texi +++ b/libgomp/libgomp.texi @@ -31,11 +31,14 @@ texts being (a) (see below), and with the Back-Cover Texts being (b) @ifinfo @dircategory GNU Libraries @direntry -* libgomp: (libgomp).GNU OpenMP runtime library +* libgomp: (libgomp). GNU Offloading and Multi Processing Runtime library @end direntry -This manual documents the GNU implementation of the OpenMP API for -multi-platform shared-memory parallel programming in C/C++ and Fortran. +This manual documents libgomp, the GNU Offloading and Multi +Processing Runtime library. This is the GNU implementation of the OpenMP +API for multi-platform shared-memory parallel programming in C/C++ and +Fortran and of the OpenACC and OpenMP APIs for offloading of code to accelerator +devices from the same languages. Published by the Free Software Foundation 51 Franklin Street, Fifth Floor @@ -48,7 +51,7 @@ Boston, MA 02110-1301 USA @setchapternewpage odd @titlepage -@title The GNU OpenMP Implementation +@title The GNU OpenACC and OpenMP Implementation @page @vskip 0pt plus 1filll @comment For the @value{version-GCC} Version* @@ -69,7 +72,11 @@ Boston, MA 02110-1301, USA@* @top Introduction @cindex Introduction -This manual documents the usage of libgomp, the GNU implementation of the +This manual documents the usage of libgomp, the GNU Offloading and Multi +Processing Runtime library. This is the GNU implementation of the +@uref{http://www.openacc.org/, OpenACC} Application Programming Interface (API) +for offloading of code to accelerator devices in C/C++ and Fortran, and +the GNU implementation of the @uref{http://www.openmp.org, OpenMP} Application Programming Interface (API) for multi-platform shared-memory parallel programming in C/C++ and Fortran. @@ -81,23 +88,617 @@ for multi-platform shared-memory parallel programming in C/C++ and
Re: [PATCH 3/5] OpenACC 2.0 support for libgomp - outline documentation (repost)
On Tue, Nov 11, 2014 at 01:54:08PM +, Julian Brown wrote: From 1f17beb70b5607d1884fad1cb4734857f0e7846f Mon Sep 17 00:00:00 2001 From: Julian Brown jul...@codesourcery.com Date: Mon, 22 Sep 2014 02:45:29 -0700 Subject: [PATCH 3/5] OpenACC documentation. -xx-xx Thomas Schwinge tho...@codesourcery.com James Norris jnor...@codesourcery.com libgomp/ * libgomp.texi: Outline documentation for OpenACC. --- libgomp/libgomp.texi | 661 -- 1 file changed, 636 insertions(+), 25 deletions(-) diff --git a/libgomp/libgomp.texi b/libgomp/libgomp.texi index 254be57..9530a2b 100644 --- a/libgomp/libgomp.texi +++ b/libgomp/libgomp.texi @@ -31,10 +31,12 @@ texts being (a) (see below), and with the Back-Cover Texts being (b) @ifinfo @dircategory GNU Libraries @direntry -* libgomp: (libgomp).GNU OpenMP runtime library +* libgomp: (libgomp).GNU OpenACC and OpenMP runtime library @end direntry See Dave Malcolm's patch, please integrate it into your patchset. -This manual documents the GNU implementation of the OpenMP API for +This manual documents the GNU implementation of the OpenACC API for +offloading of code to accelerator devices in C/C++ and Fortran and +the GNU implementation of the OpenMP API for multi-platform shared-memory parallel programming in C/C++ and Fortran. I'd write: This manual documents the GNU implementation of the OpenMP API for multi-platform shared-memory parallel programming in C/C++ and Fortran and OpenACC and OpenMP API for offloading of code to accelerator devices from the same languages. or so. +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 variable @env{GCC_ACC_NOTIFY} is used for diagnostic purposes. + +@menu +* ACC_DEVICE_TYPE:: +* ACC_DEVICE_NUM:: +* GCC_ACC_NOTIFY:: If the env var name is adjusted to GACC_NOTIFY, GOACC_NOTIFY or even GOMP_ACC_NOTIFY (as the library is libgomp), please don't forget to change this spot too. +As the OpenACC library is built using the CUDA Driver API, the question has Is it? I thought only the nvptx plugin is. Otherwise LGTM. Jakub
Re: [PATCH 3/5] OpenACC 2.0 support for libgomp - outline documentation (repost)
Jakub Jelinek wrote: -* libgomp: (libgomp).GNU OpenMP runtime library +* libgomp: (libgomp).GNU OpenACC and OpenMP runtime library @end direntry See Dave Malcolm's patch, please integrate it into your patchset. Namely, https://gcc.gnu.org/ml/gcc-patches/2014-11/msg01317.html However, a grep shows also the following spots which have to be updated: gcc/fortran/gfortran.texi-@option{-fopenmp}. This also arranges for automatic linking of the gcc/fortran/gfortran.texi:GNU OpenMP runtime library @ref{Top,,libgomp,libgomp,GNU OpenMP gcc/fortran/gfortran.texi-runtime library}. -- gcc/fortran/intrinsic.texi-@file{omp_lib.h}. The procedures provided by @code{OMP_LIB} can be found gcc/fortran/intrinsic.texi:in the @ref{Top,,Introduction,libgomp,GNU OpenMP runtime library} manual, gcc/fortran/intrinsic.texi-the named constants defined in the modules are listed -- gcc/doc/sourcebuild.texi-@item libgomp gcc/doc/sourcebuild.texi:The GNU OpenMP runtime library. gcc/doc/sourcebuild.texi- And, finally, one also needs to update the webserver: wwwdocs/htdocs/onlinedocs/index.html which is the file https://gcc.gnu.org/onlinedocs/ For editing, see https://gcc.gnu.org/about.html#cvs Tobias