From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa4.mentor.iphmx.com (esa4.mentor.iphmx.com [68.232.137.252]) by sourceware.org (Postfix) with ESMTPS id 309D3385700F for ; Sun, 3 Dec 2023 00:32:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 309D3385700F 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 309D3385700F Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=68.232.137.252 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1701563569; cv=none; b=LVLmUQhpYgu/pAj47cTczcdDcnY8Cjfk/9yKPD3FmVFsvyC2VWlNt3EW57hBYai7OOXUwT+4n2BzYA87mR3up9H3PsWu7SKanIzzp0PIe/JyKf5M5opLnWDhz7Zbuecjmekn5wSeue8fsPcyDjsa6mtCf7V7nG18lHywT4R0M0g= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1701563569; c=relaxed/simple; bh=7BVWHXEwk6CwGw+VbNrS2t6U7UUBM1gzhqHMZLjF/Sw=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=HLqioEP1M6RYyH4otGgoqQJ5FqX4dIMWHK399b1rQV+SBA/pHbCzSyUTRNHARz+Q4+MwQN9DP3gKCcXBsf1Iht7pMmkv76d+YQZfNjiw2cChSZBqDrDdN3d6zM2BrKf56gq68iFBGQbeThioui7nb6CiTSaGV9mhO7on0Ayf1pM= ARC-Authentication-Results: i=1; server2.sourceware.org X-CSE-ConnectionGUID: fheKjpAFRpWd69u/jbGQGg== X-CSE-MsgGUID: jBX/87GWSXCf9p72RPNklQ== X-IronPort-AV: E=Sophos;i="6.04,246,1695715200"; d="scan'208";a="24279923" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa4.mentor.iphmx.com with ESMTP; 02 Dec 2023 16:32:47 -0800 IronPort-SDR: 4Du2vG5aDq1LYWkzLwJjEjF7HZVzMyPV4lEErS4/R16Mo86BOAfLsu4vXtswNxhC7fLwnmuqS6 S2GClzCfyGH98vXeoVbtVv0w1rs1y35A95r17bAYGvwoZMj392Zknbwoa8Cnlbj/kgQYOqKQyK miDgPq/HRY2XEkkpEzhSt3pjAn2LCqgS6/vHJFlznQJlvkAxqE8t0nAL3RIKTR62wnO6FOYRCO qaBiB2E/YYsAG7wAp3wNOg5llzw+TLXtRh5TN/oUr80vYGGhhSr4eIX9s1fsaUhq226AY1UIsx NZA= From: Andrew Stubbs To: Subject: [PATCH v3 0/3] libgomp: OpenMP low-latency omp_alloc Date: Sun, 3 Dec 2023 00:32:21 +0000 Message-ID: <20231203003224.1638841-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-15.mgc.mentorg.com (139.181.222.15) 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 List-Id: This patch series is a rework of the patch series posted in August. https://patchwork.sourceware.org/project/gcc/list/?series=23045&state=%2A&archive=both The series implements device-specific allocators and adds a low-latency allocator for both GPUs architectures. This time the omp_low_lat_mem_alloc does not work because the default traits are incompatible (GPU low-latency memory is not accessible to other teams). I've also included documentation and addressed the comments from Tobias's review. Andrew Andrew Stubbs (3): libgomp, nvptx: low-latency memory allocator openmp, nvptx: low-lat memory access traits amdgcn, libgomp: low-latency allocator gcc/config/gcn/gcn-builtins.def | 2 + gcc/config/gcn/gcn.cc | 16 +- libgomp/allocator.c | 266 +++++++----- libgomp/basic-allocator.c | 380 ++++++++++++++++++ libgomp/config/gcn/allocator.c | 127 ++++++ libgomp/config/gcn/libgomp-gcn.h | 6 + libgomp/config/gcn/team.c | 12 + libgomp/config/nvptx/allocator.c | 141 +++++++ libgomp/config/nvptx/team.c | 18 + libgomp/libgomp.h | 3 - libgomp/libgomp.texi | 40 +- libgomp/plugin/plugin-gcn.c | 35 +- libgomp/plugin/plugin-nvptx.c | 23 +- libgomp/testsuite/libgomp.c/omp_alloc-1.c | 66 +++ libgomp/testsuite/libgomp.c/omp_alloc-2.c | 72 ++++ libgomp/testsuite/libgomp.c/omp_alloc-3.c | 49 +++ libgomp/testsuite/libgomp.c/omp_alloc-4.c | 197 +++++++++ libgomp/testsuite/libgomp.c/omp_alloc-5.c | 71 ++++ libgomp/testsuite/libgomp.c/omp_alloc-6.c | 118 ++++++ .../testsuite/libgomp.c/omp_alloc-traits.c | 66 +++ 20 files changed, 1595 insertions(+), 113 deletions(-) create mode 100644 libgomp/basic-allocator.c create mode 100644 libgomp/config/gcn/allocator.c create mode 100644 libgomp/config/nvptx/allocator.c create mode 100644 libgomp/testsuite/libgomp.c/omp_alloc-1.c create mode 100644 libgomp/testsuite/libgomp.c/omp_alloc-2.c create mode 100644 libgomp/testsuite/libgomp.c/omp_alloc-3.c create mode 100644 libgomp/testsuite/libgomp.c/omp_alloc-4.c create mode 100644 libgomp/testsuite/libgomp.c/omp_alloc-5.c create mode 100644 libgomp/testsuite/libgomp.c/omp_alloc-6.c create mode 100644 libgomp/testsuite/libgomp.c/omp_alloc-traits.c -- 2.41.0