[dpdk-dev] [PATCH v5 0/9] GPU library
    eagostini at nvidia.com 
    eagostini at nvidia.com
       
    Mon Nov  8 19:57:56 CET 2021
    
    
  
From: Elena Agostini <eagostini at nvidia.com>
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
The infrastructure is prepared to welcome drivers in drivers/gpu/
as the CUDA one:
http://patches.dpdk.org/project/dpdk/cover/20211104020128.13165-1-eagostini@nvidia.com
Changelog:
- Patches updated to latest DPDK commit
- Communication list item has an array of mbufs instead of opaque
  objects
- Communication list free doesn't release mbufs anymore
- Fixed styling reported by checkpatch
Elena Agostini (6):
  gpudev: introduce GPU device class library
  gpudev: add memory API
  gpudev: add memory barrier
  gpudev: add communication flag
  gpudev: add communication list
  doc: add CUDA example in GPU guide
Thomas Monjalon (3):
  gpudev: add event notification
  gpudev: add child device representing a device context
  gpudev: support multi-process
 .gitignore                             |   1 +
 MAINTAINERS                            |   6 +
 app/meson.build                        |   1 +
 app/test-gpudev/main.c                 | 367 ++++++++++
 app/test-gpudev/meson.build            |   5 +
 doc/api/doxy-api.conf.in               |   1 +
 doc/guides/conf.py                     |   8 +
 doc/guides/gpus/features/default.ini   |  13 +
 doc/guides/gpus/index.rst              |  11 +
 doc/guides/gpus/overview.rst           |  10 +
 doc/guides/index.rst                   |   1 +
 doc/guides/prog_guide/gpudev.rst       | 226 +++++++
 doc/guides/prog_guide/index.rst        |   1 +
 doc/guides/rel_notes/release_21_11.rst |   6 +
 drivers/gpu/meson.build                |   4 +
 drivers/meson.build                    |   1 +
 lib/gpudev/gpudev.c                    | 901 +++++++++++++++++++++++++
 lib/gpudev/gpudev_driver.h             | 102 +++
 lib/gpudev/meson.build                 |  12 +
 lib/gpudev/rte_gpudev.h                | 649 ++++++++++++++++++
 lib/gpudev/version.map                 |  38 ++
 lib/meson.build                        |   1 +
 22 files changed, 2365 insertions(+)
 create mode 100644 app/test-gpudev/main.c
 create mode 100644 app/test-gpudev/meson.build
 create mode 100644 doc/guides/gpus/features/default.ini
 create mode 100644 doc/guides/gpus/index.rst
 create mode 100644 doc/guides/gpus/overview.rst
 create mode 100644 doc/guides/prog_guide/gpudev.rst
 create mode 100644 drivers/gpu/meson.build
 create mode 100644 lib/gpudev/gpudev.c
 create mode 100644 lib/gpudev/gpudev_driver.h
 create mode 100644 lib/gpudev/meson.build
 create mode 100644 lib/gpudev/rte_gpudev.h
 create mode 100644 lib/gpudev/version.map
-- 
2.17.1
    
    
More information about the dev
mailing list