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 DD8F6A034F; Mon, 11 Oct 2021 11:30:05 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CBD01410F6; Mon, 11 Oct 2021 11:30:05 +0200 (CEST) Received: from mail-io1-f46.google.com (mail-io1-f46.google.com [209.85.166.46]) by mails.dpdk.org (Postfix) with ESMTP id 96CD9410F6; Mon, 11 Oct 2021 11:30:04 +0200 (CEST) Received: by mail-io1-f46.google.com with SMTP id m20so18187748iol.4; Mon, 11 Oct 2021 02:30:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=FLL8lADwt1Y/vYeHoe0lWfNoDeo3i5q0Hv/r9cjWZXk=; b=IdRBMUNsb+ospwf8YJSoODQtHd+4EiH4dlqtskM7ArAM7GiJu+Yp0F+2SiH37O6ETr 9wnEiHKjeIT0CULK/meXtVhXjkYnPhxql8d6F74dIo4UVzTXcC2b1bbG2qzjB+yb/Q0i geAdZbLO3GhV9vwn7qztPqgemM9Vpm7hwFwfSVcpPPCXKTcFzNc+Pxmn3zns6u2fLAg4 5055JZ9NPR0iE7u6LDGjV6inF/EaULRO0fpdmEpMmgRgP69r7xicZ31i3cbGo5gwdoem r//porB2n5+03Xie5EDnNwow265PtKkqHqn5Ph98yP/8Wf727k22LdLpVWzzSHcylS5S 7f8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=FLL8lADwt1Y/vYeHoe0lWfNoDeo3i5q0Hv/r9cjWZXk=; b=BYtAQhRlGLLv24dSRn7nrWsIppGtDFfA7eNt4QzYBLoUPmtKNnmGiuyWXBUlexLeO7 B9L3GXd3um61zVJyMyTGa44Q3UlK8uyIStDDHKFsjKNAbtFwvTRkrMe/U7x7Kt7IslRN L+z9gtFILiiHAYGQgJ0fbHIT0wi3WaURpNmWmzhUpoit4DCU2okDcSAzC5JloPxwd/hH 9ZpUchrmdL8OT5/uoDzNjj4peD/GCvYWNimEaaabwsyDpL71h5/E8pC5IqpSI+FIPbMV BAdAGBFIgTU+TzNzKA6Plh7EcRcyjil44ZC6iaTGidDXJEmfqEoYcl4mpx2jEq6OOSlq +PBA== X-Gm-Message-State: AOAM530d4vX9WJfP9+sOqvMlPWYRBeBGv986f+s/UpST26eu63EpJ+CC qY0baRkRKA7qIcM8ijVZsZa9Z36tOiUlA3xTHV0= X-Google-Smtp-Source: ABdhPJyYx/ksaRoTACsxiU1XMY4A7jtzVm3KQMTg1VeN6AiBzO0ZoJy+dYwFNtyjpPntjJsj/1+y4GG4uZQ1/SE1RL8= X-Received: by 2002:a6b:1409:: with SMTP id 9mr18858036iou.199.1633944603949; Mon, 11 Oct 2021 02:30:03 -0700 (PDT) MIME-Version: 1.0 References: <20210602203531.2288645-1-thomas@monjalon.net> <2086339.rAQZMriH8I@thomas> <18783192.D4B0UDpyQ6@thomas> In-Reply-To: <18783192.D4B0UDpyQ6@thomas> From: Jerin Jacob Date: Mon, 11 Oct 2021 14:59:38 +0530 Message-ID: To: Thomas Monjalon Cc: Elena Agostini , dpdk-dev , techboard@dpdk.org Content-Type: text/plain; charset="UTF-8" Subject: Re: [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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Mon, Oct 11, 2021 at 2:42 PM Thomas Monjalon wrote: > > 11/10/2021 10:43, Jerin Jacob: > > On Mon, Oct 11, 2021 at 1:48 PM Thomas Monjalon wrote: > > > 10/10/2021 12:16, Jerin Jacob: > > > > On Fri, Oct 8, 2021 at 11:13 PM wrote: > > > > > > > > > > From: eagostini > > > > > > > > > > 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 > > > > > > > > In the RFC thread, There was one outstanding non technical issues on this, > > > > > > > > i.e > > > > The above features are driver specific details. Does the DPDK > > > > _application_ need to be aware of this? > > > > > > I don't see these features as driver-specific. > > > > That is the disconnect. I see this as more driver-specific details > > which are not required to implement an "application" facing API. > > Indeed this is the disconnect. > I already answered but it seems you don't accept the answer. Same with you. That is why I requested, we need to get opinions from others. Some of them already provided opinions in RFC. > > First, this is not driver-specific. It is a low-level API. What is the difference between low-level API and driver-level API. > > > For example, If we need to implement application facing" subsystems like bbdev, > > If we make all this driver interface, you can still implement the > > bbdev API as a driver without > > exposing HW specific details like how devices communicate to CPU, how > > memory is allocated etc > > to "application". > > There are 2 things to understand here. > > First we want to allow the application using the GPU for needs which are > not exposed by any other DPDK API. > > Second, if we want to implement another DPDK API like bbdev, > then the GPU implementation would be exposed as a vdev in bbdev, > using the HW GPU device being a PCI in gpudev. > They are two different levels, got it? Exactly. So what is the point of exposing low-level driver API to "application", why not it is part of the internal driver API. My point is, why the application needs to worry about, How the CPU <-> Device communicated? CPU < -> Device memory visibility etc. > > > > > aka DPDK device class has a fixed personality and it has API to deal > > > > with abstracting specific application specific > > > > end user functionality like ethdev, cryptodev, eventdev irrespective > > > > of underlying bus/device properties. > > > > > > The goal of the lib is to allow anyone to invent any feature > > > which is not already available in DPDK. > > > > > > > Even similar semantics are required for DPU(Smart NIC) > > > > communitication. I am planning to > > > > send RFC in coming days to address the issue without the application > > > > knowing the Bus/HW/Driver details. > > > > > > gpudev is not exposing bus/hw/driver details. > > > I don't understand what you mean. > > > > See above. > > >