From patchwork Mon Nov 13 09:32:09 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Tobias Burnus X-Patchwork-Id: 164388 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b909:0:b0:403:3b70:6f57 with SMTP id t9csp1090733vqg; Mon, 13 Nov 2023 01:33:00 -0800 (PST) X-Google-Smtp-Source: AGHT+IEfhEgx6073b1NtPzrmmACaq7KRKADmGx7gd/FHBZaaMy86cfRJmZDLprg7lIshlP605odO X-Received: by 2002:a05:622a:1aa5:b0:418:2268:992b with SMTP id s37-20020a05622a1aa500b004182268992bmr9249639qtc.14.1699867979956; Mon, 13 Nov 2023 01:32:59 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1699867979; cv=pass; d=google.com; s=arc-20160816; b=N7S8SNKU9mwZl16R58snLGQpnZmHMQGaekQbZ1Vig2k/CZYv37tSBBELODEd5Sc3nk pwtiXxPtTMKzHhVXeyDumKjOK+IbnyHAE2IhpNT64F+/0sn1hVBnlAojPBqKQkJ76eCA nPw3WCpjA1nRkJIqVMEQwq2OXC5mxNDwssaWpiIruYkXjaj7/c5OQikphqCbCHCou004 FvNc/flh9Y0qsCYgpQ/gQaqvKepaRRRYNX677KfrGJo00a+T+k4fLZvtOqHKBLF9QTgh UvoB1MVjvGf3ScOUrDa3idxTeddW4waHC4Q90hrb4zzXLFsHzkfd97+dhBa+HiPhxJiJ 8eEA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=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:arc-filter:dmarc-filter:delivered-to; bh=0mlBmvVbuWs13iaaX6riQqxVtor8modcvlFLODpqTJY=; fh=j/WMmOm4QTfx9xIFPcmzlPqsZNKHvrfusJhtbcL57FY=; b=aE/13hEvosV6dE2VHA6EsVmaBb0S8KmuBvdbxgq9UEoaLfUuUgeCVzoa1ia6vXvbtD HiUEgXQZqZg09I+3iNa/ptRnPckeiu6H58uCjeS3Gxk8qVwYtMcadqp4e+BWwjSCsdtJ /sX6NViDULfJoj0VocEsnZ8L90UVmIu4uY2SNun0uQhGZ1ARFu8tjc4VJsvWJZCeMlo8 ZvLLPHotpzQ8dLKKxVfI+Ih7LuRfDuAjJ7bdy951YDvyqY8H0aQicjqPeqXJ+OsDHr0g u1D8ZOOd8sJOuWa6w5ciZUiG2mmXnAmZhfD/SmIOonSyCbQMyMZHOcxw5225ZzDhN0IG Rk3A== ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org" Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id d7-20020a05622a05c700b0041814a70625si3941600qtb.798.2023.11.13.01.32.59 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Nov 2023 01:32:59 -0800 (PST) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; arc=pass (i=1); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 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 9B08D396E872 for ; Mon, 13 Nov 2023 09:32:45 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from esa3.mentor.iphmx.com (esa3.mentor.iphmx.com [68.232.137.180]) by sourceware.org (Postfix) with ESMTPS id 8BAD1395C05D for ; Mon, 13 Nov 2023 09:32:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8BAD1395C05D Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 8BAD1395C05D Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=68.232.137.180 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699867941; cv=none; b=X5X6lU2Mjxo92y4nQzRDwxodsF3gwJQluJR15VBsWtSaRuS58UtgklZh9uHp6qS+ER3NXBpEAUHiiOvqPFaUtVeOXyrMr5CgIFU+JlVPRyCRi6Fd2kI0im9H1/U1h6+0Q5bgDMDnbm5jFyF9iieilKy26/xmdSisQ7Njw7INRAo= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699867941; c=relaxed/simple; bh=9sTmkqUQ+VOOLIMXQcMDquwd3HyvrCyb2Fn4si5VXi8=; h=Message-ID:Date:MIME-Version:To:From:Subject; b=mPW+WbRtXGbO43euOKGRmOo86Lba7Ro8ES/r8pC2krTLUybyRjVtrAucB4PWZ74sGkMyFqk8mVG5Yac1wlpiQj0rNS4bBmr+zCsgtGiIJ7LKqKWqanGsrkUloYeK71ROe12OVQYGikViN69i9LH+bRBTVAcuS+fsUX/ICsQ0iyo= ARC-Authentication-Results: i=1; server2.sourceware.org X-CSE-ConnectionGUID: lApk7pXfREe2eqyu9T6ilQ== X-CSE-MsgGUID: BfG/+1hyQm25GKyzHtG9Rw== X-IronPort-AV: E=Sophos;i="6.03,299,1694764800"; d="diff'?scan'208";a="22621060" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa3.mentor.iphmx.com with ESMTP; 13 Nov 2023 01:32:15 -0800 IronPort-SDR: E4Z2aTh7Ud0AvguW4zdV4z9NA1fD57sJgeu4eiBc8/J8X5DydGHdRDkLmh5ixv2Vrd+rL2B4bu th8ar7RfpcoOWjNKwdyuxNMTzechDduFwWv+DMxcy//fJAsnSxh6zPRnOVo/nhWxSepRgipP+Y p5EUPsPQp5nBF58SCogx3oJleXcu+YqLPRZG964RtaarwjTjr3B3YzmK6zeeNbWqCe/JpUWXV2 TTIUMLFqywMKXQeoWb66C3vE9tBn6cBrcBPgD1AzcJBIDuHbWLx52jrbQnFC4v7x3tSelnTFlh GWU= Message-ID: <02e3880b-3fdc-462c-8d1f-a451d513c59c@codesourcery.com> Date: Mon, 13 Nov 2023 10:32:09 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: gcc-patches , Gerald Pfeifer From: Tobias Burnus Subject: [wwwdocs][committed] projects/gomp: Update for TR12, update impl. status X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-13.mgc.mentorg.com (139.181.222.13) To svr-ies-mbx-12.mgc.mentorg.com (139.181.222.12) X-Spam-Status: No, score=-11.3 required=5.0 tests=BAYES_00, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, KAM_SHORT, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE 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.30 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782440767212428615 X-GMAIL-MSGID: 1782440767212428615 A new OpenMP 6.0 preview, Technical Report (TR) 12 has been released in time for Supercomputing 2023 (SC23), cf.https://www.openmp.org/specifications/ This commit links to the new spec (see bottom of change), it also updates the implementation status of some items for 'allocate', 'indirect' and C++23/C23 attributes, and, mainly, updates it for new features added between TR11 and TR12. Committed - looks like: https://gcc.gnu.org/projects/gomp/ esp, see "TR 12" and "OpenMP Releases and Status" Tobias PS: The libgomp.texi update is at https://gcc.gnu.org/onlinedocs/libgomp/OpenMP-Implementation-Status.html -> TR12 (I need to fix the typo 'c(a)lause' there) and some update for https://gcc.gnu.org/gcc-14/changes.html is also eventually required. But as more features keep getting added, there is no rush. ----------------- 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 commit ad756d3cfed3007d8c07c7f22facf24b202f1160 Author: Tobias Burnus Date: Mon Nov 13 10:23:25 2023 +0100 projects/gomp: Update for TR12, update impl. status This adds a link to the new TR12 (second OpenMP 6.0 preview); updates the status + TR12 to-do list form libgomp.texi and adds a couple of missing ''. --- htdocs/projects/gomp/index.html | 248 +++++++++++++++++++++++++++++++++------- 1 file changed, 205 insertions(+), 43 deletions(-) diff --git a/htdocs/projects/gomp/index.html b/htdocs/projects/gomp/index.html index 7f0b97c3..bc472747 100644 --- a/htdocs/projects/gomp/index.html +++ b/htdocs/projects/gomp/index.html @@ -29,7 +29,7 @@ OpenMP and OpenACC are supported with GCC's C, C++ and Fortran compilers.

