03/06/2021 13:38, Jerin Jacob: > On Thu, Jun 3, 2021 at 4:00 PM Thomas Monjalon <tho...@monjalon.net> wrote: > > 03/06/2021 12:04, Jerin Jacob: > > > On Thu, Jun 3, 2021 at 3:06 PM Thomas Monjalon <tho...@monjalon.net> > > > wrote: > > > > 03/06/2021 11:20, Jerin Jacob: > > > > > The device needs have a queue kind of structure > > > > > and it is mapping to core to have a notion of configure. queue_setup, > > > > > start and stop etc > > > > > > > > Why is it a requirement to call it a device API? > > > > > > Then we need to define what needs to call as device library vs library > > > and how? > > > Why mempool is not called a device library vs library? > > > > My view is simple: > > if it has drivers, it is a device API, except bus and mempool libs. > > rte_secuity has drivers but it is not called a device library.
rte_security is a monster beast :) Yes it has rte_security_ops implemented in net and crypto drivers, but it is an API extension only, there is no driver dedicated to security. > > About mempool, it started as a standard lib and got extended for HW support. > > Yes. We did not change to device library as it was fundamentally > different than another DPDK deices > when we added the device support. > > > > and why all > > > other device library has a common structure like queues and > > > it binding core etc. I tried to explain above the similar attributes > > > for dpdk device libraries[1] which I think, it a requirement so > > > that the end user will have familiarity with device libraries rather > > > than each one has separate General guidelines and principles. > > > > > > I think, it is more TB discussion topic and decides on this because I > > > don't see in technical issue in calling it a library. > > > > The naming is just a choice. > > Not sure. > > > Yesterday morning it was called lib/gpu/ > > and in the evening it was renamed lib/gpudev/ > > so no technical issue :) > > > > But the design of the API with queues or other paradigm > > is something I would like to discuss here. > > Yeah, That is important. IMO, That defines what needs to be a device library. > > > Note: there was no intent to publish GPU processing control > > in DPDK 21.08. We want to focus on GPU memory in 21.08, > > but I understand it is a key decision in the big picture. > > if the scope is only memory allocation, IMO, it is better to make a library. No it is only the first step. > > What would be your need and would you design such API? > > For me, there is no need for gpu library(as of now). May GPU consumers > can define what they need to control using the library. We need to integrate GPU processing workload in the DPDK workflow as a generic API. There could be 2 modes: - queue of tasks - tasks in an infinite loop In both modes, we could get completion notifications with an interrupt/callback or by polling a shared memory.