numam-dpdk/app
Elena Agostini c7ebd65c13 gpudev: add communication list
In heterogeneous computing system, processing is not only in the CPU.
Some tasks can be delegated to devices working in parallel.
When mixing network activity with task processing there may be the need
to put in communication the CPU with the device in order to synchronize
operations.

An example could be a receive-and-process application
where CPU is responsible for receiving packets in multiple mbufs
and the GPU is responsible for processing the content of those packets.

The purpose of this list is to provide a buffer in CPU memory visible
from the GPU that can be treated as a circular buffer
to let the CPU provide fondamental info of received packets to the GPU.

A possible use-case is described below.

CPU:
- Trigger some task on the GPU
- in a loop:
    - receive a number of packets
    - provide packets info to the GPU

GPU:
- Do some pre-processing
- Wait to receive a new set of packet to be processed

Layout of a communication list would be:

     -------
    |   0    | => pkt_list
    | status |
    | #pkts  |
     -------
    |   1    | => pkt_list
    | status |
    | #pkts  |
     -------
    |   2    | => pkt_list
    | status |
    | #pkts  |
     -------
    |  ....  | => pkt_list
     -------

Signed-off-by: Elena Agostini <eagostini@nvidia.com>
2021-11-08 17:20:53 +01:00
..
dumpcap bpf: fix convert API when libpcap missing 2021-11-04 19:56:20 +01:00
pdump devtools: forbid indent with tabs in Meson 2021-11-02 19:25:30 +01:00
proc-info devtools: forbid indent with tabs in Meson 2021-11-02 19:25:30 +01:00
test test/event: add unit test for Rx adapter 2021-11-04 08:41:25 +01:00
test-acl devtools: forbid indent with tabs in Meson 2021-11-02 19:25:30 +01:00
test-bbdev devtools: forbid indent with tabs in Meson 2021-11-02 19:25:30 +01:00
test-cmdline devtools: forbid indent with tabs in Meson 2021-11-02 19:25:30 +01:00
test-compress-perf test/compress-perf: remove unused variable 2021-11-04 19:46:27 +01:00
test-crypto-perf test/crypto-perf: fix memory allocation in asym case 2021-11-04 19:46:27 +01:00
test-eventdev devtools: forbid indent with tabs in Meson 2021-11-02 19:25:30 +01:00
test-fib fib: add RIB extension size parameter 2021-11-04 12:38:03 +01:00
test-flow-perf app/flow-perf: add random priority option 2021-11-08 10:33:08 +01:00
test-gpudev gpudev: add communication list 2021-11-08 17:20:53 +01:00
test-pipeline devtools: forbid indent with tabs in Meson 2021-11-02 19:25:30 +01:00
test-pmd app/testpmd: remove double dependency on bitrate lib 2021-11-06 00:46:00 +01:00
test-regex devtools: forbid indent with tabs in Meson 2021-11-02 19:25:30 +01:00
test-sad devtools: forbid indent with tabs in Meson 2021-11-02 19:25:30 +01:00
meson.build gpudev: introduce GPU device class library 2021-11-08 17:20:52 +01:00