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 694363858C50 for ; Thu, 9 Feb 2023 09:24:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 694363858C50 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.97,283,1669104000"; d="diff'?scan'208";a="100157641" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa1.mentor.iphmx.com with ESMTP; 09 Feb 2023 01:24:07 -0800 IronPort-SDR: oBmIxUD5RotUlDYLd7+trXqDoXAtMMV+ZiS92PlKzgH85kW4ZHONCtoa6bjHv4gqG89n7fQN5d pTQhTeKttrC9ilk+M4U3B/r91fR4Q2Mv93xnh8vWeA4wE7ChZkQpejoIuCUVXRCgAYbI9j38B7 OgRmgt/Fa0JUlJ/4vctHJv11RjR1sLuQ42NCY1tyAv1LJspkpQT+pgQ9LwdxbrgJc6vvB6CZvC ItVTkBda5QnhNG/9qI6KSDjdoN+7pNGVGrzjNIX4anuzihn/eZhCze9yvDJm6vFkKwcXZfMIel ZHE= Content-Type: multipart/mixed; boundary="------------M4mMXehf0oQ6LVTiUdbRsVKo" Message-ID: <12372b6c-1f8d-19aa-87be-99505f4712d4@codesourcery.com> Date: Thu, 9 Feb 2023 10:23:53 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.7.2 Subject: Re: [Patch] libgomp: Fix reverse-offload for GOMP_MAP_TO_PSET Content-Language: en-US To: Thomas Schwinge CC: , Jakub Jelinek References: <85ecf108-8249-21a3-b9ee-23b89b6816bd@codesourcery.com> <87357hum1g.fsf@euler.schwinge.homeip.net> From: Tobias Burnus In-Reply-To: <87357hum1g.fsf@euler.schwinge.homeip.net> X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-10.mgc.mentorg.com (139.181.222.10) To svr-ies-mbx-12.mgc.mentorg.com (139.181.222.12) X-Spam-Status: No, score=-11.9 required=5.0 tests=BAYES_00,GIT_PATCH_0,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,NICE_REPLY_A,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 List-Id: --------------M4mMXehf0oQ6LVTiUdbRsVKo Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: quoted-printable (Updated to fix -m32 build, otherwise unchanged.) Any other comments? On 07.02.23 23:51, Thomas Schwinge wrote: > On 2023-02-06T12:52:11+0100, Tobias Burnus wrot= e: >> Seems as if I missed a GOMP_MAP_TO_PSET issue before. As nvptx is >> XFAILed before, I only found it when testing on AMDGCN. >> >> For an array-descriptor 'ai' variable, omplower has: >> map(tofrom:MEM [(integer(kind=3D4)[0:] *)D.4= 346] [len: D.4345]) >> map(to:ai [pointer set, len: 64]) >> map(alloc:ai.data [pointer assign, bias: 0]) >> >> The latter reaches GCC with the same address as 'ai' =E2=80=93 i.e. the >> one of the array descriptor. This then needs to be dereferenced >> to get the address of the actual pointer. >> The patch assumes (and asserts) that 'ai.data' is part of the 'ai' >> such that I can use the host address of 'ai' to access the data. >> If that's not guaranteed, we have to find another way (e.g. another >> lookup). But so far it seems to hold and I have not seen a bias >> other than 0. >> >> With that patch, libgomp.fortran/reverse-offload-5.f90 now works >> with AMDGCN. ... >> OK? Any comments to the attached patch? ... > For x86_64-pc-linux-gnu '-m32' multilib: ... > I suppose you'd do similar to what you already have a few lines above; > that is, cast through 'uintptr_t': > > devaddrs[j] =3D *(uint64_t *) (uintptr_t) (devaddrs[i] + sizes[j]); Tobias ----------------- 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 --------------M4mMXehf0oQ6LVTiUdbRsVKo Content-Type: text/x-patch; charset="UTF-8"; name="rev-fix-2-v2.diff" Content-Disposition: attachment; filename="rev-fix-2-v2.diff" Content-Transfer-Encoding: base64 bGliZ29tcDogRml4IHJldmVyc2Utb2ZmbG9hZCBmb3IgR09NUF9NQVBfVE9fUFNFVAoKbGli Z29tcC8KCSogdGFyZ2V0LmMgKGdvbXBfdGFyZ2V0X3Jldik6IERlcmVmZXJlbmNlIHB0cgoJ dG8gZ2V0IGRldmljZSBhZGRyZXNzLgoJKiBsaWJnb21wLmZvcnRyYW4vcmV2ZXJzZS1vZmZs b2FkLTUuZjkwOiBBZGQgdGVzdAoJZm9yIHVuYWxsb2NhdGVkIGFsbG9jYXRhYmxlLgoKIGxp YmdvbXAvdGFyZ2V0LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCA4ICsrKysrKystCiBsaWJnb21wL3Rlc3RzdWl0ZS9saWJnb21wLmZvcnRyYW4vcmV2ZXJz ZS1vZmZsb2FkLTUuZjkwIHwgNiArKysrLS0KIDIgZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0 aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJnb21wL3RhcmdldC5j IGIvbGliZ29tcC90YXJnZXQuYwppbmRleCBjMTY4MmNhZWExMy4uODhmMjk5MDhhMDggMTAw NjQ0Ci0tLSBhL2xpYmdvbXAvdGFyZ2V0LmMKKysrIGIvbGliZ29tcC90YXJnZXQuYwpAQCAt MzU3OSw4ICszNTc5LDE0IEBAIGdvbXBfdGFyZ2V0X3JldiAodWludDY0X3QgZm5fcHRyLCB1 aW50NjRfdCBtYXBudW0sIHVpbnQ2NF90IGRldmFkZHJzX3B0ciwKIAkJICAgICAgfQogCQkg ICAgaW50IGs7CiAJCSAgICBuMiA9IE5VTEw7Ci0JCSAgICBjZGF0YVtpXS5wcmVzZW50ID0g dHJ1ZTsKKwkJICAgIC8qIERlcmVmZXJlbmNlIGRldmFkZHJzW2pdIHRvIGdldCB0aGUgZGV2 aWNlIGFkZHIuICAqLworCQkgICAgYXNzZXJ0IChkZXZhZGRyc1tqXS1zaXplc1tqXSA9PSBj ZGF0YVtpXS5kZXZhZGRyKTsKKwkJICAgIGRldmFkZHJzW2pdID0gKih1aW50NjRfdCAqKSAo dWludHB0cl90KSAoZGV2YWRkcnNbaV0KKwkJCQkJCQkgICAgICsgc2l6ZXNbal0pOworCQkg ICAgY2RhdGFbal0ucHJlc2VudCA9IHRydWU7CiAJCSAgICBjZGF0YVtqXS5kZXZhZGRyID0g ZGV2YWRkcnNbal07CisJCSAgICBpZiAoZGV2YWRkcnNbal0gPT0gMCkKKwkJICAgICAgY29u dGludWU7CiAJCSAgICBrID0gZ29tcF9tYXBfY2RhdGFfbG9va3VwIChjZGF0YSwgZGV2YWRk cnMsIGtpbmRzLCBzaXplcywgaiwKIAkJCQkJICAgICAgIGRldmFkZHJzW2pdLAogCQkJCQkg ICAgICAgZGV2YWRkcnNbal0gKyBzaXplb2YgKHZvaWQqKSwKZGlmZiAtLWdpdCBhL2xpYmdv bXAvdGVzdHN1aXRlL2xpYmdvbXAuZm9ydHJhbi9yZXZlcnNlLW9mZmxvYWQtNS5mOTAgYi9s aWJnb21wL3Rlc3RzdWl0ZS9saWJnb21wLmZvcnRyYW4vcmV2ZXJzZS1vZmZsb2FkLTUuZjkw CmluZGV4IGVmN2ViN2JkZDUyLi4xNjgxMGViNDdkZSAxMDA2NDQKLS0tIGEvbGliZ29tcC90 ZXN0c3VpdGUvbGliZ29tcC5mb3J0cmFuL3JldmVyc2Utb2ZmbG9hZC01LmY5MAorKysgYi9s aWJnb21wL3Rlc3RzdWl0ZS9saWJnb21wLmZvcnRyYW4vcmV2ZXJzZS1vZmZsb2FkLTUuZjkw CkBAIC0yNCw3ICsyNCw3IEBAIHMyID0gNTUKIAogISRvbXAgdGFyZ2V0IG1hcCh0bzogQSwg QTIsIHMxLCBzMikKIGJsb2NrCi0gIGludGVnZXIsIGFsbG9jYXRhYmxlIDo6IGFpKDopLCBh aTIoOiksIHNpMSwgc2kyCisgIGludGVnZXIsIGFsbG9jYXRhYmxlIDo6IGFpKDopLCBhaTIo OiksIGFpMyg6KSwgc2kxLCBzaTIsIHNpMwogCiAgIGEgPSBhICogMgogICBhMiA9IGEyICog MwpAQCAtMzgsNyArMzgsNyBAQCBibG9jawogCiAgICEkb21wIHRhcmdldCBkZXZpY2UgKGFu Y2VzdG9yOjEpICAmCiAgICEkb21wJiAgICAgICBtYXAodG86IEEsIHMxLCBhaSwgc2kxKSBt YXAoYWx3YXlzLCB0bzogYTIsIHMyKSAgJgotICAhJG9tcCYgICAgICAgbWFwKHRvZnJvbTog YWkyLCBzaTIpCisgICEkb21wJiAgICAgICBtYXAodG9mcm9tOiBhaTIsIHNpMiwgYWkzLCBz aTMpCiAgICAgaWYgKHNoYXJlZF9tZW0pIHRoZW4KICAgICAgIGlmIChhbnkgKGEgIC89IDIg KiBbMSwyLDMsNF0pKSBzdG9wIDEKICAgICAgIGlmIChzMSAvPSA0ICogNTMyKSBzdG9wIDIK QEAgLTUyLDYgKzUyLDcgQEAgYmxvY2sKICAgICBpZiAoYW55IChhaTIgLz0gWzgsNCw3LDFd KSkgc3RvcCA4CiAgICAgaWYgKHNpMSAvPSA2NCkgc3RvcCA5CiAgICAgaWYgKHNpMiAvPSA3 NjUpIHN0b3AgMTAKKyAgICBpZiAoYWxsb2NhdGVkIChhaTMpIC5vci4gYWxsb2NhdGVkKHNp MykpIHN0b3AgMjYKIAogICAgIGEgPSBhKjMKICAgICBhMiA9IGEyKjcKQEAgLTgwLDYgKzgx LDcgQEAgYmxvY2sKICAgZW5kaWYKICAgaWYgKGFueSAoYWkyIC89IDIxICogWzgsNCw3LDFd KSkgc3RvcCAyNAogICBpZiAoc2kyIC89IDMxICogNzY1KSBzdG9wIDI1CisgIGlmIChhbGxv Y2F0ZWQgKGFpMykgLm9yLiBhbGxvY2F0ZWQoc2kzKSkgc3RvcCAyNwogCiAgIGRlYWxsb2Nh dGUgKGFpLCBhaTIsIHNpMSwgc2kyKQogZW5kIGJsb2NrCg== --------------M4mMXehf0oQ6LVTiUdbRsVKo--