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 AAA94423CB; Sun, 29 Jan 2023 21:46:30 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 352C440A7F; Sun, 29 Jan 2023 21:46:30 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 869EE400D7 for ; Fri, 27 Jan 2023 03:33:58 +0100 (CET) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 30QJWUTq007336; Thu, 26 Jan 2023 18:33:16 -0800 Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2108.outbound.protection.outlook.com [104.47.70.108]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3nbn725kun-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 26 Jan 2023 18:33:16 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PPMIWxi9o0Y/f4QlG7gWV917z/EjfYNNMVC9b+oydyUeA3SkYSrI+QwfdwGjszLYh5sLwEl6MB9B3Dv5N0Ok/xL2gsNiqAClK8u40dOBAwrCm43zcDkw7QnGSdL4cxSayR5UZgs/aPGKXxPa8LVLROgOfa/rADC+XHL59dudqcrsjAqWCLgKaLeyO1UjDX6U1gS7lCcuWqdF1P50Mrpd8c6MdVh1NaypB+DkG1UKbYZ/QijWiaRhsnYlD0expRBgj7qi4879peK/vI1UHFjScdbnjgCFQJZF/ERJzMdSX71WUxdwhGXE+NZ9AaUBznGtjmNzGIz+L0ailWPy/SbwLA== 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=n0FVmeror0zAp9dWQDneH9uIR57E2Wm7nAykaYMWV+g=; b=USfFnOP19mQfIJ3pAXx3zjiC1TbD3NdhiJATnswtrDourTesJ+i28W+zQJw1AM4J3qHsD1LHQEN/tViL7KR1CcBr84180kNkxzc9EyfXQZe6FFfM3QYsYYDDuUfeCPZ6TO1H7myPAPK5k8JjpCZyEaPtGQ0rZod64qioL6zCQ/n7SAORfXZCHRTtzms0oMCcslMOGHA33jC0h3NMBwaJ27PMYQ9lAmk1HtGq0SNZP9mmfqbROtLXNFjz6g6JmGQbYzllat9vNFX4O3lemR/U6dTrhJE6WeRcjNcmOx6gK7F+4G33D42gyX70FbsfZHMTbhr270YcoRYfpFlNMs6+Bg== 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=n0FVmeror0zAp9dWQDneH9uIR57E2Wm7nAykaYMWV+g=; b=iu5HVl3bvgWaAeoziYzrLn6ihXsHZ8w3XeoksvtAJiBoFF4B3yBrwKOW6LUgsQzTwXfQ9B6iUUD1CNAPrU/wVAw0GkhQ8vgaoqKg0XLkatXh1enGuS2IJP9YKzR9fliqBKwiAT20xRRUiWr4f18nHAxQUsNwwGXcoKuGrORVDQc= Received: from PH0PR18MB4766.namprd18.prod.outlook.com (2603:10b6:510:ce::22) by DS0PR18MB5409.namprd18.prod.outlook.com (2603:10b6:8:157::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.26; Fri, 27 Jan 2023 02:33:11 +0000 Received: from PH0PR18MB4766.namprd18.prod.outlook.com ([fe80::c209:3e14:1e29:7fe5]) by PH0PR18MB4766.namprd18.prod.outlook.com ([fe80::c209:3e14:1e29:7fe5%9]) with mapi id 15.20.6043.023; Fri, 27 Jan 2023 02:33:11 +0000 From: Shivah Shankar Shankar Narayan Rao To: Thomas Monjalon , Jerin Jacob , Jerin Jacob Kollanukkaran CC: "dev@dpdk.org" , "ferruh.yigit@amd.com" , "ajit.khaparde@broadcom.com" , "aboyer@pensando.io" , "andrew.rybchenko@oktetlabs.ru" , "beilei.xing@intel.com" , "bruce.richardson@intel.com" , "chas3@att.com" , "chenbo.xia@intel.com" , "ciara.loftus@intel.com" , Devendra Singh Rawat , "ed.czeck@atomicrules.com" , "evgenys@amazon.com" , "grive@u256.net" , "g.singh@nxp.com" , "zhouguoyang@huawei.com" , "haiyue.wang@intel.com" , Harman Kalra , "heinrich.kuhn@corigine.com" , "hemant.agrawal@nxp.com" , "hyonkim@cisco.com" , "igorch@amazon.com" , Igor Russkikh , "jgrajcia@cisco.com" , "jasvinder.singh@intel.com" , "jianwang@trustnetic.com" , "jiawenwu@trustnetic.com" , "jingjing.wu@intel.com" , "johndale@cisco.com" , "john.miller@atomicrules.com" , "linville@tuxdriver.com" , "keith.wiles@intel.com" , Kiran Kumar Kokkilagadda , "oulijun@huawei.com" , Liron Himi , "longli@microsoft.com" , "mw@semihalf.com" , "spinler@cesnet.cz" , "matan@nvidia.com" , "matt.peters@windriver.com" , "maxime.coquelin@redhat.com" , "mk@semihalf.com" , "humin29@huawei.com" , Pradeep Kumar Nalla , Nithin Kumar Dabilpuram , "qiming.yang@intel.com" , "qi.z.zhang@intel.com" , Radha Chintakuntla , "rahul.lakkireddy@chelsio.com" , Rasesh Mody , "rosen.xu@intel.com" , "sachin.saxena@oss.nxp.com" , Satha Koteswara Rao Kottidi , Shahed Shaikh , "shaibran@amazon.com" , "shepard.siegel@atomicrules.com" , "asomalap@amd.com" , "somnath.kotur@broadcom.com" , "sthemmin@microsoft.com" , "steven.webster@windriver.com" , Sunil Kumar Kori , "mtetsuyah@gmail.com" , Veerasenareddy Burru , "viacheslavo@nvidia.com" , "xiao.w.wang@intel.com" , "cloud.wangxiaoyun@huawei.com" , "yisen.zhuang@huawei.com" , "yongwang@vmware.com" , "xuanziyang2@huawei.com" , Prasun Kapoor , Nadav Haklai , Satananda Burla , Narayana Prasad Raju Athreya , Akhil Goyal , "dmitry.kozliuk@gmail.com" , "anatoly.burakov@intel.com" , "cristian.dumitrescu@intel.com" , "honnappa.nagarahalli@arm.com" , "mattias.ronnblom@ericsson.com" , "ruifeng.wang@arm.com" , "drc@linux.vnet.ibm.com" , "konstantin.ananyev@intel.com" , "olivier.matz@6wind.com" , "jay.jayatheerthan@intel.com" , Ashwin Sekhar T K , Pavan Nikhilesh Bhagavatula , "eagostini@nvidia.com" , Srikanth Yalavarthi , Derek Chickles , "david.marchand@redhat.com" Subject: RE: [EXT] Re: [dpdk-dev] [PATCH v1 00/12] mldev: introduce machine learning device library Thread-Topic: [EXT] Re: [dpdk-dev] [PATCH v1 00/12] mldev: introduce machine learning device library Thread-Index: AQHY+CE9thrm7GNjxkWfbQoGrS5A366vn/kAgABOsYCAAQ8QgIAA/2KQ Date: Fri, 27 Jan 2023 02:33:11 +0000 Message-ID: References: <20220803132839.2747858-2-jerinj@marvell.com> <3877164.bqPgKRP4r2@thomas> <2491874.vBoWY3egPC@thomas> In-Reply-To: <2491874.vBoWY3egPC@thomas> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-dg-rorf: true x-dg-ref: =?us-ascii?Q?PG1ldGE+PGF0IG5tPSJib2R5LnR4dCIgcD0iYzpcdXNlcnNcc3NoYW5rYXJu?= =?us-ascii?Q?YXJhXGFwcGRhdGFccm9hbWluZ1wwOWQ4NDliNi0zMmQzLTRhNDAtODVlZS02?= =?us-ascii?Q?Yjg0YmEyOWUzNWJcbXNnc1xtc2ctZWFiMjRiNGMtOWRlYS0xMWVkLWFlNDMt?= =?us-ascii?Q?YTA1MTBiNDE4OGU0XGFtZS10ZXN0XGVhYjI0YjRkLTlkZWEtMTFlZC1hZTQz?= =?us-ascii?Q?LWEwNTEwYjQxODhlNGJvZHkudHh0IiBzej0iNTkyOSIgdD0iMTMzMTkyNjAz?= =?us-ascii?Q?ODQ2NDIzMzk1IiBoPSJTUW80QzljQmh1N0ZmUGdkTitwTlYyM25TaVk9IiBp?= =?us-ascii?Q?ZD0iIiBibD0iMCIgYm89IjEiIGNpPSJjQUFBQUVSSFUxUlNSVUZOQ2dVQUFO?= =?us-ascii?Q?Z0hBQUJqcy9tdTl6SFpBWmdjTVAxL1phcUptQnd3L1g5bHFva01BQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBSEFBQUFCb0J3QUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBRUFBUUFCQUFBQTNUekZBQUFBQUFBQUFBQUFBQUFBQUo0QUFBQmhB?= =?us-ascii?Q?R1FBWkFCeUFHVUFjd0J6QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFFQUFBQUFBQUFBQWdBQUFBQUFuZ0FBQUdNQWRRQnpBSFFBYndCdEFG?= =?us-ascii?Q?OEFjQUJsQUhJQWN3QnZBRzRBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFB?= =?us-ascii?Q?QUNBQUFBQUFDZUFBQUFZd0IxQUhNQWRBQnZBRzBBWHdCd0FHZ0Fid0J1QUdV?= =?us-ascii?Q?QWJnQjFBRzBBWWdCbEFISUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFJQUFBQUFBSjRBQUFC?= =?us-ascii?Q?akFIVUFjd0IwQUc4QWJRQmZBSE1BY3dCdUFGOEFaQUJoQUhNQWFBQmZBSFlB?= =?us-ascii?Q?TUFBeUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-refone: =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQUFBZ0FBQUFBQW5n?= =?us-ascii?Q?QUFBR01BZFFCekFIUUFid0J0QUY4QWN3QnpBRzRBWHdCckFHVUFlUUIzQUc4?= =?us-ascii?Q?QWNnQmtBSE1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFRQUFBQUFBQUFBQ0FBQUFBQUNlQUFBQVl3QjFBSE1BZEFC?= =?us-ascii?Q?dkFHMEFYd0J6QUhNQWJnQmZBRzRBYndCa0FHVUFiQUJwQUcwQWFRQjBBR1VB?= =?us-ascii?Q?Y2dCZkFIWUFNQUF5QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFB?= =?us-ascii?Q?QUFBQUFBQUlBQUFBQUFKNEFBQUJqQUhVQWN3QjBBRzhBYlFCZkFITUFjd0J1?= =?us-ascii?Q?QUY4QWN3QndBR0VBWXdCbEFGOEFkZ0F3QURJQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUFnQUFBQUFB?= =?us-ascii?Q?bmdBQUFHUUFiQUJ3QUY4QWN3QnJBSGtBY0FCbEFGOEFZd0JvQUdFQWRBQmZB?= =?us-ascii?Q?RzBBWlFCekFITUFZUUJuQUdVQVh3QjJBREFBTWdBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQVFBQUFBQUFBQUFDQUFBQUFBQ2VBQUFBWkFCc0FIQUFY?= =?us-ascii?Q?d0J6QUd3QVlRQmpBR3NBWHdCakFHZ0FZUUIwQUY4QWJRQmxBSE1BY3dCaEFH?= =?us-ascii?Q?Y0FaUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-reftwo: QUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFBSUFBQUFBQUo0QUFBQmtBR3dBY0FCZkFIUUFaUUJoQUcwQWN3QmZBRzhBYmdCbEFHUUFjZ0JwQUhZQVpRQmZBR1lBYVFCc0FHVUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQWdBQUFBQUFuZ0FBQUdVQWJRQmhBR2tBYkFCZkFHRUFaQUJrQUhJQVpRQnpBSE1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUNBQUFBQUFDZUFBQUFiUUJoQUhJQWRnQmxBR3dBYkFCZkFIUUFaUUJ5QUcwQWFRQnVBSFVBY3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFJQUFBQUFBQT09Ii8+PC9tZXRhPg== x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH0PR18MB4766:EE_|DS0PR18MB5409:EE_ x-ms-office365-filtering-correlation-id: 3d3820a7-a5e5-452e-f2f1-08db000ed590 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: jkVZBt+V9lldaIcy9YxPBJ6ZXlS4ijBaP4AegNf4E0/BQBzOgeZvi62DJBsQ6Ib1G48MkWzt/G2zv7RDm0IFl8iKD37/tKK4pg6bKSB3SDq7QtThIhN5sOqvKSAIIBeZRUHXh/hrMDBlKJ+2K+sD4RrOnyiEIzbTJ6W0v6sJkViQb5wu6+DG07vE2St4vbifMOqxU1FNdWENKtWMIkIQUIN9VSYyG9LS1RNQ9BcSKQlzNFevF4sbY9TCjgd1jvGHBZhkQnuiY+fuSq1hH5Oi56CvLmMSePuWcthSa6UuN406p2pj9etq/wg3zzcPUhRMjcKalKBd2q5m+lWU7CE+9F2VEYZzaPWZ/MCMWNtw72LpJJdj3Egk8bVcS623TxvPRTUQHMB08KapjvolESl/SLYu49y3iel51PPosdCvM4WHvSyWKgktz1gIp/zC7JYZ0avCq4Cry1Xs6O00xB/xS9e7MWdkZQX9um/loh2ByXo0g2OUP7XLgV9czOGxspUaUi9rC9Zzm15a4owohGX+a3RbwkoKBC2eC6t2KaOYQpLpnyXYVp3lRkvQD9Qh3ebzeAuxFl3uAjHnfUaawIDMXItUgUPvj69chwM7fktHCtjR1QxQlYHaBvNkr5EPalhaFFaTrTlSc5kLiTKe6dmt/7NehyUkwnJ07lq1on8CcjfIZ5c7DhCuGEQhHxbLUJa3hQRsMz5NtqNELoiFauCMtg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR18MB4766.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230025)(4636009)(346002)(366004)(396003)(39860400002)(376002)(136003)(451199018)(66556008)(66476007)(64756008)(7366002)(38100700002)(7406005)(4326008)(7416002)(478600001)(110136005)(6636002)(76116006)(83380400001)(26005)(33656002)(54906003)(41300700001)(186003)(52536014)(122000001)(8936002)(316002)(8676002)(9686003)(66946007)(38070700005)(5660300002)(2906002)(55016003)(7696005)(6506007)(53546011)(71200400001)(66446008)(86362001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?yQ162zmW7E6uzyr9mesZdNpiqQ1EtTkHVo9KuJ/tUG3xEiNBIY8SIprHumW9?= =?us-ascii?Q?Sc5HRApJ23oTIzY1a95kM18Rx9peXbEf23oz2sjhXH/J+p3hYIbvfBbSGXns?= =?us-ascii?Q?TwVj1Xw5fMra86b5c8r8Y6AZGXunfDbSFzBF3P1wDdUhgj66jGwjmbmSP8jF?= =?us-ascii?Q?9bCHtRzdjo1CuNdbBCx2aVv/MO4Wo6mNOzPpAHF/NrJ2DfWx1lhpk4e08Rix?= =?us-ascii?Q?EWj9ZK0lGaIaiTIu3VYtcZoLFArEnb17qkf3jzut/XOfLu2b1djRWzat2wMI?= =?us-ascii?Q?ZRIt0mAWQShjw27E7+MH7wwM5tzQN39gn/X62loZKZ13ZZPvT75eopH7gity?= =?us-ascii?Q?c9Z1iA6j3IsL5L/jgopvrfxvo4iDc+t5xJHNFD2ZFyYJyetZyOtntO839wsh?= =?us-ascii?Q?r7Cs5T/f9lFtCNq/L0g0qnYLv8X+Qzsbm6oYEpxSx49ePqh6HEMqHIZhIPz4?= =?us-ascii?Q?r673qiVgQEATmhX5RwN5ETFovr05HqCbUPDbuFEyuHI9mMDP3ShggVROQPnJ?= =?us-ascii?Q?zSzUIqSepiKVyT5uvfKWuVZN7sRksz75yYB0lsjaPBYOWyHqnxUD/cqfZmQt?= =?us-ascii?Q?FE+w2SgteMqsxOFeDaF9wYB2X17UHthrtGFOKyDcQJjAsBjQ5fpvk9qdDbYv?= =?us-ascii?Q?kGF4oCMYKjyyUCunANy+xp8qdEFUUnXBTJviT+1GQf3OJisN+GPT5PYXAMuG?= =?us-ascii?Q?jWb+HykfXpHk7fXe6iUcosIenzVab5R2n7HCL3DG+QO3dJZT6p11ksU+LfZ5?= =?us-ascii?Q?nl9tWcviNhr+Ug/DVP+U68pI8a/glsOpnwhRknrerDlbEzobkXrV+YKjsFrk?= =?us-ascii?Q?4K2KeX8H/yK1kMEZ08DvylOWhT6BfJIsUo8iP6M+1bwK5YhGkwIwTGnpEC7b?= =?us-ascii?Q?3p/uIfP5HtxL8VOWLc/kO3hyt3moF5m7GSzFziGfAETb6la3S3BzFyhahVVf?= =?us-ascii?Q?dkvZCyBQ4d3J7gvmseEicDbZrpt2UdOfsKlYd9myqQjb/sGngHVw/OHJmFx/?= =?us-ascii?Q?0NRWSc1K+dB3KiEqyBPrExl81QSeifV+j5qcG55iAD8rw/A0DnOXGJZ2BseU?= =?us-ascii?Q?vg2aiJYcELIKxoeb2rl5aYMKH8+Qa21rPCKIkIeWnRbvLNeofGwHyqTHPBLa?= =?us-ascii?Q?l+MYsHss1zqa09SBogV474j/riwYwwhvH0lSB8poxwaPkXfRwp+OpkqPpDLN?= =?us-ascii?Q?tcDM8Bt9bHw1l3bQv5MBSWCztFlgAJ4U+Z0oAnjCwiaZDzn4QkNIcgeqaJXe?= =?us-ascii?Q?ADS8vU7aMjLdWgh6fXitM1M2SlhimelIwQdi0Nftq6tvBjOrw3/r1QhHfl+i?= =?us-ascii?Q?1Jx6e/HI7zjBGE2vQ5H2BmRBA0Rg/TO2MXcDHTpNYUTyr79GgWWjorNLFnBM?= =?us-ascii?Q?As7DbDVO5IVXcVmszFt94L1VjKhzL/IMDaewT1ur2VsVKePzjxMLGiuiHafH?= =?us-ascii?Q?5zcBKVIudEfew7ifMLxWWP9rbmbBm6OkZqf7WkkipKknF2Hjou2CkPydhht3?= =?us-ascii?Q?uYshKtCNTz27RQGKMoI9enTr1G6on4tdoIB/bhiQGLgqJhpZWJD10F+LcRlP?= =?us-ascii?Q?7u/XsdvnDuT5oH/BK3/3BlPDhpjuXmxaCSem8J6J?= 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: PH0PR18MB4766.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3d3820a7-a5e5-452e-f2f1-08db000ed590 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Jan 2023 02:33:11.5177 (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: TDWs52EHrhuHhaDzv5isg2d1XqJmqKZE3ABJD7KT55NcGaunuo3eHA6PmAQG9gg2GSYr4c+OO2brsy4tkyrA9kZUP82cSdE8n8NTiCqcUN0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR18MB5409 X-Proofpoint-GUID: O3i02MXCc7O4keF0kBn-vX6bSjaRpVjI X-Proofpoint-ORIG-GUID: O3i02MXCc7O4keF0kBn-vX6bSjaRpVjI X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.930,Hydra:6.0.562,FMLib:17.11.122.1 definitions=2023-01-26_09,2023-01-26_01,2022-06-22_01 X-Mailman-Approved-At: Sun, 29 Jan 2023 21:46:29 +0100 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 External Email ---------------------------------------------------------------------- 25/01/2023 20:01, Jerin Jacob: > On Wed, Jan 25, 2023 at 7:50 PM Thomas Monjalon wro= te: > > 14/11/2022 13:02, jerinj@marvell.com: > > > ML Model: An ML model is an algorithm trained over a dataset. A=20 > > > model consists of procedure/algorithm and data/pattern required to ma= ke predictions on live data. > > > Once the model is created and trained outside of the DPDK scope,=20 > > > the model can be loaded via rte_ml_model_load() and then start it usi= ng rte_ml_model_start() API. > > > The rte_ml_model_params_update() can be used to update the model=20 > > > parameters such as weight and bias without unloading the model using = rte_ml_model_unload(). > > > > The fact that the model is prepared outside means the model format=20 > > is free and probably different per mldev driver. > > I think it is OK but it requires a lot of documentation effort to=20 > > explain how to bind the model and its parameters with the DPDK API. > > Also we may need to pass some metadata from the model builder to the=20 > > inference engine in order to enable optimizations prepared in the model= . > > And the other way, we may need inference capabilities in order to=20 > > generate an optimized model which can run in the inference engine. >=20 > The base API specification kept absolute minimum. Currently, weight=20 > and biases parameters updated through rte_ml_model_params_update(). It=20 > can be extended when there are drivers supports it or if you have any=20 > specific parameter you would like to add it in=20 > rte_ml_model_params_update(). This function is int rte_ml_model_params_update(int16_t dev_id, int16_t model_id, void *buff= er); How are we supposed to provide separate parameters in this void* ? Just to clarify on what "parameters" mean, they just mean weights and biase= s of the model, which are the parameters for a model. Also, the Proposed APIs are for running the inference on a pre-trained mode= l. For running the inference the amount of parameters tuning needed/done is= limited/none. The only parameters that get may get changed are the Weights and Bias which= the API rte_ml_model_params_update() caters to.=20 While running the inference on a Model there won't be any random addition o= r removal of operators to/from the model or there won't be any changes in t= he actual flow of model. Since the only parameter that can be changed is Weights and Biases the abov= e API should take care. > Other metadata data like batch, shapes, formats queried using rte_ml_io_i= nfo(). Copying: +/** Input and output data information structure + * + * Specifies the type and shape of input and output data. + */ +struct rte_ml_io_info { + char name[RTE_ML_STR_MAX]; + /**< Name of data */ + struct rte_ml_io_shape shape; + /**< Shape of data */ + enum rte_ml_io_type qtype; + /**< Type of quantized data */ + enum rte_ml_io_type dtype; + /**< Type of de-quantized data */ }; Is it the right place to notify the app that some model optimizations are s= upported? (example: merge some operations in the graph) The inference is run on a pre-trained model, which means any merges /additi= ons of operations to the graph are NOT done.=20 If any such things are done then the changed model needs to go through the = training and compilation once again which is out of scope of these APIs. > > [...] > > > Typical application utilisation of the ML API will follow the=20 > > > following programming flow. > > > > > > - rte_ml_dev_configure() > > > - rte_ml_dev_queue_pair_setup() > > > - rte_ml_model_load() > > > - rte_ml_model_start() > > > - rte_ml_model_info() > > > - rte_ml_dev_start() > > > - rte_ml_enqueue_burst() > > > - rte_ml_dequeue_burst() > > > - rte_ml_model_stop() > > > - rte_ml_model_unload() > > > - rte_ml_dev_stop() > > > - rte_ml_dev_close() > > > > Where is parameters update in this flow? >=20 > Added the mandatory APIs in the top level flow doc. > rte_ml_model_params_update() used to update the parameters. The question is "where" should it be done? Before/after start? The model image comes with the Weights and Bias and will be loaded and used= as a part of rte_ml_model_load and rte_ml_model_start.=20 In rare scenarios where the user wants to update the Weights and Bias of an= already loaded model, the rte_ml_model_stop can be called to stop the mode= l and the Weights and Biases can be updated using the The parameters (Weigh= ts&Biases) can be updated when the rte_ml_model_params_update() API follow= ed by rte_ml_model_start to start the model with the new Weights and Biases= . > > Should we update all parameters at once or can it be done more fine-gra= in? >=20 > Currently, rte_ml_model_params_update() can be used to update weight=20 > and bias via buffer when device is in stop state and without unloading=20 > the model. The question is "can we update a single parameter"? And how? As mentioned above for running inference the model is already trained the o= nly parameter that is updated is the Weights and Biases.=20 "Parameters" is another word for Weights and Bias. No other parameters are = considered. Are there any other parameters you have on your mind? > > Question about the memory used by mldev: > > Can we manage where the memory is allocated (host, device, mix, etc)? >=20 > Just passing buffer pointers now like other subsystem. > Other EAL infra service can take care of the locality of memory as it=20 > is not specific to ML dev. I was thinking about memory allocation required by the inference engine. How to specify where to allocate? Is it just hardcoded in the driver? Any memory within the hardware is managed by the driver.