3.1 · 4.0 · 4.5 · 5.0 · 5.1 · 5.2 · - TR 11 + TR 12
  • OpenMP Releases and Status
  • @@ -480,7 +480,7 @@ than listed, depending on resolved corner cases and optimizations.

    allocate directive GCC 14 - Only C, only stack variables + Only C and Fortran, only stack variables Discontiguous array section with target update construct @@ -555,7 +555,7 @@ than listed, depending on resolved corner cases and optimizations.

    align clause in allocate directive GCC 14 - Only C (and only stack variables) + Only C and Fortran (and only stack variables) align modifier in allocate clause @@ -708,14 +708,14 @@ than listed, depending on resolved corner cases and optimizations.

    - iterators in target update motion clauses and map clauses + .terators in target update motion clauses and map clauses No - indirect calls to the device version of a procedure or function in target regions - No - + Indirect calls to the device version of a procedure or function in target regions + GCC 14 + Only C and C++ interop directive @@ -745,7 +745,7 @@ than listed, depending on resolved corner cases and optimizations.

    For Fortran, diagnose placing declarative before/between USE, - IMPORT, and IMPLICIT as invalid + IMPORT, and IMPLICIT as invalid No @@ -756,8 +756,8 @@ than listed, depending on resolved corner cases and optimizations.

    indirect clause in declare target - No - + GCC 14 + Only C and C++ device_type(nohost)/device_type(host) for variables @@ -964,6 +964,12 @@ than listed, depending on resolved corner cases and optimizations.

    No + + Invoke virtual member functions of C++ objects created on the host + device on other devices + No + + @@ -976,9 +982,9 @@ code, the omx sentinel is warned for with -Wsurprising (enabled by -Wall). Unknown clauses are always rejected with an error.

    -

    OpenMP Technical Report 11

    +

    OpenMP Technical Report 12

    -

    Technical Report (TR) 11 is the first preview for OpenMP 6.0.

    +

    Technical Report (TR) 12 is the second preview for OpenMP 6.0.

    @@ -995,18 +1001,90 @@ error.

    - - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1016,80 +1094,117 @@ error.

    - + + + + + - - - - - + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + + + + + + + + @@ -1098,54 +1213,96 @@ error.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + @@ -1154,6 +1311,11 @@ error.

    OpenMP Releases and Status

    +
    November 9, 2023
    +

    OpenMP +Technical Report 12 (second preview for the OpenMP API Version 6.0) has been +released.

    +
    November 9, 2022

    OpenMP Technical Report 11 (first preview for the OpenMP API Version 6.0) has been

    Backward compatibility
    The decl attribute was added to the C++ attribute syntax - GCC 14Full support for C 23 was addedGCC 9 + / GCC 14Increasing coverage (since GCC 9 -std=c2x, + since GCC 14 -std=c23)
    _ALL suffix to the device-scope environment variables + Full support for C++ 23 was addedGCC 11 + / GCC 14C++ Implementation Status; + increasing coverage (since GCC 11 -std=c++2b, + since GCC 14 -std=c++23)
    _ALL suffix to the device-scope environment variables GCC 13 Host device number wrongly accepted
    num_threads now accepts a listNo
    Supporting increments with abstract names in OMP_PLACESNo
    Extension of OMP_DEFAULT_DEVICE and new + OMP_AVAILABLE_DEVICES environment varsNo
    New OMP_THREADS_RESERVE environment variableNo
    The decl attribute was added to the C++ attribute syntaxGCC 14
    The OpenMP directive syntax was extended to include C 23 attribute specifiersGCC 14
    All inarguable clauses take now an optional Boolean argumentNo
    For Fortran, locator list can be also function reference with - data pointer result + data pointer resultNo
    Concept of assumed-size arrays in C and C++No
    directive-name-modifier accepted in all clausesNo
    For Fortran, atomic with BLOCK construct and, for C/C++, with unlimited + curly braces supportedNo
    For Fortran, atomic compare with storing the comparison resultNo
    New looprange clause No
    Implicit reduction identifiers of C++ classes + Support for inductionsNo
    Implicit reduction identifiers of C++ classes No
    Change of the map-type property from ultimate to - default + default No
    Concept of assumed-size arrays in C and C++ + self modifier to map and self + as defaultmap argument No
    Mapping of assumed-size arrays in C, C++ and Fortran + Mapping of assumed-size arrays in C, C++ and Fortran No
    groupprivate directive + groupprivate directive No
    local clause to declare target directive + local clause to declare target directive No
    part_size allocator trait + part_size allocator trait No
    pin_device, preferred_device and target_access - allocator traits + allocator traitsNo
    access allocator trait changesNo
    Extension of interop operation of append_args, + allowing all modifiers of the init clause No
    access allocator trait changes + interop clause to dispatch No
    Extension of interop operation of append_args, allowing all - modifiers of the init clause + message and severity clauses to + parallel directive No
    interop clause to dispatch + self clause to requires directive No
    apply code to loop-transforming constructs + no_openmp_constructs assumptions clause No
    omp_curr_progress_width identifier + reverse loop-transformation construct No
    safesync clause to the parallel construct + interchange loop-transformation construct No
    omp_get_max_progress_width runtime routine + fuse loop-transformation constructNo
    apply code to loop-transforming constructsNo
    omp_curr_progress_width identifierNo
    safesync clause to the parallel constructNo
    omp_get_max_progress_width runtime routine No
    No
    atomic permitted in a construct with + order(concurrent)No
    coexecute directive for FortranNo
    Fortran DO CONCURRENT as associated loop in a loop + constructNo
    threadset clause in task-generating constructsNo
    nowait clause with reverse-offload target directivesNo
    Boolean argument to nowait and nogroup + may be non constantNo
    memscope clause to atomic and flush No
    Routines for obtaining memory spaces/allocators for shared/device memory + omp_is_free_agent and + omp_ancestor_is_free_agent routines No
    omp_get_memspace_num_resources routine + omp_target_memset and + omp_target_memset_rect_async routines No
    omp_get_submemspace routine + Routines for obtaining memory spaces/allocators for shared/device memory No
    ompt_get_buffer_limits OMPT routine + omp_get_memspace_num_resources routine No
    Extension of OMP_DEFAULT_DEVICE and new - OMP_AVAILABLE_DEVICES environment vars + omp_get_submemspace routine No
    Supporting increments with abstract names in OMP_PLACES + ompt_target_data_transfer and + ompt_target_data_transfer_async values in + ompt_target_data_op_t enum No
    Relaxed Fortran restrictions to the aligned clause + ompt_get_buffer_limits OMPT routine No
    Mapping lambda captures + Relaxed Fortran restrictions to the aligned clause No
    For Fortran, atomic compare with storing the comparison result + Mapping lambda capturesNo
    New omp_pause_stop_tool constant for + omp_pause_resource No