From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id BD9EAA0C43;
	Fri,  8 Oct 2021 19:43:33 +0200 (CEST)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 3D65740143;
	Fri,  8 Oct 2021 19:43:33 +0200 (CEST)
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2060.outbound.protection.outlook.com [40.107.243.60])
 by mails.dpdk.org (Postfix) with ESMTP id 6CCC240140
 for <dev@dpdk.org>; Fri,  8 Oct 2021 19:43:32 +0200 (CEST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FRhXnx4H5yzyMX2KHfxFrcboyKtl8g/GedgHGAo9aMk0YfvSmB4F2jWMXEHNpzovGg1ZnawwWaa124cYMaU8h/0LBkDhiPDau22ncDR665goLgVGXt54DtwmjFPy7tn9TjSWxqYeuE2Q2PJdSVDo//FWjWjLshMQZ6XEJ084IaorpopDWqALie86gyNRxy/kuRZqaurkAdbRMq1xs9Jv4KiDI2kLvT/UHRjb5TvRlwhJIp/pYKIClIlluNU65TJDbUzo9a4cl5Kv4ZhTSyJHqRowCp/UVUEJ4XLMJv5c249//oftIwbV0+X2DxFwt8Woz6G7OiwJuWWBtBgrL3tYtA==
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=EAAsnW6W4eZQC5gBxfcDlUAxHHl/Y1Rs2SguxMf6iOo=;
 b=YVgELYcmcFu/ELZMxW5N2Kz5+hwWkR13wdoBUa5tCMksUAGAYV6D+k8kL9g92vDouE13LBsQ+8UiErA+Hd9+F/4iNeBaBaYMUiPSPmIhWZY7YN69+acpsDjr2llRsrRupMQe7U3Rzsh72wDH/Oh9K/a6xpHuUPU2SxDs6vj2r9JtFmiwZe92j5hHb/P454BCzV0KiPGviiU9hyJPUGonEcx14XaZEWrnnGd/l7n768rRsppoNzJ41B5LN2hOSBdB7Tc6ToEUJQaB6y4GDD65KRQSYGGm2/5uV8n3K7eoD7/q5NnqMGYEVSIrHQzmKiGbGBm1Nve/7pmCOMUbxfvEJQ==
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=none 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=EAAsnW6W4eZQC5gBxfcDlUAxHHl/Y1Rs2SguxMf6iOo=;
 b=hG0WYvyymtFzA7noaH6lfwCHR4j+mFlSQoC0+Y2HobrILq7T0mz7/l1pyDfhee8Fhrwu4K+4bZPBuzJmysOykeOUiv2ssoU2N4wuwHEtyUBDjeQynR2oXe1mIh8Cz/ZlZ/YmeKtuV4WouDxSDCsqVdOTYhcjcH1DnYODsbmgpQ5jeFXhUiry8jP3eUYoRhwrVeGL57ozf8AL8BrtLVg9t7MQdEEGnXljcYRmPs9BjHY038iaRdh/XhmcWPfFzEMlKMbnS/GPYn6CnvXrtG2eaIl6fRhTWQDnFolTuwWP0xoavOydp40RjI5ctmn1QWOEqJBMFGGet18crBEj554BRQ==
Received: from CO2PR04CA0180.namprd04.prod.outlook.com (2603:10b6:104:4::34)
 by DM6PR12MB2811.namprd12.prod.outlook.com (2603:10b6:5:45::28) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.19; Fri, 8 Oct
 2021 17:43:30 +0000
Received: from CO1NAM11FT024.eop-nam11.prod.protection.outlook.com
 (2603:10b6:104:4:cafe::c7) by CO2PR04CA0180.outlook.office365.com
 (2603:10b6:104:4::34) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.18 via Frontend
 Transport; Fri, 8 Oct 2021 17:43:29 +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
 CO1NAM11FT024.mail.protection.outlook.com (10.13.174.162) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id
 15.20.4587.18 via Frontend Transport; Fri, 8 Oct 2021 17:43:29 +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; Fri, 8 Oct
 2021 17:43:28 +0000
From: <eagostini@nvidia.com>
To: <dev@dpdk.org>
CC: eagostini <eagostini@nvidia.com>
Date: Sat, 9 Oct 2021 01:53:40 +0000
Message-ID: <20211009015349.9694-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: HQMAIL111.nvidia.com (172.20.187.18) To
 HQMAIL107.nvidia.com (172.20.187.13)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c8af94fe-2ee5-4541-b4fa-08d98a8323c1
X-MS-TrafficTypeDiagnostic: DM6PR12MB2811:
X-Microsoft-Antispam-PRVS: <DM6PR12MB2811B750A7F0A2AB343D0123CDB29@DM6PR12MB2811.namprd12.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: mtc0Lm5raX8H/C5w/iZrJuT/36NDJJdyisfL1RYS+WIt4Np/favKe89LkH78cWtQO7d1QkNbKpOQPdWJsid660OQLTgUdObw5dS08wZVgCs4I8EwSPLsBoVkgDhQjA2zHXWbjfaxRxlSIK5P0iqpcGBy25vCta+A9KfXlW1idK9HI7AwlRVkYCMvWQ00bwLjZJtEu18QfwmpQBPPpfS+J9pqD0pkN7nhLzpwH/EG+I8KRkJh0/p9QyTuHK6dZA7ooxvsvjOaw1C1+fDU1TdY/ZNebm1ULNzxPq5Qemdnl9vAPvrbzTTsFmncppplzsO5htRQOlQ6O25YKtH/5F/hji/PlUTvUrF+6qFz5J6voAtxyditd/gU/Siw0avJMGYzh1Ta6belm6rWPTgrL7zY+HQqpSGDdc9RqjaZo1q8p+GMp1WLuwgfBTJVzPUNFUCKYGayVX6t1TGCS9+UKpImDD34C5awBnubpPELClBr0DvBKJyOVkJPJHcp+CFPhASKXca5dYvF+Ieq/+9HbrA9Iik6bSI6AOdGs/usEMaNfQ5q8sXDDS84KljwMyGbn7IwPt4Btu8oOGFMYw/1l5EeLn7jl7srnq+UgxYuzK6fKat0IDl94MlGHl3VlCeB+VD9aWYaIUKifx7CLCJnkk7hG4XWoIuvuYoCXIuGh2YtRfpd3UTeUgbkOob7oNM7yPOWIxmO8YthguiZyMMjQSCtibbatAnpFYYPqZYbUDjz+DxnAHBAAdhkxnR+qhsrObTlkQ0lNvrGszLm6Xv4aSIXjsEttWY7yICns1+sBJn0cqU=
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)(36840700001)(46966006)(107886003)(6916009)(47076005)(70206006)(83380400001)(70586007)(6286002)(82310400003)(55016002)(4326008)(2616005)(6666004)(7696005)(2876002)(316002)(7636003)(2906002)(356005)(36860700001)(336012)(508600001)(36756003)(5660300002)(1076003)(426003)(966005)(86362001)(26005)(16526019)(186003)(8936002)(8676002);
 DIR:OUT; SFP:1101; 
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Oct 2021 17:43:29.3882 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c8af94fe-2ee5-4541-b4fa-08d98a8323c1
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: CO1NAM11FT024.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB2811
Subject: [dpdk-dev] [PATCH v3 0/9] GPU library
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

From: eagostini <eagostini@nvidia.com>

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, sent as draft:
https://patches.dpdk.org/project/dpdk/patch/20211005224905.13505-1-eagostini@nvidia.com/


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                 | 394 +++++++++++
 app/test-gpudev/meson.build            |   5 +
 doc/api/doxy-api-index.md              |   1 +
 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                    | 904 +++++++++++++++++++++++++
 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 +
 23 files changed, 2396 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