Message ID | 20231211170405.2538247-1-ams@codesourcery.com |
---|---|
Headers |
Return-Path: <gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org> X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 448F63858029 for <patchwork@sourceware.org>; Mon, 11 Dec 2023 17:04:46 +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 BB5593858D28 for <gcc-patches@gcc.gnu.org>; Mon, 11 Dec 2023 17:04:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BB5593858D28 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 BB5593858D28 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=1702314268; cv=none; b=sk4S5+nn63RYNQW3G6Jgs33V++c6Khg8BT742YwsIxaDMnzaM6F5pq874rXasxvMgXy5bFHLi/FCGjX5qKHtPOKvfImPe4qQSdjPQtSH78PNFmEBDkwVx4v2JN0/MPvatNnxKzeDdo6m5XSED42J+mt0nTiMxvYpcuDok2YWcao= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1702314268; c=relaxed/simple; bh=0iuE3KoGXOxEpyIydGgI1frMwapjzrWIlhJq+yBm5M0=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=Sgg6/OTb5cF5pItyKK6umt+smitWGBW16wr/o47PEo3cGN7mXgl8ayt4unERW98SVTNA6wk/fQ4X15covWx47TP3Yp3DfPGuJlv5pwwmDs/hL1PauGqdIC9KUgENrtIpF/HmZ9pkfh4ZJDr+ONXs1eGZPlzBYp36bQBpRLaY8ag= ARC-Authentication-Results: i=1; server2.sourceware.org X-CSE-ConnectionGUID: 0IGxXY0YRhSUutFv22ANCg== X-CSE-MsgGUID: EREQ+MJgSKWLOWuPXNE16Q== X-IronPort-AV: E=Sophos;i="6.04,268,1695715200"; d="scan'208";a="25008310" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa3.mentor.iphmx.com with ESMTP; 11 Dec 2023 09:04:25 -0800 IronPort-SDR: QLPVlccXEyJeBTA4CdtKQEhe6YP71r6uZHLHlwNDQ2RwyuU82jagqgZMMfuSDgYUEEBcYTR5W7 eZLMG4H395h1YXrV3PkjTSsmENTpQ2sFbRTQq9OWa3uNx1O0m9AVPlmSZagYjyK5plh5WFtLID MDvM+AbfwuDbadKV4J7wb4uZ0RcC6Pghnq2/Ac8iLLJvu5gTHcTtjEOark3QkN7qprdDIlMWbV A47qBNEC/7z/LuA86thBFVxj/pFl7T4iWV+uwlf/RT+Ns0mTaPS5a6BHOlxGxC1eDLDzegQGBM 12k= From: Andrew Stubbs <ams@codesourcery.com> To: <gcc-patches@gcc.gnu.org> Subject: [PATCH v3 0/6] libgomp: OpenMP pinned memory omp_alloc Date: Mon, 11 Dec 2023 17:03:59 +0000 Message-ID: <20231211170405.2538247-1-ams@codesourcery.com> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-10.mgc.mentorg.com (139.181.222.10) To svr-ies-mbx-11.mgc.mentorg.com (139.181.222.11) X-Spam-Status: No, score=-5.9 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=no 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 <gcc-patches.gcc.gnu.org> List-Unsubscribe: <https://gcc.gnu.org/mailman/options/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe> List-Archive: <https://gcc.gnu.org/pipermail/gcc-patches/> List-Post: <mailto:gcc-patches@gcc.gnu.org> List-Help: <mailto:gcc-patches-request@gcc.gnu.org?subject=help> List-Subscribe: <https://gcc.gnu.org/mailman/listinfo/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe> Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org |
Series |
libgomp: OpenMP pinned memory omp_alloc
|
|
Message
Andrew Stubbs
Dec. 11, 2023, 5:03 p.m. UTC
This patch series is a rework of the v2 series I posted in August: https://patchwork.sourceware.org/project/gcc/list/?series=23763&state=%2A&archive=both This version addresses most of the review comments from Tobias, but after discussion with Tobias and Thomas we've decided to skip the nice-to-have proposed initialization improvement in the interest of getting the job done, for now. Otherwise, some bugs have been fixed and few other clean-ups have been made, but the series retains the same purpose and structure. This series no longer has any out-of-tree dependencies, now that the low-latency allocator patch have been committed. An older, less compact, version of these patches is already applied to the devel/omp/gcc-13 (OG13) branch. OK for mainline? Andrew Andrew Stubbs (5): libgomp: basic pinned memory on Linux libgomp, openmp: Add ompx_pinned_mem_alloc openmp: Add -foffload-memory openmp: -foffload-memory=pinned libgomp: fine-grained pinned memory allocator Thomas Schwinge (1): libgomp, nvptx: Cuda pinned memory gcc/common.opt | 16 + gcc/coretypes.h | 7 + gcc/doc/invoke.texi | 16 +- gcc/omp-builtins.def | 3 + gcc/omp-low.cc | 66 ++++ libgomp/Makefile.am | 2 +- libgomp/Makefile.in | 7 +- libgomp/allocator.c | 95 ++++-- libgomp/config/gcn/allocator.c | 21 +- libgomp/config/linux/allocator.c | 243 +++++++++++++ libgomp/config/nvptx/allocator.c | 21 +- libgomp/libgomp-plugin.h | 2 + libgomp/libgomp.h | 14 + libgomp/libgomp.map | 1 + libgomp/libgomp.texi | 17 +- libgomp/libgomp_g.h | 1 + libgomp/omp.h.in | 1 + libgomp/omp_lib.f90.in | 2 + libgomp/plugin/plugin-nvptx.c | 42 +++ libgomp/target.c | 136 ++++++++ .../libgomp.c-c++-common/alloc-pinned-1.c | 28 ++ libgomp/testsuite/libgomp.c/alloc-pinned-1.c | 141 ++++++++ libgomp/testsuite/libgomp.c/alloc-pinned-2.c | 146 ++++++++ libgomp/testsuite/libgomp.c/alloc-pinned-3.c | 189 +++++++++++ libgomp/testsuite/libgomp.c/alloc-pinned-4.c | 184 ++++++++++ libgomp/testsuite/libgomp.c/alloc-pinned-5.c | 129 +++++++ libgomp/testsuite/libgomp.c/alloc-pinned-6.c | 128 +++++++ libgomp/testsuite/libgomp.c/alloc-pinned-7.c | 63 ++++ libgomp/testsuite/libgomp.c/alloc-pinned-8.c | 127 +++++++ .../libgomp.fortran/alloc-pinned-1.f90 | 16 + libgomp/usmpin-allocator.c | 319 ++++++++++++++++++ 31 files changed, 2127 insertions(+), 56 deletions(-) create mode 100644 libgomp/testsuite/libgomp.c-c++-common/alloc-pinned-1.c create mode 100644 libgomp/testsuite/libgomp.c/alloc-pinned-1.c create mode 100644 libgomp/testsuite/libgomp.c/alloc-pinned-2.c create mode 100644 libgomp/testsuite/libgomp.c/alloc-pinned-3.c create mode 100644 libgomp/testsuite/libgomp.c/alloc-pinned-4.c create mode 100644 libgomp/testsuite/libgomp.c/alloc-pinned-5.c create mode 100644 libgomp/testsuite/libgomp.c/alloc-pinned-6.c create mode 100644 libgomp/testsuite/libgomp.c/alloc-pinned-7.c create mode 100644 libgomp/testsuite/libgomp.c/alloc-pinned-8.c create mode 100644 libgomp/testsuite/libgomp.fortran/alloc-pinned-1.f90 create mode 100644 libgomp/usmpin-allocator.c