From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5CB0AC25B08 for ; Wed, 17 Aug 2022 05:37:47 +0000 (UTC) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2FB7240150; Wed, 17 Aug 2022 07:37:46 +0200 (CEST) Received: from mail-qk1-f177.google.com (mail-qk1-f177.google.com [209.85.222.177]) by mails.dpdk.org (Postfix) with ESMTP id 8EF5F400D6 for ; Wed, 17 Aug 2022 07:37:45 +0200 (CEST) Received: by mail-qk1-f177.google.com with SMTP id f14so9723113qkm.0 for ; Tue, 16 Aug 2022 22:37:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc; bh=bdbjSjH3Zs9YOXH2W6UZkRtjKcWj57iZjdCONF7eRRY=; b=AG0fqe77thbx6gE5w3kTiFmyNEr1TryJUaQZ75iSNW93wHJHroN8CybGWpZV8dRcDI M71cN98T3EJ6ZTcVxk3aLjcxNBEfV/AemTnc/jq8HANjnLk+ZdVqNpDIkEXQ5p9DZoAN bBOdA3uzFr33KbciQzkMGsenSkgI4/PrY6C2zdLDRphB0yr+M+CvDdGW3fRTQRfceLjc mt9VG63N+miK/EjXU8C8hkrLWVGEHHzERQd3bkPZ+CExws0sON4ras31z1gfA1inYdT+ 7YLS8V94+mkU6MIeCBk8VsBmDbpDgnyu9d2v5zo4i6tHV5Yvvu88PASKGD/VRVeR3TJz Y6OQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc; bh=bdbjSjH3Zs9YOXH2W6UZkRtjKcWj57iZjdCONF7eRRY=; b=rG+ufKYxpmZd5skuFX6VoBGbSYfMaDgVMuvFhr0bPChAkznNPaTWmt+MsB5ibKK/oq 8FJU+P2vDhuEjUqIYLeO7bkBQYQa7kMZLik+VGNUkAYDXpYf6haOf+8L/jguekkrF6BO JuA0l+SC0vhjt9MaOR5w805JqNQGhtMItHFdFfwRE8C5U9D6eoSyOdbOBEqqMgthj4ha jzbj2ubn8Mdnm6St3kuuI6LW0UXJST0kd6KaPyM/WVUi4srrPaSbhwy023idj1kSSVmL QrJ7N9x7IDUQSJoAJoH7WjZb9oXki2EL5bTyRYOBeqNTHhXJFeyVP6DXoNekgfNlfJXo mogA== X-Gm-Message-State: ACgBeo0mF9f/+lbgTE7cd4fTUvO++3fMXfSDYriAT/DPzOt5qN6oqIx9 QIh+WZF+NRo9fvep4fpm6kEsVSOQvUNCqhTlq4g= X-Google-Smtp-Source: AA6agR4IPh0lsgMF4xs+H+KOryOTeqDUWXoyxiDc97rcgCsRRjPFTsiydE8/9Sm7U8AUNACsWtu+TKkWUSe/sNyTFPI= X-Received: by 2002:a05:620a:8d0:b0:6bb:72f2:406b with SMTP id z16-20020a05620a08d000b006bb72f2406bmr3588705qkz.283.1660714664796; Tue, 16 Aug 2022 22:37:44 -0700 (PDT) MIME-Version: 1.0 References: <20220803132839.2747858-1-jerinj@marvell.com> <20220803081916.3f03dd38@hermes.local> <98CBD80474FA8B44BF855DF32C47DC35D87271@smartserver.smartshare.dk> In-Reply-To: <98CBD80474FA8B44BF855DF32C47DC35D87271@smartserver.smartshare.dk> From: Jerin Jacob Date: Wed, 17 Aug 2022 11:07:18 +0530 Message-ID: Subject: Re: [dpdk-dev] [RFC PATCH 0/1] mldev: introduce machine learning device library To: =?UTF-8?Q?Morten_Br=C3=B8rup?= Cc: Jerin Jacob , dpdk-dev , Thomas Monjalon , Ferruh Yigit , Ajit Khaparde , 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 , 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 , 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 , Honnappa Nagarahalli , =?UTF-8?Q?Mattias_R=C3=B6nnblom?= , "Ruifeng Wang (Arm Technology China)" , 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 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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 On Tue, Aug 16, 2022 at 9:15 PM Morten Br=C3=B8rup 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 th= is project? I can easily imagine the DPDK development process being a hindr= ance 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. Yes. The reasons are following # 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 interference(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 interference 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 complet= ion. 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. > If all this stuff can be completely omitted at build time, I have no obje= ctions. Yes, It can be completely omitted at build time. Also no plan to integrate to testpmd and other existing application. Planning to add only app/test-mldev application. > > A small note about naming (not intending to start a flame war, so please = feel free to ignore!): I haven't worked seriously with ML/AI since universi= ty three decades ago, so I'm quite rusty in the domain. However, I don't se= e any Machine Learning functions proposed by this API. The library provides= an API to an Inference Engine - but nobody says the inference model stems = from Machine Learning; it might as well be a hand crafted model. Do you pla= n to propose APIs for training the models? If not, the name of the library = could confuse some potential users. No, scope is only inference and it is documented in the programing guide and API header file. I am trying to keep name similar to regexdev, gpudev etc which have similar scope. But I am open to other shortname/name if you have something in mind. > > > Or Anyone else interested to review or contribute to this new DPDK > > device class? >