From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa1.mentor.iphmx.com (esa1.mentor.iphmx.com [68.232.129.153]) by sourceware.org (Postfix) with ESMTPS id A6B7F395B406; Fri, 13 May 2022 17:21:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A6B7F395B406 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=mentor.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com X-IronPort-AV: E=Sophos;i="5.91,223,1647331200"; d="diff'?scan'208";a="78511432" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa1.mentor.iphmx.com with ESMTP; 13 May 2022 09:21:08 -0800 IronPort-SDR: MYwol/2dJYpHXaxsX0VYnS9PRYZZm93RVGqLaTRyRX5BPFpR90fKb28ys/llp0QrD19CJbwTkb sr7PtLNWZOAYTgES/KlS3yZ5f5t+chi4MgkYLmsgZoIrq3LKXY8LsCINO0AKPNX1oNR87pIXyZ o+LE7hsrSTJoppuOSuemfRyJ5c0fYdrXc9of5tF+Dmc+7AZhTruDzH201knXyCMNPMc3zmEdZ2 BIfGbfrnG0Gswfkpie+fx8fvI1pX4Wi5q/QiGEH6l52LsLwbyZsEI/8CpXy75F2ojx1+OFHETF hC0= Content-Type: multipart/mixed; boundary="------------N48heieNybc4GxPxOPzBhgDN" Message-ID: Date: Fri, 13 May 2022 19:21:02 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.0 Content-Language: en-US To: gcc-patches , fortran , Jakub Jelinek From: Tobias Burnus Subject: [Patch] OpenMP/Fortran: Use firstprivat not alloc for ptr attach for arrays X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-13.mgc.mentorg.com (139.181.222.13) To svr-ies-mbx-13.mgc.mentorg.com (139.181.222.13) X-Spam-Status: No, score=-11.6 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, 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: fortran@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Fortran mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 May 2022 17:21:11 -0000 --------------N48heieNybc4GxPxOPzBhgDN Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: quoted-printable Based on sollve_vv's tests/4.5/target_teams_distribute/test_target_teams_di= stribute_nowait.F90 As discussed, for simple pointers =E2=80=93 like here with nondescriptor ar= ray, instead of alloc:a + pointer assign, a firstprivate + pointer assign makes more sense. It also avoids the race exposed by the sollve_vv testcase in some constella= tions. (The testcase, both as attached and currently in sollve_vv [=E2=86=92 Issue= #532], is invalid if run with 'nowait' as there is a race related to the array - as i= t only (un)mapped as (disjunct) array sections via interleaved, concurrently running target constructs with nowait clause.) There might be more places where this should/could be done =E2=80=93 and in= principle, firstprivate could also be useful for an array descriptor (but not its data= ); this could also be explored. (Including whether it should then not be priva= tized with shared memory.) OK? Tobias PS: OpenACC is excluded as it does its own firstprivate handling. ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstra=C3=9Fe 201= , 80634 M=C3=BCnchen; Gesellschaft mit beschr=C3=A4nkter Haftung; Gesch=C3= =A4ftsf=C3=BChrer: Thomas Heurung, Frank Th=C3=BCrauf; Sitz der Gesellschaf= t: M=C3=BCnchen; Registergericht M=C3=BCnchen, HRB 106955 --------------N48heieNybc4GxPxOPzBhgDN Content-Type: text/x-patch; charset="UTF-8"; name="omp-firstprivate-ptr.diff" Content-Disposition: attachment; filename="omp-firstprivate-ptr.diff" Content-Transfer-Encoding: base64 T3Blbk1QL0ZvcnRyYW46IFVzZSBmaXJzdHByaXZhdCBub3QgYWxsb2MgZm9yIHB0ciBhdHRh Y2ggZm9yIGFycmF5cwoKRm9yIGEgbm9uLWRlc2NyaXB0b3IgYXJyYXksICBtYXAoQShuOm0p KSB3YXMgbWFwcGVkIGFzCiAgbWFwKHRvZnJvbTpBW24tMV0gW2xlbjogLi4uXSkgbWFwKGFs bG9jOkEgW3BvaW50ZXIgYXNzaWduLCBiaWFzOiAuLi5dKQp3aXRoIHRoaXMgcGF0Y2gsIGl0 IGlzIGNoYW5nZWQgdG8KICBtYXAodG9mcm9tOkFbbi0xXSBbbGVuOiAuLi5dKSBtYXAoZmly c3Rwcml2YXRlOkEgW3BvaW50ZXIgYXNzaWduLCBiaWFzOiAuLi5dKQoKVGhlIGxhdHRlciBh dm9pZHMgYW4gYWxsb2MgLSBhbmQgYWxzbyBhdm9pZHMgdGhlIHJhY2UgY29uZGl0aW9uIHdp dGgKbm93YWl0IGluIHRoZSBlbmNsb3NlZCB0ZXN0Y2FzZS4gKE5vdGU6IHByZWRhbnRpY2Fs bHksIHRoZSB0ZXN0Y2FzZSBpcwppbnZhbGlkIHNpbmNlIE9wZW5NUCA1LjEsIHZpb2xhdGlu ZyB0aGUgbWFwIGNsYXVzZSByZXN0cmljdGlvbiBhdCBbMzU0OjEwLTEzXS4KCmdjYy9mb3J0 cmFuL0NoYW5nZUxvZzoKCgkqIHRyYW5zLW9wZW5tcC5jYyAoZ2ZjX3RyYW5zX29tcF9jbGF1 c2VzKTogV2hlbiBtYXBwaW5nIG5vbmRlc2NyaXB0b3IKCWFycmF5IHNlY3Rpb25zLCB1c2Ug R09NUF9NQVBfRklSU1RQUklWQVRFX1BPSU5URVIgaW5zdGVhZCBvZgoJR09NUF9NQVBfUE9J TlRFUiBmb3IgdGhlIHBvaW50ZXIgYXR0YWNobWVudC4KCmxpYmdvbXAvQ2hhbmdlTG9nOgoK CSogdGVzdHN1aXRlL2xpYmdvbXAuZm9ydHJhbi90YXJnZXQtbm93YWl0LWFycmF5LXNlY3Rp b24uZjkwOiBOZXcgdGVzdC4KCiBnY2MvZm9ydHJhbi90cmFucy1vcGVubXAuY2MgICAgICAg ICAgICAgICAgICAgICAgICB8IDEyICsrKy0tCiAuLi4vdGFyZ2V0LW5vd2FpdC1hcnJheS1z ZWN0aW9uLmY5MCAgICAgICAgICAgICAgICB8IDU2ICsrKysrKysrKysrKysrKysrKysrKysK IDIgZmlsZXMgY2hhbmdlZCwgNjUgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9nY2MvZm9ydHJhbi90cmFucy1vcGVubXAuY2MgYi9nY2MvZm9ydHJhbi90 cmFucy1vcGVubXAuY2MKaW5kZXggYmFhNDVmNzhhMGUuLmViNTg3MGMzYmM1IDEwMDY0NAot LS0gYS9nY2MvZm9ydHJhbi90cmFucy1vcGVubXAuY2MKKysrIGIvZ2NjL2ZvcnRyYW4vdHJh bnMtb3Blbm1wLmNjCkBAIC0zMzEyLDkgKzMzMTIsMTUgQEAgZ2ZjX3RyYW5zX29tcF9jbGF1 c2VzIChzdG10YmxvY2tfdCAqYmxvY2ssIGdmY19vbXBfY2xhdXNlcyAqY2xhdXNlcywKIAkJ ICAvKiBBbiBhcnJheSBlbGVtZW50IG9yIGFycmF5IHNlY3Rpb24gd2hpY2ggaXMgbm90IHBh cnQgb2YgYQogCQkgICAgIGRlcml2ZWQgdHlwZSwgZXRjLiAgKi8KIAkJICBib29sIGVsZW1l bnQgPSBuLT5leHByLT5yZWYtPnUuYXIudHlwZSA9PSBBUl9FTEVNRU5UOwotCQkgIGdmY190 cmFuc19vbXBfYXJyYXlfc2VjdGlvbiAoYmxvY2ssIG4sIGRlY2wsIGVsZW1lbnQsCi0JCQkJ CSAgICAgICBHT01QX01BUF9QT0lOVEVSLCBub2RlLCBub2RlMiwKLQkJCQkJICAgICAgIG5v ZGUzLCBub2RlNCk7CisJCSAgdHJlZSB0eXBlID0gVFJFRV9UWVBFIChkZWNsKTsKKwkJICBn b21wX21hcF9raW5kIGsgPSBHT01QX01BUF9QT0lOVEVSOworCQkgIGlmICghb3BlbmFjYwor CQkgICAgICAmJiAhR0ZDX0RFU0NSSVBUT1JfVFlQRV9QICh0eXBlKQorCQkgICAgICAmJiAh KFBPSU5URVJfVFlQRV9QICh0eXBlKQorCQkJICAgJiYgR0ZDX0RFU0NSSVBUT1JfVFlQRV9Q IChUUkVFX1RZUEUgKHR5cGUpKSkpCisJCSAgICBrID0gR09NUF9NQVBfRklSU1RQUklWQVRF X1BPSU5URVI7CisJCSAgZ2ZjX3RyYW5zX29tcF9hcnJheV9zZWN0aW9uIChibG9jaywgbiwg ZGVjbCwgZWxlbWVudCwgaywKKwkJCQkJICAgICAgIG5vZGUsIG5vZGUyLCBub2RlMywgbm9k ZTQpOwogCQl9CiAJICAgICAgZWxzZSBpZiAobi0+ZXhwcgogCQkgICAgICAgJiYgbi0+ZXhw ci0+ZXhwcl90eXBlID09IEVYUFJfVkFSSUFCTEUKZGlmZiAtLWdpdCBhL2xpYmdvbXAvdGVz dHN1aXRlL2xpYmdvbXAuZm9ydHJhbi90YXJnZXQtbm93YWl0LWFycmF5LXNlY3Rpb24uZjkw IGIvbGliZ29tcC90ZXN0c3VpdGUvbGliZ29tcC5mb3J0cmFuL3RhcmdldC1ub3dhaXQtYXJy YXktc2VjdGlvbi5mOTAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu Ljc1NjBjZmY3NDZiCi0tLSAvZGV2L251bGwKKysrIGIvbGliZ29tcC90ZXN0c3VpdGUvbGli Z29tcC5mb3J0cmFuL3RhcmdldC1ub3dhaXQtYXJyYXktc2VjdGlvbi5mOTAKQEAgLTAsMCAr MSw1NiBAQAorISBSdW5zIHRoZSB0aGUgdGFyZ2V0IHJlZ2lvbiBhc3luY2hyb2xvdXNseSBh bmQgY2hlY2tzIGZvciBpdAorIQorISBOb3RlIHRoYXQgIG1hcChhbGxvYzogd29yayg6LCBp KSkgKyBub3dhaXQgIHNob3VsZCBiZSBzYXZlCishIGdpdmVuIHRoYXQgYSBub25kZXNjcmlw dG9yIGFycmF5IGlzIHVzZWQuIEhvd2V2ZXIsIGl0IHN0aWxsCishIHZpb2xhdGVzIGEgbWFw IGNsYXVzZSByZXN0cmljdGlvbiwgYWRkZWQgaW4gT3Blbk1QIDUuMSBbMzU0OjEwLTEzXS4K KworUFJPR1JBTSB0ZXN0X3RhcmdldF90ZWFtc19kaXN0cmlidXRlX25vd2FpdAorICBVU0Ug SVNPX0ZvcnRyYW5fZW52LCBvbmx5OiBJTlQ2NAorICBpbXBsaWNpdCBub25lCisgICAgSU5U RUdFUiwgcGFyYW1ldGVyIDo6IE4gPSAxMDI0LCBOX1RBU0tTID0gMTYKKyAgICBJTlRFR0VS IDo6IGksIGosIGssIG15X3RpY2tldAorICAgIElOVEVHRVIgOjogb3JkZXIobl90YXNrcykK KyAgICBJTlRFR0VSKElOVDY0KSA6OiB3b3JrKG4sIG5fdGFza3MpCisgICAgSU5URUdFUiA6 OiB0aWNrZXQKKyAgICBsb2dpY2FsIDo6IGFzeW5jCisKKyAgICB0aWNrZXQgPSAwCisKKyAg ICAhJG9tcCB0YXJnZXQgZW50ZXIgZGF0YSBtYXAodG86IHRpY2tldCwgb3JkZXIpCisKKyAg ICAhJG9tcCBwYXJhbGxlbCBkbyBudW1fdGhyZWFkcyhuX3Rhc2tzKQorICAgIERPIGkgPSAx LCBuX3Rhc2tzCisgICAgICAgISRvbXAgdGFyZ2V0IG1hcChhbGxvYzogd29yayg6LCBpKSwg dGlja2V0KSBwcml2YXRlKG15X3RpY2tldCkgbm93YWl0CisgICAgICAgISEkb21wIHRhcmdl dCB0ZWFtcyBkaXN0cmlidXRlIG1hcChhbGxvYzogd29yayg6LCBpKSwgdGlja2V0KSBwcml2 YXRlKG15X3RpY2tldCkgbm93YWl0CisgICAgICAgRE8gaiA9IDEsIG4KKyAgICAgICAgICAh IFdhc3RlIGN5bGVzCishICAgICAgICAgIHdvcmsoaiwgaSkgPSAwCishICAgICAgICAgIERP IGsgPSAxLCBuKihuX3Rhc2tzIC0gaSkKKyEgICAgICAgICAgICAgd29yayhqLCBpKSA9IHdv cmsoaiwgaSkgKyBpKmoqaworISAgICAgICAgICBFTkQgRE8KKyAgICAgICAgICBteV90aWNr ZXQgPSAwCisgICAgICAgICAgISRvbXAgYXRvbWljIGNhcHR1cmUKKyAgICAgICAgICB0aWNr ZXQgPSB0aWNrZXQgKyAxCisgICAgICAgICAgbXlfdGlja2V0ID0gdGlja2V0CisgICAgICAg ICAgISRvbXAgZW5kIGF0b21pYworICAgICAgICAgICEkb21wIGF0b21pYyB3cml0ZQorICAg ICAgICAgIG9yZGVyKGkpID0gbXlfdGlja2V0CisgICAgICAgRU5EIERPCisgICAgICAgISRv bXAgZW5kIHRhcmdldCAhdGVhbXMgZGlzdHJpYnV0ZQorICAgIEVORCBETworICAgICEkb21w IGVuZCBwYXJhbGxlbCBkbworCisgICAgISRvbXAgdGFyZ2V0IGV4aXQgZGF0YSBtYXAoZnJv bTp0aWNrZXQsIG9yZGVyKQorCisgICAgSUYgKHRpY2tldCAubmUuIG5fdGFza3Mqbikgc3Rv cCAxCisgICAgaWYgKG1heHZhbChvcmRlcikgLz0gbl90YXNrcypuKSBzdG9wIDIKKyAgICAh IG9yZGVyKGkpID09IG4qaSBpZiBzeW5jaHJvbm91cyBhbmQgYmV0d2VlbiBuIGFuZCBuKm5f dGFza3MgaWYgcnVuIGNvbmN1cnJlbnRseQorICAgIGRvIGkgPSAxLCBuX3Rhc2tzCisgICAg ICBpZiAob3JkZXIoaSkgPCBuIC5vci4gb3JkZXIoaSkgPiBuKm5fdGFza3MpIHN0b3AgMwor ICAgIGVuZCBkbworICAgIGFzeW5jID0gLmZhbHNlLgorICAgIGRvIGkgPSAxLCBuX3Rhc2tz CisgICAgICBpZiAob3JkZXIoaSkgLz0gbippKSBhc3luYyA9IC50cnVlLgorICAgIGVuZCBk bworICAgIGlmICgubm90LiBhc3luYykgc3RvcCA0ICEgRGlkIG5vdCBydW4gYXN5bmNocm9u b3VzbHkKK2VuZAo= --------------N48heieNybc4GxPxOPzBhgDN--