gpudev: add communication flag
authorElena Agostini <eagostini@nvidia.com>
Mon, 8 Nov 2021 18:58:03 +0000 (18:58 +0000)
committerThomas Monjalon <thomas@monjalon.net>
Mon, 8 Nov 2021 16:20:53 +0000 (17:20 +0100)
commitf56160a25545f56781b25ae9c148f612dbf21788
tree3d82b7dd223a0d6de66f402909ecc834beb642ab
parent2d61b429cff2eb7bae83c242da4832347779500b
gpudev: add communication flag

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.

The purpose of this flag is to allow the CPU and the GPU to
exchange ACKs. A possible use-case is described below.

CPU:
- Trigger some task on the GPU
- Prepare some data
- Signal to the GPU the data is ready updating the communication flag

GPU:
- Do some pre-processing
- Wait for more data from the CPU polling on the communication flag
- Consume the data prepared by the CPU

Signed-off-by: Elena Agostini <eagostini@nvidia.com>
app/test-gpudev/main.c
doc/guides/prog_guide/gpudev.rst
doc/guides/rel_notes/release_21_11.rst
lib/gpudev/gpudev.c
lib/gpudev/rte_gpudev.h
lib/gpudev/version.map