From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 9EDCEA0C4D; Mon, 8 Nov 2021 11:47:05 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 67F1440151; Mon, 8 Nov 2021 11:47:05 +0100 (CET) Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam08on2071.outbound.protection.outlook.com [40.107.101.71]) by mails.dpdk.org (Postfix) with ESMTP id E560B40040 for ; Mon, 8 Nov 2021 11:47:03 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Fe43S2Lirke2VSwd4JeTAew1LjHGGX1rltjLOMDoOW9F3IZwHEt8CqElHojo2eHA5umctc/tTnE4d5EJHdYEy82Ta1M8tHHmtjbZGfO/nZVaS52Fz+KtnjrRzOqA6h9t7YaC4HkR0ut0dl1tlDJJiqkLnfsfntJUQjyjj0JQn7GQH3kIRVxoleaZOn5fRlJZHn0XKdjH+CiuhzjuGozND/Z0s/1Txfx2cYSwiB/+flnZqgwmavoaHwof4Zi+BeSGDIQ2qAuAIRyq9LbwCOjGMsd8MMpRtqT2/Yo50IlOL4XunKY/Amu9S9ri9rTpNj14soDf5Y3njJ8+A226vneJOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=QNjVuOdvHAXTTYEKvU6mln0DU83CnZGNlZOaaBIwOTY=; b=j0Vhf6BJWYiL3SUtOM3wE+q/HZiyBkfxPM1gvcELASQ3/1CYt36+gYpUpy8U0Nyr8nrFltgKlfUIsH1qBnvi5fhmVSKPMEDH6zJVKPslzy0RoLszmvcLW1tFMQpA0H1/5go97DpoWSgipdvgNrrRoBqQmDCNLNw8DWJKJOztcLsyheHPd8B1tFGDetsBqRP8CJeApqPre86uwc47O0e96icWbub+CT8D6wXiKNOML86VOs1n0AnERSWf875lpc+AJ0nJiRpVUukuTtaYREfqom2va5AI5XRnd6MFdoEsX6rLOt6623t1SccEM7C8EhOqDMrzLYItxXcuJJO3T+80uw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.34) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QNjVuOdvHAXTTYEKvU6mln0DU83CnZGNlZOaaBIwOTY=; b=RajVATQi++6CDji53DttD2Z2TUBc4hFuvoHODv1EXpUNrVv0bM3rQ+lt8WkXqJXHHkpkToJhI4/F1zqWMakJCuxtv0DHjS4EdU0L/83gPwdSvG6mXtzyegJo0+r5XFYrCoLI/6NxEKPWFWS50WTLWHmToxWSfnGWDUIhKFDwpmVqk7AkKhSoReJ3BKOzg7+J4P0pePAAHGrdmRAIAFUv1A8lXbob0ovWN6phIdpnonAiQnNJ1vDUHk2ihEWiTdzMQuUtXnlgyDx7cyEhUpovkdOnM5MthsS0zLhPFzX066UZSFScLOTAqO7a0gIrpCNN2PiAUgHkf+Ni9bYSVkqq9Q== Received: from MW2PR16CA0059.namprd16.prod.outlook.com (2603:10b6:907:1::36) by BN9PR12MB5338.namprd12.prod.outlook.com (2603:10b6:408:103::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.10; Mon, 8 Nov 2021 10:47:02 +0000 Received: from CO1NAM11FT064.eop-nam11.prod.protection.outlook.com (2603:10b6:907:1:cafe::1b) by MW2PR16CA0059.outlook.office365.com (2603:10b6:907:1::36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.10 via Frontend Transport; Mon, 8 Nov 2021 10:47:02 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.34) smtp.mailfrom=nvidia.com; dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.112.34 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.112.34; helo=mail.nvidia.com; Received: from mail.nvidia.com (216.228.112.34) by CO1NAM11FT064.mail.protection.outlook.com (10.13.175.77) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4669.10 via Frontend Transport; Mon, 8 Nov 2021 10:47:01 +0000 Received: from nvidia.com (172.20.187.6) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Mon, 8 Nov 2021 10:47:00 +0000 From: To: CC: Elena Agostini Date: Mon, 8 Nov 2021 18:57:56 +0000 Message-ID: <20211108185805.3887-1-eagostini@nvidia.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210602203531.2288645-1-thomas@monjalon.net> References: <20210602203531.2288645-1-thomas@monjalon.net> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [172.20.187.6] X-ClientProxiedBy: HQMAIL105.nvidia.com (172.20.187.12) To HQMAIL107.nvidia.com (172.20.187.13) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: feebf566-8270-4ca3-5e45-08d9a2a51880 X-MS-TrafficTypeDiagnostic: BN9PR12MB5338: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4125; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4k0oFWxrqzRY6fdtmI3V8ASjOpSjv5dcftJgcgkSZJv3fxWNAF1npTZxVbHUfGA+A3YiQsjgtJWW0VV2nXPSXiaF9NXQRCqGuWARwMt8AWqEEre/KBvjqEwk3Js4gh9DB3UME/+Jr5RQROX6qBYhA5tEBx/FVgrG4kR0NT2vXszxA73umAKnK6P0tSCGkx2TtX1Shf8fRIN+V23Zc1TsoRR2JDCwJQBqSZ9QK2N0bJPzg4FTSqjRssqTafjDr5YjVg1jMR4APzQFA6XLsR71jVtcz3YG7oFipXXvJNDqm8Rfr2hmBqurWDYXDU2jUvCGwMZJADpJCy1FHw+YaBTVZnapaenTjnscG64bZXJ7CgKJOINoJi+rUEkEtxrsH5aWl7f+GLqjt29wmOGWeVUloRVvbzrrdtvqqCMtIOSWWSUu+qeLjTP2lzriWAbwMW9oXShBQsQwzSwgaAUCPrq7gnHjYfhO17KjJ2zG2dcVKxx2O0HmGk9ff5DkPBtJXuR5K0/qrd6Xvdoc7qKIo8rcdgSzk2fKvFskRZ9WoRjutUCXL1pIsa5jpDBjnNS4ukUdxtSINwZV7G7UI6rB2i4diGV0uMGnIjRmRdtqUoPKoQs9cAry8YpiR6U2YVBeS7k0OdsACAdt+qCc4Z90YKWGr4WVzciCD68YDAiqy6032bXo5avIUL2/NpHxJ3ni+MAKN/k5Vj5E2M5+dso7kwwHZip16xPF0YBo5lyHUQOJhPxcPxehJhWpHV0FMuECMbSRmfFoyEd+jBWr2hc9njJM5aKavVUjXXXP9FcfvYYTJoo= X-Forefront-Antispam-Report: CIP:216.228.112.34; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid03.nvidia.com; CAT:NONE; SFS:(4636009)(46966006)(36840700001)(86362001)(7696005)(36860700001)(6666004)(356005)(7636003)(36756003)(8676002)(47076005)(6916009)(5660300002)(2616005)(70586007)(70206006)(508600001)(316002)(2906002)(966005)(186003)(82310400003)(426003)(4326008)(55016002)(83380400001)(8936002)(107886003)(2876002)(336012)(1076003)(6286002)(16526019)(26005); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2021 10:47:01.3015 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: feebf566-8270-4ca3-5e45-08d9a2a51880 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.112.34]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CO1NAM11FT064.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR12MB5338 Subject: [dpdk-dev] [PATCH v5 0/9] GPU library X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Elena Agostini In heterogeneous computing system, processing is not only in the CPU. Some tasks can be delegated to devices working in parallel. The goal of this new library is to enhance the collaboration between DPDK, that's primarily a CPU framework, and GPU devices. When mixing network activity with task processing on a non-CPU device, there may be the need to put in communication the CPU with the device in order to manage the memory, synchronize operations, exchange info, etc.. This library provides a number of new features: - Interoperability with GPU-specific library with generic handlers - Possibility to allocate and free memory on the GPU - Possibility to allocate and free memory on the CPU but visible from the GPU - Communication functions to enhance the dialog between the CPU and the GPU The infrastructure is prepared to welcome drivers in drivers/gpu/ as the CUDA one: http://patches.dpdk.org/project/dpdk/cover/20211104020128.13165-1-eagostini@nvidia.com Changelog: - Patches updated to latest DPDK commit - Communication list item has an array of mbufs instead of opaque objects - Communication list free doesn't release mbufs anymore - Fixed styling reported by checkpatch Elena Agostini (6): gpudev: introduce GPU device class library gpudev: add memory API gpudev: add memory barrier gpudev: add communication flag gpudev: add communication list doc: add CUDA example in GPU guide Thomas Monjalon (3): gpudev: add event notification gpudev: add child device representing a device context gpudev: support multi-process .gitignore | 1 + MAINTAINERS | 6 + app/meson.build | 1 + app/test-gpudev/main.c | 367 ++++++++++ app/test-gpudev/meson.build | 5 + doc/api/doxy-api.conf.in | 1 + doc/guides/conf.py | 8 + doc/guides/gpus/features/default.ini | 13 + doc/guides/gpus/index.rst | 11 + doc/guides/gpus/overview.rst | 10 + doc/guides/index.rst | 1 + doc/guides/prog_guide/gpudev.rst | 226 +++++++ doc/guides/prog_guide/index.rst | 1 + doc/guides/rel_notes/release_21_11.rst | 6 + drivers/gpu/meson.build | 4 + drivers/meson.build | 1 + lib/gpudev/gpudev.c | 901 +++++++++++++++++++++++++ lib/gpudev/gpudev_driver.h | 102 +++ lib/gpudev/meson.build | 12 + lib/gpudev/rte_gpudev.h | 649 ++++++++++++++++++ lib/gpudev/version.map | 38 ++ lib/meson.build | 1 + 22 files changed, 2365 insertions(+) create mode 100644 app/test-gpudev/main.c create mode 100644 app/test-gpudev/meson.build create mode 100644 doc/guides/gpus/features/default.ini create mode 100644 doc/guides/gpus/index.rst create mode 100644 doc/guides/gpus/overview.rst create mode 100644 doc/guides/prog_guide/gpudev.rst create mode 100644 drivers/gpu/meson.build create mode 100644 lib/gpudev/gpudev.c create mode 100644 lib/gpudev/gpudev_driver.h create mode 100644 lib/gpudev/meson.build create mode 100644 lib/gpudev/rte_gpudev.h create mode 100644 lib/gpudev/version.map -- 2.17.1