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 D935541DB3; Thu, 2 Mar 2023 07:08:27 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B5F6240E09; Thu, 2 Mar 2023 07:08:27 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 5750740DFB for ; Thu, 2 Mar 2023 07:08:26 +0100 (CET) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3225Oh2t015393 for ; Wed, 1 Mar 2023 22:08:25 -0800 Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2049.outbound.protection.outlook.com [104.47.66.49]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3p1pseddfx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 01 Mar 2023 22:08:25 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EXAwfJNIF1fyeXZDVq2ulsNMf1hbUZFRmllEYaKOEwUBHFGBBfX59mQoXPzYteNe5TVBspmz8g9leaCC4vlzKAYSW5w4ayVgh5Vl1atuUjn1MwiUnE4Z1/I26IKIaEQybelS9Rl5aXlNVHtN1Afvo1UpIxX3n7h2S87jPBU5KJb01Rcruk7xh5s0ethY+a1tFyZtj55c1U0gpM6h4AwgEfTq7JToWi87hVRkwKyOWnTFDhw6Xam8PyR7m3IboZNajs49H1NS8QOGQ2nFfjapHlt8RuwVQpeIo0wWG6uO4LBnCYX6AGwmEPJcRrNDtnwvx7wCWDpP1TGiCrtylVxMQg== 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=RwYPDPrp/AjPCzHu1W7Ax5jUDpBnuS6aJf0Ql7eadxc=; b=T/pDUoALgLU80oCDq7EysIWkxiBCnUS8Ptf38F9WjwvyErwVSWn/e8kmh2wN1M784B/MkAG4UyY0SnD54+b4yLjJaNZ/I7YlQzx5N+scU2Sh8TIPrE0LTiR0a2CUBlopIS2FrwOnjv2WP384RjdNraVc7IizJu6T42vl72jLoddBYe+Gb5rNBqWNQ9JAaKHYlVJQzs4Kub9diC5IkpmfVmLVlufqz2YsdcW4zw4aMRW7vHAiQ7W9lS/LF9WRMp8+TOzQpAJNZ6d6n1BEmLhjoqb96rTdrMFG9iAGRkfFk8K5/UWmWS3VNI5Ndvlgueou9a9sWMimy2UtIRjz8MXurA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RwYPDPrp/AjPCzHu1W7Ax5jUDpBnuS6aJf0Ql7eadxc=; b=PYQ+HK4EM5oV+AOo7CtyIIamV3qetg/FEQPo2IEpRgXBxeM6kCiAv0Q9HB3WjP1oxKU+8MKEUTH6Z1AR8E3A0iCbTB0+Br0r2FsWC74fAMKE3j56aoR0g3keCRq2JZ6wVIbM3D9EuaDv7GtUIxAY7qWNY/AVyehRV1s3fYt11u0= Received: from CY4PR1801MB1927.namprd18.prod.outlook.com (2603:10b6:910:79::32) by PH7PR18MB5155.namprd18.prod.outlook.com (2603:10b6:510:15a::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.26; Thu, 2 Mar 2023 06:08:21 +0000 Received: from CY4PR1801MB1927.namprd18.prod.outlook.com ([fe80::d731:4586:7a02:9e59]) by CY4PR1801MB1927.namprd18.prod.outlook.com ([fe80::d731:4586:7a02:9e59%6]) with mapi id 15.20.6134.030; Thu, 2 Mar 2023 06:08:20 +0000 From: Prince Takkar To: Srikanth Yalavarthi CC: "dev@dpdk.org" , Shivah Shankar Shankar Narayan Rao , Jerin Jacob Kollanukkaran , Anup Prabhu , Parijat Shukla , Srikanth Yalavarthi Subject: RE: [PATCH v5 00/39] Implementation of ML CNXK driver Thread-Topic: [PATCH v5 00/39] Implementation of ML CNXK driver Thread-Index: AQHZOw5GlzPs3fp3bU2559PQb9S+J67nJJkA Date: Thu, 2 Mar 2023 06:08:19 +0000 Message-ID: References: <20221208200220.20267-1-syalavarthi@marvell.com> <20230207160719.1307-1-syalavarthi@marvell.com> In-Reply-To: <20230207160719.1307-1-syalavarthi@marvell.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-dg-ref: PG1ldGE+PGF0IG5tPSJib2R5LnR4dCIgcD0iYzpcdXNlcnNccHRha2thclxhcHBkYXRhXHJvYW1pbmdcMDlkODQ5YjYtMzJkMy00YTQwLTg1ZWUtNmI4NGJhMjllMzViXG1zZ3NcbXNnLTllZjRhN2UzLWI4YzAtMTFlZC1hMDdjLWU4NmE2NDk5MmM1YVxhbWUtdGVzdFw5ZWY0YTdlNS1iOGMwLTExZWQtYTA3Yy1lODZhNjQ5OTJjNWFib2R5LnR4dCIgc3o9IjU5OTMiIHQ9IjEzMzIyMjEwODk2OTA3Nzk4NCIgaD0iZSsrS1N4Nk43eGhzT2Zad016M2kwV2RkZHZzPSIgaWQ9IiIgYmw9IjAiIGJvPSIxIiBjaT0iY0FBQUFFUkhVMVJTUlVGTkNnVUFBSEFBQUFEZ2pGUmh6VXpaQVhUUTk5ZW1FNGpFZE5EMzE2WVRpTVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQkFBQUExRkgzYUFBQUFBQUFBQUFBQUFBQUFBPT0iLz48L21ldGE+ x-dg-rorf: true x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CY4PR1801MB1927:EE_|PH7PR18MB5155:EE_ x-ms-office365-filtering-correlation-id: 4ca28350-45af-477d-c456-08db1ae485b9 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: k2wKUfw1VE8rgb3BmSmcpxtpMCEjOPxDgol3r9pG92sJZsdR9oledDpWd3+C6bs6G9zgPU4cF6eOjTohudTgLC/LLPEiejUMzZA2Z+zKWyKm+5oAiXqsxzXuX+kJIS43uywdZgf+t2lCKFHFVHVE6HkQjs9Pdq+lCKT6PuBme04UMGrm9lpJimsiDN1EUqLcJdNgzZANN90l8j28rzMYKG7d8fH4NqlcS64JyXQ4TjWb1QMPCm9ag5SUHv0W+EsQOEDxGXkCBY0Q6cJR+xzgftukdsnDUmd2dOlNPl895MbafBER0ydCF2cq07eEodZzQk8N1XoqY23nrgZHgei0xYLL95RKQOwv2tmCbnWRPaaHPbvo1yjjfj5c7K6k5UIDrelu3KiydwjIUopvfHxMbupHTJxOao35MJOmz9Wv6JuWPd2L2CO1NmGsnidcY5GldHyXZG6dcywj0hBJ18Hu9AvAl8ANSwY0jVumV4SzDDM3juBDCiRTrvDFni1swij6XFkDpiveWWUgaVSN9x3srPw/5JUCu1/dC7UnuFq4DKjNORrzrOLYKqIF7jrekI9PnAfUjTa9yBvipiYSWwO+3+Llg0v5nPVGP1STmTws8Cf6D85DmUvdznacwypd9KCwNUB0XTaA/04FpD9etXjIiWq6vS2xUzYkLFhm8CpKLfGNjSicYNZNsfXWcO/WDGaoYV4KJ1bGf/b5lGhn4JpSjA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CY4PR1801MB1927.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230025)(4636009)(346002)(136003)(396003)(366004)(376002)(39860400002)(451199018)(55016003)(33656002)(71200400001)(38070700005)(86362001)(66476007)(7696005)(64756008)(66556008)(41300700001)(4326008)(186003)(52536014)(8676002)(6862004)(8936002)(478600001)(66446008)(76116006)(6636002)(316002)(54906003)(2906002)(5660300002)(83380400001)(66946007)(9686003)(122000001)(38100700002)(107886003)(26005)(6506007); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?Pslre6q7tfluG43iVVsS7S1tYZBqdZcMBwAqN3zPm7AAHRqHh++q8/aYVKN8?= =?us-ascii?Q?giQUAxTLUyqmj6kTYseTbdjIw5OmTIyDKrdBHnc5SjTm/RI+dW6Wj5WmSl2C?= =?us-ascii?Q?8xd9c4TdfIqSYI7oW6HmXHzKo1Zf9+S85Gv0Uzk6n+69Qn6Or7PSrQXaPaRk?= =?us-ascii?Q?80zSN2oZ0iM8cmgG6vn5afJV32pWCIwYKihVw/h0UHxLWmv1c6P18aHLlWgh?= =?us-ascii?Q?/C9Gx71ST7X/b9blHUza9b9NDtIucenjA4RLDI7AA9UPcWUaHF8533XxpTQ6?= =?us-ascii?Q?49VlsqVPHXdaXapBgHXU+dVUm9IkJJGMNU712YtVw2Avivfm0V99/HpTZZ+H?= =?us-ascii?Q?3FcXpowE/TyqwBe9T4xQp1UDgQdfm8qZtdHWn5h4LrE6xcq4QY1d4u3UGWYY?= =?us-ascii?Q?vmcNxNeXytLD18S8IOpPx/cNl8R+DXdAfFG5hRhV5qCbFb2AiCYIzeX3+8qB?= =?us-ascii?Q?/8+sTcDlbxcpTyuFa0RTXQMS/twhqmaDr6f3DBsG90gcJ+dWcKA3ohcu5Es6?= =?us-ascii?Q?pdody7TQQXlZswKlGA/UNZeTUIciMVhZ1KcYa3XbxWCw38v1MNEvL9Hng3ZC?= =?us-ascii?Q?5/UtPVfJz/4lRUunzAmcnYK0H4jmmTrH3mF+GmjrZL4UmO3gNNlYuxepIwLx?= =?us-ascii?Q?GqmHD9xn8UdslJ/rfEvkc4wXVc1gP+JN5gWMlSEl2/xb3onX9hVK0rmpymeO?= =?us-ascii?Q?/n8vC2Gubys3tlOfl96lTOw/ekFcNyGS23HOKY3Ih373T/qdRc6agEvkgAO7?= =?us-ascii?Q?KRZNBNeQEJjn4PdnO3EC3C/dMAABqBstl2o7Wvn6AoMoSBUXq/toJBoU4sPF?= =?us-ascii?Q?a66EUN2NrLdpxLVoxMFamm2E4uhcOaxzkQEs6gTVwU1Y4OUeTnJcW2wXooOs?= =?us-ascii?Q?vQmaauMCtePw+AV97ObrTyDPDpOnkcOmjC/QhxnavRBkd4VP8xJGsA6+dNAT?= =?us-ascii?Q?Esg70ygPIDmRqQHS3nJnMnh53li3ROTzDMokbvrHyENl14jPm+TXf+hdHry0?= =?us-ascii?Q?wwY8IcFbIDt/Vh1AlQrEsLRZv+Q0MYfX1hNxt0Kld7MiJYzLkDnwCuNOxbMp?= =?us-ascii?Q?ukBkJ7GsneukNBw5PxicKSFBIdzqqqBdiqDkWPVF4hunoaZePNlQU17/75zX?= =?us-ascii?Q?IUG3crnIwg/Xr5KfXs7AiO0ZZPqAzwO8GOVnxp92w6kZbVMoBAjenWZXP+vk?= =?us-ascii?Q?xFA7/wBj2AZszrhTcy9CMhxgRRPUO48a+Dbt4AH1nFRcRcV1ElSx6LHie82/?= =?us-ascii?Q?G/gqi6Xio9Vj1j/nNTWUqbhF3at1sE4FrlZYTnGqTjleyVf69I649obRAiy7?= =?us-ascii?Q?S4B6VVJ7KDRBu6XXg538LrM5BVMk/oJ70jOkLP6F0Xg/mIpAi9AvdS5JDYTU?= =?us-ascii?Q?Mc367Z8Zl44uqQ7A3QlZUVZcO/dl2BGnfpKKpo96FKMYYQLpPbeyVXq3ORsc?= =?us-ascii?Q?SXX9uYdhnqwApfv1lbDKQ6Bsm3lr1G0KE7tGe/c7Xfeclk81eqoOVMdELjh4?= =?us-ascii?Q?ktzseAxoiw/vHxszHnrHW5PGCiuBGrARawChQIbTnwHIv0BJsBmMJEuRh0RW?= =?us-ascii?Q?FqzdA1vkGDutHN5qpFIfYeE3j735Jk4JpWwq7vRC?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CY4PR1801MB1927.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4ca28350-45af-477d-c456-08db1ae485b9 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Mar 2023 06:08:20.1154 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: /uTIw2qIQE+3kT5Ve69Qsod2SBkPgsxqTNDdvlxccuXsFbjl+FKZQ+zQi7Kp+xGagSvCguMZA+nDUnxBI6Jq5g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR18MB5155 X-Proofpoint-ORIG-GUID: xoORvj0_dSMbn3GGxQO5u0lAkexjAz3L X-Proofpoint-GUID: xoORvj0_dSMbn3GGxQO5u0lAkexjAz3L X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-02_02,2023-03-01_03,2023-02-09_01 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 > -----Original Message----- > From: Srikanth Yalavarthi > Sent: Tuesday, February 7, 2023 9:37 PM > Cc: dev@dpdk.org; Shivah Shankar Shankar Narayan Rao > ; Jerin Jacob Kollanukkaran > ; Anup Prabhu ; Prince Takkar > ; Parijat Shukla ; Srikanth > Yalavarthi > Subject: [PATCH v5 00/39] Implementation of ML CNXK driver >=20 > Marvell ML CNXK Driver > ---------------------- >=20 > This patch series implements common Machine Learning (ML) ROC code and > driver for Marvell Octeon 10 (cnxk) platform. ML inferencing is supported= on > cnxk platform through an integrated ML inferencing processor. The current > driver supports programming the ML hardware engine through offload > mode. >=20 > All APIs proposed in the DPDK ML device specification are supported on th= e > cnxk platform. >=20 > v5: > * Updated model_id to uint16_t > * Updated release notes for 23.03 >=20 > v4: > * Update function names of ML common code > * Added support for configurable OCM page size > * Minor typo fixes >=20 > v3: > * Skip installation of internal headers > * Update internal comments and code cleanup >=20 > v2: > * Typo and formatting fixes >=20 > Srikanth Yalavarthi (39): > common/cnxk: add ML headers and ROC code for cnxk > ml/cnxk: add skeleton for ML cnxk driver > ml/cnxk: enable probe and remove of ML device > ml/cnxk: add driver support to get device info > ml/cnxk: add support for configure and close > ml/cnxk: parse ML firmware path from device args > ml/cnxk: enable firmware load and device reset > ml/cnxk: enable support for simulator environment > ml/cnxk: enable support for device start and stop > ml/cnxk: add support to create device queue-pairs > ml/cnxk: add functions to load and unload models > ml/cnxk: enable validity checks for model metadata > ml/cnxk: add internal structures for derived info > ml/cnxk: add internal structures for tiles and OCM > ml/cnxk: add structures for slow and fast path JDs > ml/cnxk: find OCM mask and page slots for a model > ml/cnxk: add support to reserve and free OCM pages > ml/cnxk: enable support to start an ML model > ml/cnxk: enable support to stop an ML models > ml/cnxk: enable support to get model information > ml/cnxk: enable support to update model params > ml/cnxk: add support to get IO buffer sizes > ml/cnxk: enable quantization and dequantization > ml/cnxk: enable support to dump device debug info > ml/cnxk: add driver support for device selftest > ml/cnxk: enqueue a burst of inference requests > ml/cnxk: dequeue a burst of inference requests > ml/cnxk: add internal function for sync mode run > ml/cnxk: enable support for firmware error codes > ml/cnxk: add support to get and reset device stats > ml/cnxk: add support to handle extended dev stats > ml/cnxk: enable support to get xstats in cycles > ml/cnxk: add support to report DPE FW warnings > ml/cnxk: add support to enable model data caching > ml/cnxk: add support to select OCM allocation mode > ml/cnxk: add support to use lock during jcmd enq > ml/cnxk: add support to select poll memory region > ml/cnxk: add user guide for marvell cnxk ml driver > ml/cnxk: enable support for configurable ocm page >=20 > MAINTAINERS | 11 + > doc/guides/index.rst | 1 + > doc/guides/mldevs/cnxk.rst | 254 +++ > doc/guides/mldevs/index.rst | 14 + > doc/guides/rel_notes/release_23_03.rst | 7 + > drivers/common/cnxk/hw/ml.h | 170 ++ > drivers/common/cnxk/meson.build | 1 + > drivers/common/cnxk/roc_api.h | 4 + > drivers/common/cnxk/roc_constants.h | 2 + > drivers/common/cnxk/roc_dev_priv.h | 1 + > drivers/common/cnxk/roc_ml.c | 626 +++++++ > drivers/common/cnxk/roc_ml.h | 152 ++ > drivers/common/cnxk/roc_ml_priv.h | 24 + > drivers/common/cnxk/roc_platform.c | 1 + > drivers/common/cnxk/roc_platform.h | 2 + > drivers/common/cnxk/roc_priv.h | 3 + > drivers/common/cnxk/version.map | 29 + > drivers/meson.build | 1 + > drivers/ml/cnxk/cn10k_ml_dev.c | 870 +++++++++ > drivers/ml/cnxk/cn10k_ml_dev.h | 429 +++++ > drivers/ml/cnxk/cn10k_ml_model.c | 413 +++++ > drivers/ml/cnxk/cn10k_ml_model.h | 508 ++++++ > drivers/ml/cnxk/cn10k_ml_ocm.c | 519 ++++++ > drivers/ml/cnxk/cn10k_ml_ocm.h | 85 + > drivers/ml/cnxk/cn10k_ml_ops.c | 2316 ++++++++++++++++++++++++ > drivers/ml/cnxk/cn10k_ml_ops.h | 94 + > drivers/ml/cnxk/meson.build | 32 + > drivers/ml/meson.build | 8 + > 28 files changed, 6577 insertions(+) > create mode 100644 doc/guides/mldevs/cnxk.rst create mode 100644 > doc/guides/mldevs/index.rst create mode 100644 > drivers/common/cnxk/hw/ml.h create mode 100644 > drivers/common/cnxk/roc_ml.c create mode 100644 > drivers/common/cnxk/roc_ml.h create mode 100644 > drivers/common/cnxk/roc_ml_priv.h create mode 100644 > drivers/ml/cnxk/cn10k_ml_dev.c create mode 100644 > drivers/ml/cnxk/cn10k_ml_dev.h create mode 100644 > drivers/ml/cnxk/cn10k_ml_model.c create mode 100644 > drivers/ml/cnxk/cn10k_ml_model.h create mode 100644 > drivers/ml/cnxk/cn10k_ml_ocm.c create mode 100644 > drivers/ml/cnxk/cn10k_ml_ocm.h create mode 100644 > drivers/ml/cnxk/cn10k_ml_ops.c create mode 100644 > drivers/ml/cnxk/cn10k_ml_ops.h create mode 100644 > drivers/ml/cnxk/meson.build create mode 100644 drivers/ml/meson.build >=20 > -- > 2.17.1 Acked-by: Prince Takkar