From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr1-x433.google.com (mail-wr1-x433.google.com [IPv6:2a00:1450:4864:20::433]) by sourceware.org (Postfix) with ESMTPS id 7CB4B3858D39 for ; Tue, 12 Mar 2024 11:26:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7CB4B3858D39 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=baylibre.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 7CB4B3858D39 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::433 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1710242816; cv=none; b=UuSRWv6NKAZppXggvRAZ6BWvGat9LN4lFPpVG+6HRzzyEdLnztsONtkIU4BZyXeuIsZfPMuLhjBmRhihWjYJMEgTeiw6M6+MSfa3r+aBljIv/bnGrvLt5zvb1gjyPPTLVu4woZZW5i1SqZsPCnli1Wk9DgzmJaP8D03lnapbxIs= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1710242816; c=relaxed/simple; bh=55cRfC8ZTkCvcP0v41gZn93EyHaWS7wwpm8XWbwfFxE=; h=DKIM-Signature:Message-ID:Date:MIME-Version:From:Subject:To; b=cSwh2Y5UuGtg5tHH4qTGkNurz1HudCFS2yF2KylUBAMKRlFtNPx5MPNKZSwVR1x1HxaeCV0RPXHdrB0IagjZi1iQ5x08UIzJ1LJnFP6m/iWB7V9Goc7gC2ovvseB/9IHVVRa6VlaWPy8sm/Nx1te7r9GwniK6txdydbsYte4Big= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-wr1-x433.google.com with SMTP id ffacd0b85a97d-33e8f906f3dso2498790f8f.3 for ; Tue, 12 Mar 2024 04:26:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1710242812; x=1710847612; darn=gcc.gnu.org; h=in-reply-to:content-language:references:cc:to:subject:from :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=7SqzNuT5dLIKdAw54m0gp7Kly0ZMDU24YdKHbSbwweY=; b=ihYxeOCLp7+HlLFpCyaqHknCZdKf0A8FbwoRmebCOvuJzGVhHGaC6TE2wK+mvdgOgA pxVafwoJ+8GeGdqPG4per7R9vEL+VyjUJkutz9tE8BABvDmIZHVixV35y1g4jDJraEmL qniJz4hMiCKzoc/B/Wuh5SNuoInFCqMDhkxh+2exmpaF7Cih1Gx9CdMQT1SQv5MZ+jWo LRMmFApLIBrY/Y3GkUnGWeZutQd1bhpKBeVEqpcyoaoRAde4LQgD0Vb/UK5VnE4CUopP m/+lgnGdSCQdkb2MpXOEHWpC2RrU4jX3Vcdsjzptsf3E5Zy7ujaBjBDtUjjNW8Ziws+a NKgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710242812; x=1710847612; h=in-reply-to:content-language:references:cc:to:subject:from :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=7SqzNuT5dLIKdAw54m0gp7Kly0ZMDU24YdKHbSbwweY=; b=ajzyMVQtzKOpMkASMCx4+JkUPy4M1aRess2Iuw00+VNYtB6OKBMkIpdlvkb3UIZPym yZkHZ7T8bBIZBeK1H5hWkx2g95LLpPgrcSv8x4JowZJ38+awdwrtE8n/svOVGSsf+ZVr ztPEdMLoRtHxYOMUo0bdd8NGIquJ2n9QnvbhZ9YMbFaddUPC5s9MilvhFxAVPuJAmjBS a97tkQQmTfXStFPTPJXkgemo6dvN4cw5AZZzR05pa3onqIFuHTcaAcK9ePWfCRqPYJ8m l8nv1uJUimcbPt7Zn9TCAadrw8gmi8r6/zrzfZh4P5j9BYlWKaMczEZboEUoIAAJ7H3w Wnjw== X-Forwarded-Encrypted: i=1; AJvYcCVmo3XltjvO7s/iLkrBUyvXjrM7YRRsR0ajymOahQHSpSavS5TWVT1MURJhJqNDyHcaFfSxhUUdI5BT7nupc7MglAng X-Gm-Message-State: AOJu0Yybg7W74enGM/5cBBkpZK28lu7aw50hg46sdb9aDBmpfN+77Dp5 JTyybC+yZ66SJ4L7wTWkhnEHBxh8k/lEIOYQuxBiEMD2sKx8IJCkF/vI2FWTn/w= X-Google-Smtp-Source: AGHT+IGzqQhCwngfUtm8cHE7GaxuP2YgMVCj1OlxeFZ9Kg7mXXN7Vpg6/o9GKV3Lz3Yduz+9M5v46A== X-Received: by 2002:a5d:4491:0:b0:33e:73ea:39c2 with SMTP id j17-20020a5d4491000000b0033e73ea39c2mr6957631wrq.67.1710242812087; Tue, 12 Mar 2024 04:26:52 -0700 (PDT) Received: from ?IPV6:2001:16b8:2a79:6300:37a6:1ac6:1d8b:5d7c? (200116b82a79630037a61ac61d8b5d7c.dip.versatel-1u1.de. [2001:16b8:2a79:6300:37a6:1ac6:1d8b:5d7c]) by smtp.gmail.com with ESMTPSA id m8-20020a056000174800b0033dd2a7167fsm8805246wrf.29.2024.03.12.04.26.51 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 12 Mar 2024 04:26:51 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------pMqUEVwd86qyk0DCWoz4ryPY" Message-ID: <7cfeed83-761f-49e4-a431-4586b82afa00@baylibre.com> Date: Tue, 12 Mar 2024 12:26:50 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: Tobias Burnus Subject: Re: [Patch] OpenMP/Fortran: Fix defaultmap(none) issue with dummy procedures [PR114283] To: Jakub Jelinek Cc: gcc-patches , "fortran@gcc.gnu.org" References: Content-Language: en-US In-Reply-To: X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,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 List-Id: This is a multi-part message in MIME format. --------------pMqUEVwd86qyk0DCWoz4ryPY Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Jakub Jelinek wrote: > So firstprivate clause handling remaps them then if declare target indirect > is used? If so, the patch looks reasonable to me. [I have now updated the patch to turn the testcase to ensure that is also keeps works at runtime.] OpenMP leaves it a bit open when the remapping has to happen, but one can construct cases – in particular with unified-shared memory – where it is not possible to do this upon entry to a target region. Thus, it has to be done when the function is invoked, e.g. i = (*g) (); is turned (in the target region but only on the device side) into i = (*GOMP_target_map_indirect_ptr (g)) (); Thus, as long as the host pointer value is transferred to the device, it works – as the lookup is done on the device side. Directly using a device address (remap when mapping to the target) will also not shorten the lookup, i.e. there is no need for it. Does it still look reasonable to you? Tobias PS: The current OpenMP specification, it is listed mainly described via the glossary (newest change is the addition of dummy procedure): "indirect device invocation – An indirect call to the _device_ version of a _procedure_ on a _device_ other than the _host-device_, through a function pointer (C/C++), a pointer to a member function (C++), a dummy procedure (Fortran), or a procedure pointer (Fortran) that refers to the host version of the _procedure_." --------------pMqUEVwd86qyk0DCWoz4ryPY Content-Type: text/x-patch; charset=UTF-8; name="dummyproc-v2.diff" Content-Disposition: attachment; filename="dummyproc-v2.diff" Content-Transfer-Encoding: base64 T3Blbk1QL0ZvcnRyYW46IEZpeCBkZWZhdWx0bWFwKG5vbmUpIGlzc3VlIHdpdGggZHVtbXkg cHJvY2VkdXJlcyBbUFIxMTQyODNdCgpEdW1teSBwcm9jZWR1cmVzIGxvb2sgc2ltaWxhciB0 byB2YXJpYWJsZXMgYnV0IGFyZW4ndCAtIG5laXRoZXIgaW4gRm9ydHJhbgpub3IgaW4gT3Bl bk1QLiBBcyB0aGUgbWlkZGxlIGVuZCBzZWVzIFBBUk1fREVDTHMsIG1hcmsgdGhlbSBhcyBw cmVkZXRlcm1pbmVkCmZpcnN0cHJpdmF0ZSBmb3IgbWFwcGluZyAoYXMgYWxyZWFkeSBkb25l IGluIGdmY19vbXBfcHJlZGV0ZXJtaW5lZF9zaGFyaW5nKS4KClRoaXMgZG9lcyBub3QgYWRk cmVzcyB0aGUgaXNzZXMgcmVsYXRlZCB0byBwcm9jZWR1cmUgcG9pbnRlcnMsIHdoaWNoIGFy ZQpzdGlsbCBkaXNjdXNzZWQgb24gc3BlYyBsZXZlbCBbc2VlIFBSXS4KCglQUiBmb3J0cmFu LzExNDI4MwoKZ2NjL2ZvcnRyYW4vQ2hhbmdlTG9nOgoKCSogdHJhbnMtb3Blbm1wLmNjIChn ZmNfb21wX3ByZWRldGVybWluZWRfbWFwcGluZyk6IE1hcCBkdW1teQoJcHJvY2VkdXJlcyBh cyBmaXJzdHByaXZhdGUuCgpsaWJnb21wL0NoYW5nZUxvZzoKCgkqIHRlc3RzdWl0ZS9saWJn b21wLmZvcnRyYW4vZGVjbGFyZS10YXJnZXQtaW5kaXJlY3QtNC5mOTA6IE5ldyB0ZXN0LgoK IGdjYy9mb3J0cmFuL3RyYW5zLW9wZW5tcC5jYyAgICAgICAgICAgICAgICAgICAgICAgIHwg IDkgKysrKysKIC4uLi9saWJnb21wLmZvcnRyYW4vZGVjbGFyZS10YXJnZXQtaW5kaXJlY3Qt NC5mOTAgIHwgNDMgKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCA1 MiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vdHJhbnMtb3Blbm1w LmNjIGIvZ2NjL2ZvcnRyYW4vdHJhbnMtb3Blbm1wLmNjCmluZGV4IGEyYmYxNTY2NWIzLi4x ZGJhNDcxMjZlZCAxMDA2NDQKLS0tIGEvZ2NjL2ZvcnRyYW4vdHJhbnMtb3Blbm1wLmNjCisr KyBiL2djYy9mb3J0cmFuL3RyYW5zLW9wZW5tcC5jYwpAQCAtMzQzLDYgKzM0MywxNSBAQCBn ZmNfb21wX3ByZWRldGVybWluZWRfbWFwcGluZyAodHJlZSBkZWNsKQogCSAgICAmJiBHRkNf REVDTF9TQVZFRF9ERVNDUklQVE9SIChkZWNsKSkpCiAgICAgcmV0dXJuIE9NUF9DTEFVU0Vf REVGQVVMVE1BUF9UTzsKIAorICAvKiBEdW1teSBwcm9jZWR1cmVzIGFyZW4ndCBjb25zaWRl cmVkIHZhcmlhYmxlcyBieSBPcGVuTVAsIHRodXMgYXJlCisgICAgIGRpc2FsbG93ZWQgaW4g T3Blbk1QIGNsYXVzZXMuICBUaGV5IGFyZSByZXByZXNlbnRlZCBhcyBQQVJNX0RFQ0xzCisg ICAgIGluIHRoZSBtaWRkbGUtZW5kLCBzbyByZXR1cm4gT01QX0NMQVVTRV9ERUZBVUxUTUFQ X0ZJUlNUUFJJVkFURSBoZXJlCisgICAgIHRvIGF2b2lkIGNvbXBsYWluaW5nIGFib3V0IHRo ZWlyIHVzZXMgd2l0aCBkZWZhdWx0bWFwKG5vbmUpLiAgKi8KKyAgaWYgKFRSRUVfQ09ERSAo ZGVjbCkgPT0gUEFSTV9ERUNMCisgICAgICAmJiBUUkVFX0NPREUgKFRSRUVfVFlQRSAoZGVj bCkpID09IFBPSU5URVJfVFlQRQorICAgICAgJiYgVFJFRV9DT0RFIChUUkVFX1RZUEUgKFRS RUVfVFlQRSAoZGVjbCkpKSA9PSBGVU5DVElPTl9UWVBFKQorICAgIHJldHVybiBPTVBfQ0xB VVNFX0RFRkFVTFRNQVBfRklSU1RQUklWQVRFOworCiAgIC8qIFRoZXNlIGFyZSBlaXRoZXIg YXJyYXkgb3IgZGVyaXZlZCBwYXJhbWV0ZXJzLCBvciB2dGFibGVzLiAgKi8KICAgaWYgKFZB Ul9QIChkZWNsKSAmJiBUUkVFX1JFQURPTkxZIChkZWNsKQogICAgICAgJiYgKFRSRUVfU1RB VElDIChkZWNsKSB8fCBERUNMX0VYVEVSTkFMIChkZWNsKSkpCmRpZmYgLS1naXQgYS9saWJn b21wL3Rlc3RzdWl0ZS9saWJnb21wLmZvcnRyYW4vZGVjbGFyZS10YXJnZXQtaW5kaXJlY3Qt NC5mOTAgYi9saWJnb21wL3Rlc3RzdWl0ZS9saWJnb21wLmZvcnRyYW4vZGVjbGFyZS10YXJn ZXQtaW5kaXJlY3QtNC5mOTAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAuLjQzZjQyOTU0OTRjCi0tLSAvZGV2L251bGwKKysrIGIvbGliZ29tcC90ZXN0c3VpdGUv bGliZ29tcC5mb3J0cmFuL2RlY2xhcmUtdGFyZ2V0LWluZGlyZWN0LTQuZjkwCkBAIC0wLDAg KzEsNDMgQEAKKyEgeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1mZHVtcC10cmVlLWdpbXBs ZSIgfQorCishIFBSIGZvcnRyYW4vMTE0MjgzCisKKyEgeyBkZy1maW5hbCB7IHNjYW4tdHJl ZS1kdW1wICIjcHJhZ21hIG9tcCBwYXJhbGxlbCBzaGFyZWRcXChpXFwpIGlmXFwoMFxcKSBk ZWZhdWx0XFwobm9uZVxcKSBmaXJzdHByaXZhdGVcXChnXFwpIiAiZ2ltcGxlIiB9IH0KKyEg eyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wICIjcHJhZ21hIG9tcCB0YXJnZXQgbnVtX3Rl YW1zXFwoLTJcXCkgdGhyZWFkX2xpbWl0XFwoMFxcKSBmaXJzdHByaXZhdGVcXChoXFwpIG1h cFxcKGZyb206aiBcXFxbbGVuOiA0XFxcXVxcKSBkZWZhdWx0bWFwXFwobm9uZVxcKSIgImdp bXBsZSIgfSB9CisKKworbW9kdWxlIG0KKyAgaW1wbGljaXQgbm9uZSAodHlwZSwgZXh0ZXJu YWwpCisgICEkb21wIGRlY2xhcmUgdGFyZ2V0IGluZGlyZWN0IGVudGVyKGYxLCBmMikKK2Nv bnRhaW5zCisgIGludGVnZXIgZnVuY3Rpb24gZjEgKCkKKyAgICBmMSA9IDk5CisgIGVuZAor ICBpbnRlZ2VyIGZ1bmN0aW9uIGYyICgpCisgICAgZjIgPSA4OQorICBlbmQKK2VuZCBtb2R1 bGUgbQorCit1c2UgbQoraW1wbGljaXQgbm9uZSAodHlwZSwgZXh0ZXJuYWwpCitjYWxsIHN1 YjEoZjEpCitjYWxsIHN1YjIoZjIpCitjb250YWlucworICBzdWJyb3V0aW5lIHN1YjEoZykK KyAgICBwcm9jZWR1cmUoaW50ZWdlcikgOjogZworICAgIGludGVnZXIgOjogaQorICAgICEk b21wIHBhcmFsbGVsIGRlZmF1bHQobm9uZSkgaWYoLmZhbHNlLikgc2hhcmVkKGkpCisgICAg ICBpID0gZyAoKQorICAgICEkb21wIGVuZCBwYXJhbGxlbAorICAgIGlmIChpIC89IDk5KSBz dG9wIDEKKyAgZW5kCisKKyAgc3Vicm91dGluZSBzdWIyKGgpCisgICAgcHJvY2VkdXJlKGlu dGVnZXIpIDo6IGgKKyAgICBpbnRlZ2VyIDo6IGoKKyAgICAhJG9tcCB0YXJnZXQgZGVmYXVs dG1hcChub25lKSBtYXAoZnJvbTpqKQorICAgICAgaiA9IGggKCkKKyAgICAhJG9tcCBlbmQg dGFyZ2V0CisgICAgaWYgKGogLz0gODkpIHN0b3AgMQorICBlbmQKK2VuZAo= --------------pMqUEVwd86qyk0DCWoz4ryPY--