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 0172842486; Wed, 25 Jan 2023 14:47:38 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8C45042D3E; Wed, 25 Jan 2023 14:47:38 +0100 (CET) Received: from new4-smtp.messagingengine.com (new4-smtp.messagingengine.com [66.111.4.230]) by mails.dpdk.org (Postfix) with ESMTP id C0C9142D31 for ; Wed, 25 Jan 2023 14:47:36 +0100 (CET) Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailnew.nyi.internal (Postfix) with ESMTP id F2CE25819CA; Wed, 25 Jan 2023 08:47:35 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Wed, 25 Jan 2023 08:47:36 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= cc:cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm3; t=1674654455; x= 1674661655; bh=F0tD6dFH9K11zhqE3lozTnblldNKaoOdKXEzYSl0oG8=; b=B WjzWATnllAcyzq9yDBzBB1qx06WCmMphgYPm10W7zn0vhJFmK+sud19ZM4dFvlmw 7xLNSf9M3DHvkosLT3V3yaP/WAR9GV66UAGFwofcr+5UKIsBQ1iyWJD2of+CRA2b Wuswy2HGPey+aKEVgXGdOa6/XJZ9YbJm4DbBGk7YN5S4H7J4R6a1uI+aKnS1BW+2 qO8pZxX2wH6OLWT7lrerV/ANDq88C5Y1lkR78IUt/ckHpF4bSGBTP1I0xMIxRK1n ON/U6nLWL9aRanjPtqz7jVrUV6TytiFwxjVF5FLaKqtI07mxYIbfoNccxnfurfZ5 cVEewHRvR9AkBEqwRRB9A== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1674654455; x= 1674661655; bh=F0tD6dFH9K11zhqE3lozTnblldNKaoOdKXEzYSl0oG8=; b=m h1Mj0ZQE56R/zFL5/ZPJPGihPKujjCg0Aizfs6gj2hkoFYGMPf5Q7HhxxmmZkSEP b2uZgmnJAXk3KUVuTvxPaRxtmyy6VMaj/iqLGNKGIlAOvr2Vz/QWCIsrPREkBpwY Cmw5PJ+IxjMY3Gv2Voxi+AxVGXwi2imVMAnvmFlq9vQhbubWoi+XCt9poxnT8P08 ZxaTdXSIIl5FlXyWMQLu0Ey9+qPlSb8B9xZDmlCsQVJBvSiofTlJWbItYdjMsQVD upFIqJBKkztfrja6uPOvezC6gQP70f9RI10Xb3IB3NMRAs8hbPalwHy7raKdhE89 cmQKgW2ZTkx5xA1d18/Nw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedruddvvddgheeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvvefufffkjghfggfgtgesthfuredttddtvdenucfhrhhomhepvfhhohhm rghsucfoohhnjhgrlhhonhcuoehthhhomhgrshesmhhonhhjrghlohhnrdhnvghtqeenuc ggtffrrghtthgvrhhnpeehveeiteeiueetfeefffegkeeikeeugfetgfefleevhfeuveev udefueduffevgeenucffohhmrghinheprghprggthhgvrdhorhhgnecuvehluhhsthgvrh fuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepthhhohhmrghssehmohhnjhgr lhhonhdrnhgvth X-ME-Proxy: Feedback-ID: i47234305:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 25 Jan 2023 08:47:25 -0500 (EST) From: Thomas Monjalon To: Honnappa Nagarahalli , dev@dpdk.org Cc: Morten =?ISO-8859-1?Q?Br=F8rup?= , "jerinj@marvell.com" , dpdk-dev , Ferruh Yigit , "Ajit Khaparde (ajit.khaparde@broadcom.com)" , Andrew Boyer , Andrew Rybchenko , Beilei Xing , "Richardson, Bruce" , Chas Williams , "Xia, Chenbo" , Ciara Loftus , Devendra Singh Rawat , Ed Czeck , Evgeny Schemeilin , Gaetan Rivet , Gagandeep Singh , Guoyang Zhou , Haiyue Wang , Harman Kalra , Heinrich Kuhn , "hemant.agrawal@nxp.com" , Hyong Youb Kim , Igor Chauskin , Igor Russkikh , Jakub Grajciar , Jasvinder Singh , Jian Wang , Jiawen Wu , Jingjing Wu , John Daley , John Miller , "John W. Linville" , "Wiles, Keith" , Kiran Kumar K , Lijun Ou , Liron Himi , Long Li , Marcin Wojtas , Martin Spinler , Matan Azrad , Matt Peters , Maxime Coquelin , Michal Krawczyk , "Min Hu (Connor" , Pradeep Kumar Nalla , Nithin Dabilpuram , Qiming Yang , Qi Zhang , Radha Mohan Chintakuntla , Rahul Lakkireddy , Rasesh Mody , Rosen Xu , Sachin Saxena , Satha Koteswara Rao Kottidi , Shahed Shaikh , Shai Brandes , Shepard Siegel , Somalapuram Amaranath , Somnath Kotur , Stephen Hemminger , Steven Webster , Sunil Kumar Kori , Tetsuya Mukawa , Veerasenareddy Burru , nd , Viacheslav Ovsiienko , Xiao Wang , Xiaoyun Wang , Yisen Zhuang , Yong Wang , Ziyang Xuan , Prasun Kapoor , "nadavh@marvell.com" , Satananda Burla , Narayana Prasad , Akhil Goyal , Ray Kinsella , Dmitry Kozlyuk , Anatoly Burakov , Cristian Dumitrescu , Mattias =?ISO-8859-1?Q?R=F6nnblom?= , Ruifeng Wang , David Christensen , "Ananyev, Konstantin" , Olivier Matz , "Jayatheerthan, Jay" , Ashwin Sekhar Thalakalath Kottilveetil , Pavan Nikhilesh , Elena Agostini , Srikanth Yalavarthi , "dchickles@marvell.com" , "sshankarnara@marvell.com" , John McNamara , Stephen Hemminger , Jerin Jacob Subject: Re: [dpdk-dev] [RFC PATCH 0/1] mldev: introduce machine learning device library Date: Wed, 25 Jan 2023 14:47:24 +0100 Message-ID: <4520101.QLehXeTyEo@thomas> In-Reply-To: References: <20220803132839.2747858-1-jerinj@marvell.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" 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 17/08/2022 16:53, Jerin Jacob: > On Tue, Aug 16, 2022 at 10:04 PM Honnappa Nagarahalli > wrote: > > > > > > > > > > From: Jerin Jacob [mailto:jerinjacobk@gmail.com] > > > > Sent: Tuesday, 16 August 2022 15.13 > > > > > > > > On Wed, Aug 3, 2022 at 8:49 PM Stephen Hemminger > > > > wrote: > > > > > > > > > > On Wed, 3 Aug 2022 18:58:37 +0530 > > > > > wrote: > > > > > > > > > > > Roadmap > > > > > > ------- > > > > > > 1) Address the comments for this RFC. > > > > > > 2) Common code for mldev > > > > > > 3) SW mldev driver based on TVM (https://tvm.apache.org/) > > > > > > > > > > Having a SW implementation is important because then it can be > > > > covered > > > > > by tests. > > > > > > > > Yes. That reason for adding TVM based SW driver as item (3). > > > > > > > > Is there any other high level or API level comments before proceeding > > > > with v1 and implementation. > > > > > > Have you seriously considered if the DPDK Project is the best home for this > > > project? I can easily imagine the DPDK development process being a hindrance > > > in many aspects for an evolving AI/ML library. Off the top of my head, it would > > > probably be better off as a separate project, like SPDK. > > There is a lot of talk about using ML in networking workloads. Although, I am not very sure on how the use case looks like. For ex: is the inference engine going to be inline (i.e. the packet goes through the inference engine before coming to the CPU and provide some data (what sort of data?)), look aside (does it require the packets to be sent to the inference engine or is it some other data?), what would be an end to end use case? A sample application using these APIs would be helpful. > > Simple application for the inference usage is added in the cover letter. > > Regarding the use cases, There are many like firewall, intrusion > detection etc. Most of the use cases are driven by product > requirements and SW IP vendors try to keep it to themselves as a > product differentiate factor. > That is the prime reason for DPDK scope only for inference where IO is > involved. Model creation and training etc will heavily vary based on > use case but not the inference model. > > > > > IMO, if we need to share the packets with the inference engine, then it fits into DPDK. > > Yes. Yes for networking or ORAN use cases the interface data comes > over wire and result can go over wire. > > > > > As I understand, there are many mature open source projects for ML/inference outside of DPDK. Does it make sense for DPDK to adopt those projects rather than inventing our own? > > # AI/ML compiler libraries more focused on model creation and > training etc (Thats where actual value addition the AI/ML libraries > can offer) and > minimal part for inference (It is just added for testing the model) > # Considering the inference is the scope of the DPDK. DPDK is ideal > place for following reasons > > a) Inference scope is very limited. > b) Avoid memcpy of inference data (Use directly from network or > other class of device like cryptodev, regexdev) > c) Reuse highspeed IO interface like PCI backed driver etc > d) Integration with other DPDK subsystems like eventdev etc for job completion. > e) Also support more inline offloads by merging two device classes > like rte_secuity. > f) Run the inference model from different AI/ML compiler frameworks or > abstract the inference usage. > Similar concept is already applied to other DPDK device classes like > 1) In Regexdev, The compiler generates the rule database which is out > of scope of DPDK. DPDK API just loads the rule database > 2) In Gpudev, The GPU kernel etc out of scope of DPDK.DPDK cares about > IO interface. I think Honnappa was thinking about linking an existing inference library. What are the similar libraries?