From patchwork Fri Nov 25 10:34:35 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Tobias Burnus X-Patchwork-Id: 25915 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp3912720wrr; Fri, 25 Nov 2022 02:35:14 -0800 (PST) X-Google-Smtp-Source: AA0mqf4P1UehCjctRGTjOHig8oKfbyTb6W/fk2i+M7yShFH65DHlm2xCcTiG0letQHs70b2DpfAB X-Received: by 2002:a17:906:144c:b0:7ad:cda3:93c7 with SMTP id q12-20020a170906144c00b007adcda393c7mr31724081ejc.500.1669372514627; Fri, 25 Nov 2022 02:35:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669372514; cv=none; d=google.com; s=arc-20160816; b=csLqS8KaEXFwDLDnbC8E47PON/4UpAMiPNhh/vMAUiSgPjl4HgaXw71bN5RqZvKdDk pLqqCNEUR6HmiPyY9l7t3nwKVykFfNSpJnJIE16NXEZGkSONVMepYucuSeAJgoW3kS6/ vQg+wwbbxlt7m98+AgI5xwHCxQWyMXjvopoXHzORumaErbLyAP/3YWjmrlFur4Ji0RjK f9RGsOv9QkhGSVE7w7WQt6QNO2f2CfJ3X0oP9UfFAz2FtZNQiljNih55BBHGuRv0cTuw poFfGitSXtLEWnASclGgytbiLIiw8ib4WrRJq6sYrIgWrhmqMSf0g7wdEL/H/SaHfvIi TsBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject:from:to :content-language:user-agent:mime-version:date:message-id :ironport-sdr:dmarc-filter:delivered-to; bh=ok2WuVjcnchxcAMYOzRr2RZ5P/XgUFU5ezCnqXoKY+U=; b=utzh/r6nlNNXsy+5QKh7RG2vb46+WkvOCvUTqIjmYwMSYeXt5tbMZMUAxXJWbb+afi Fx9MEZwAEWCKLICDb0beBeMewzaUP3KxSGNQh1XTRiFhiOVOVMMQYFGEUX/i7UKbtRia ctcko3IP3r3zErK+NMLHdgGsVFRl3k73K592/XyVVGbkApYmswKwjHIrq5HIA8US0rGQ jM7hSjBc7F4kyETsEHxDyhufyAfcVPJcbEMqELwefFKcJSVmmfsLZUrqbBZ8oZQMavnO ml6vhqDLSLOx7dxJIOM9egC/68xvNsuVup6cldgDLaNew/axhnieivzzGhuVrqOPaecU DpKQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org" Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id dt5-20020a170907728500b007a1e33462c1si2971859ejc.268.2022.11.25.02.35.14 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Nov 2022 02:35:14 -0800 (PST) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org" Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1EC91384EF45 for ; Fri, 25 Nov 2022 10:35:09 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from esa4.mentor.iphmx.com (esa4.mentor.iphmx.com [68.232.137.252]) by sourceware.org (Postfix) with ESMTPS id 270303855155 for ; Fri, 25 Nov 2022 10:34:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 270303855155 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com X-IronPort-AV: E=Sophos;i="5.96,193,1665475200"; d="diff'?scan'208";a="87763563" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa4.mentor.iphmx.com with ESMTP; 25 Nov 2022 02:34:41 -0800 IronPort-SDR: K3rzgSwCMS6HPimYJGGwz/SttSsxyKW3e1oYRfSetnFVmD5IiVlg/XieRrGVMdn6FSdPNqfmyv lAZxm0v6OUsHhUcsOmUhQrrWs2ndVxwOxe/z+E7beMvcf5RryFh/bwlRNnJpktMa/6VUKN+Lsr mksZiB/uypVo7u8gYxa39YiSL0v8+rYC1wLcVyPNurUYhkF4drRaJn8+haqW2DlHgjbnupgj98 sYuQpbzIbEpib3HgpN+Aw/acjiv/7RVAdXVKW3eWpcB842WTlkPuj/2643JTGm5Q+l1I2AV2Zh KJM= Message-ID: <78217b1a-477e-912c-f5b0-884a298ddbf1@codesourcery.com> Date: Fri, 25 Nov 2022 11:34:35 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.5.0 Content-Language: en-US To: Jakub Jelinek , gcc-patches From: Tobias Burnus Subject: [Patch] libgomp.texi: OpenMP Impl Status 5.1 additions + TR11 X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: SVR-IES-MBX-07.mgc.mentorg.com (139.181.222.7) To svr-ies-mbx-12.mgc.mentorg.com (139.181.222.12) X-Spam-Status: No, score=-10.8 required=5.0 tests=BAYES_00, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_ASCII_DIVIDERS, KAM_DMARC_STATUS, KAM_NUMSUBJECT, KAM_SHORT, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org Sender: "Gcc-patches" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750463953803507640?= X-GMAIL-MSGID: =?utf-8?q?1750463953803507640?= Update libgomp.texi's OpenMP implementation status. The 5.1 changes are taken from Jakub's comment at https://gcc.gnu.org/pipermail/gcc-patches/2022-September/602639.html (sorry for taking that long to incorporate those). It also adds TR11. I don't think we will work any time soon on TR11 – possibly except for clarifications. OK for mainline? Tobias PS: Albeit sometimes there is a fine border between clarification and larger new feature. For instance, * implicitly declared reduction identifiers for arbitrary C++ classes - or * how to handle implicit 'declare target' with declare variant and (no)host selectors. (The TR11 wording implies that the former is an old feature, while the latter is implied by the OpenMP 5.2 examples document, albeit an issue to clarify this in TR12 exists. For the latter: https://gcc.gnu.org/PR106316 + OpenMP Spec Issue 3416.) ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955 libgomp.texi: OpenMP Impl Status 5.1 additions + TR11 libgomp/ChangeLog: * libgomp.texi (OpenMP Implementation Status): Add three 5.1 items and status for Technical Report (TR) 11. libgomp/libgomp.texi | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/libgomp/libgomp.texi b/libgomp/libgomp.texi index 10fefa97922..584af45bd67 100644 --- a/libgomp/libgomp.texi +++ b/libgomp/libgomp.texi @@ -162,6 +162,7 @@ See also @ref{OpenMP Implementation Status}. * OpenMP 5.0:: Feature completion status to 5.0 specification * OpenMP 5.1:: Feature completion status to 5.1 specification * OpenMP 5.2:: Feature completion status to 5.2 specification +* OpenMP Technical Report 11:: Feature completion status to first 6.0 preview @end menu The @code{_OPENMP} preprocessor macro and Fortran's @code{openmp_version} @@ -350,6 +351,9 @@ The OpenMP 4.5 specification is fully supported. to address of matching mapped list item per 5.1, Sect. 2.21.7.2 @tab N @tab @item For Fortran, diagnose placing declarative before/between @code{USE}, @code{IMPORT}, and @code{IMPLICIT} as invalid @tab N @tab +@item Optional comma beween directive and clause in the @code{#pragma} form @tab Y @tab +@item @code{indirect} clause in @code{declare target} @tab N @tab +@item @code{device_type(nohost)}/@code{device_type(host)} for variables @tab N @tab @end multitable @@ -425,6 +429,70 @@ to address of matching mapped list item per 5.1, Sect. 2.21.7.2 @tab N @tab @end multitable +@node OpenMP Technical Report 11 +@section OpenMP Technical Report 11 + +Technical Report (TR) 11 is the first preview for OpenMP 6.0. + +@unnumberedsubsec New features listed in Appendix B of the OpenMP specification +@multitable @columnfractions .60 .10 .25 +@item Features deprecated in versions 5.2, 5.1 and 5.0 were removed + @tab N/A @tab Backward compatibility +@item The @code{decl} attribute was added to the C++ attribute syntax + @tab N @tab +@item @code{_ALL} suffix to the device-scope environment variables + @tab P @tab Host device number wrongly accepted +@item For Fortran, @emph{locator list} can be also function reference with + data pointer result @tab N @tab +@item Ref-count change for @code{use_device_ptr}/@code{use_device_addr} + @tab N @tab +@item Implicit reduction identifiers of C++ classes + @tab N @tab +@item Change of the @emph{map-type} property from @emph{ultimate} to + @emph{default} @tab N @tab +@item Concept of @emph{assumed-size arrays} in C and C++ + @tab N @tab +@item Mapping of @emph{assumed-size arrays} in C, C++ and Fortran + @tab N @tab +@item @code{groupprivate} directive @tab N @tab +@item @code{local} clause to declare target directive @tab N @tab +@item @code{part_size} allocator trait @tab N @tab +@item @code{pin_device}, @code{preferred_device} and @code{target_access} + allocator traits + @tab N @tab +@item @code{access} allocator trait changes @tab N @tab +@item Extension of @code{interop} operation of @code{append_args}, allowing all + modifiers of the @code{init} clause +@item @code{interop} clause to @code{dispatch} @tab N @tab +@item @code{apply} code to loop-transforming constructs @tab N @tab +@item @code{omp_curr_progress_width} identifier @tab N @tab +@item @code{safesync} clause to the @code{parallel} construct @tab N @tab +@item @code{omp_get_max_progress_width} runtime routine @tab N @tab +@item @code{strict} modifier keyword to @code{num_threads}, @code{num_tasks} + and @code{grainsize} @tab N @tab +@item @code{memscope} clause to @code{atomic} and @code{flush} @tab N @tab +@item Routines for obtaining memory spaces/allocators for shared/device memory + @tab N @tab +@item @code{omp_get_memspace_num_resources} routine @tab N @tab +@item @code{omp_get_submemspace} routine @tab N @tab +@item @code{ompt_get_buffer_limits} OMPT routine @tab N @tab +@item Extension of @code{OMP_DEFAULT_DEVICE} and new + @code{OMP_AVAILABLE_DEVICES} environment vars @tab N @tab +@item Supporting increments with abstract names in @code{OMP_PLACES} @tab N @tab +@end multitable + +@unnumberedsubsec Other new TR 11 features +@multitable @columnfractions .60 .10 .25 +@item Relaxed Fortran restrictions to the @code{aligned} clause @tab N @tab +@item Mapping lambda captures @tab N @tab +@item For Fortran, atomic compare with storing the comparison result + @tab N @tab +@item @code{aligned} clause changes for @code{simd} and @code{declare simd} + @tab N @tab +@end multitable + + + @c --------------------------------------------------------------------- @c OpenMP Runtime Library Routines @c ---------------------------------------------------------------------