#
1acb7f54 |
| 28-Jul-2022 |
David Marchand <david.marchand@redhat.com> |
dev: hide driver object
Make rte_driver opaque for non internal users. This will make extending this object possible without breaking the ABI.
Introduce a new driver header and move rte_driver defi
dev: hide driver object
Make rte_driver opaque for non internal users. This will make extending this object possible without breaking the ABI.
Introduce a new driver header and move rte_driver definition. Update drivers and library to use the internal header.
Some applications may have been dereferencing rte_driver objects, mark this object's accessors as stable.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Jay Jayatheerthan <jay.jayatheerthan@intel.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Akhil Goyal <gakhil@marvell.com> Acked-by: Abhinandan Gujjar <abhinandan.gujjar@intel.com>
show more ...
|
#
1f37cb2b |
| 28-Jul-2022 |
David Marchand <david.marchand@redhat.com> |
bus/pci: make driver-only headers private
The pci bus interface is for drivers only. Mark as internal and move the header in the driver headers list.
While at it, cleanup the code: - fix indentatio
bus/pci: make driver-only headers private
The pci bus interface is for drivers only. Mark as internal and move the header in the driver headers list.
While at it, cleanup the code: - fix indentation, - remove unneeded reference to bus specific singleton object, - remove unneeded list head structure type, - reorder the definitions and macro manipulating the bus singleton object, - remove inclusion of rte_bus.h and fix the code that relied on implicit inclusion,
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Rosen Xu <rosen.xu@intel.com>
show more ...
|
#
0354e8e8 |
| 29-Apr-2022 |
Elena Agostini <eagostini@nvidia.com> |
gpu/cuda: unmap GPU memory while freeing
Enable GPU_REGISTERED flag in gpu/cuda driver in the memory list. If a GPU memory address CPU mapped is freed before being unmapped, CUDA driver unmaps it be
gpu/cuda: unmap GPU memory while freeing
Enable GPU_REGISTERED flag in gpu/cuda driver in the memory list. If a GPU memory address CPU mapped is freed before being unmapped, CUDA driver unmaps it before freeing the memory.
Signed-off-by: Elena Agostini <eagostini@nvidia.com>
show more ...
|
#
7850d19f |
| 13-Apr-2022 |
Elena Agostini <eagostini@nvidia.com> |
gpu/cuda: add more NVIDIA devices
Add more NVIDIA GPU devices to the gpu/cuda driver list compatible with GPUDirect RDMA.
Signed-off-by: Elena Agostini <eagostini@nvidia.com>
|
#
442876b2 |
| 04-Apr-2022 |
Elena Agostini <eagostini@nvidia.com> |
gpu/cuda: add NVIDIA A30X identifier for DPU
A30X GPU code for DPU.
Signed-off-by: Elena Agostini <eagostini@nvidia.com>
|
#
1fd3de64 |
| 08-Mar-2022 |
Elena Agostini <eagostini@nvidia.com> |
gpudev: fix page alignment in communication list
Memory allocated for CPU mapping the status flag in the communication list should be aligned to the GPU page size, which can be different of CPU page
gpudev: fix page alignment in communication list
Memory allocated for CPU mapping the status flag in the communication list should be aligned to the GPU page size, which can be different of CPU page alignment.
The GPU page size is added to the GPU info, and is used when creating a communication list.
Fixes: 9b8cae4d991e ("gpudev: use CPU mapping in communication list")
Signed-off-by: Elena Agostini <eagostini@nvidia.com>
show more ...
|
#
0105d49e |
| 01-Mar-2022 |
Elena Agostini <eagostini@nvidia.com> |
gpu/cuda: fix dependency loading path
A slash was missing in libcuda.so path for dlopen.
Signed-off-by: Elena Agostini <eagostini@nvidia.com>
|
#
24c77594 |
| 25-Feb-2022 |
Elena Agostini <eagostini@nvidia.com> |
gpu/cuda: map GPU memory with GDRCopy
To enable the gpudev rte_gpu_mem_cpu_map feature to expose GPU memory to the CPU, the GPU CUDA driver library needs the GDRCopy library and driver.
If DPDK is
gpu/cuda: map GPU memory with GDRCopy
To enable the gpudev rte_gpu_mem_cpu_map feature to expose GPU memory to the CPU, the GPU CUDA driver library needs the GDRCopy library and driver.
If DPDK is built without GDRCopy, the GPU CUDA driver returns error if the is invoked rte_gpu_mem_cpu_map.
All the others GPU CUDA driver functionalities are not affected by the absence of GDRCopy, thus this is an optional functionality that can be enabled in the GPU CUDA driver.
CUDA driver documentation has been updated accordingly.
Signed-off-by: Elena Agostini <eagostini@nvidia.com>
show more ...
|
#
56b5bb50 |
| 10-Feb-2022 |
Elena Agostini <eagostini@nvidia.com> |
gpu/cuda: differentiate V100 32GB GPU IDs
Differentiate between GPU V100 32GB SMX2 device id and V100 32GB PCIe device id.
Signed-off-by: Elena Agostini <eagostini@nvidia.com>
|
#
d69bb47d |
| 27-Jan-2022 |
Elena Agostini <eagostini@nvidia.com> |
gpudev: expose GPU memory to CPU
Enable the possibility to expose a GPU memory area and make it accessible from the CPU.
GPU memory has to be allocated via rte_gpu_mem_alloc().
This patch allows t
gpudev: expose GPU memory to CPU
Enable the possibility to expose a GPU memory area and make it accessible from the CPU.
GPU memory has to be allocated via rte_gpu_mem_alloc().
This patch allows the gpudev library to map (and unmap), through the GPU driver, a chunk of GPU memory and to return a memory pointer usable by the CPU to access the GPU memory area.
Signed-off-by: Elena Agostini <eagostini@nvidia.com>
show more ...
|
#
c8557ed4 |
| 08-Jan-2022 |
Elena Agostini <eagostini@nvidia.com> |
gpudev: add alignment for memory allocation
Similarly to rte_malloc, rte_gpu_mem_alloc accepts as input the memory alignment size.
GPU driver should return GPU memory address aligned with the input
gpudev: add alignment for memory allocation
Similarly to rte_malloc, rte_gpu_mem_alloc accepts as input the memory alignment size.
GPU driver should return GPU memory address aligned with the input value.
Signed-off-by: Elena Agostini <eagostini@nvidia.com>
show more ...
|
#
65ac1464 |
| 19-Jan-2022 |
Elena Agostini <eagostini@nvidia.com> |
gpu/cuda: add NVIDIA GPU A100 identifier for DPU
Adding a new NVIDIA GPU identifier to let driver recognize the A100 on a DPU card.
Signed-off-by: Elena Agostini <eagostini@nvidia.com>
|
#
98ddd04c |
| 21-Dec-2021 |
Elena Agostini <eagostini@nvidia.com> |
gpu/cuda: fix memory list cleanup
Memory list cleanup (called by cuda_mem_free) was not properly set the new head of the list when deleting an entry.
Fixes: 1306a73b1958 ("gpu/cuda: introduce CUDA
gpu/cuda: fix memory list cleanup
Memory list cleanup (called by cuda_mem_free) was not properly set the new head of the list when deleting an entry.
Fixes: 1306a73b1958 ("gpu/cuda: introduce CUDA driver") Cc: stable@dpdk.org
Signed-off-by: Elena Agostini <eagostini@nvidia.com>
show more ...
|
#
94220b39 |
| 24-Nov-2021 |
Elena Agostini <eagostini@nvidia.com> |
gpu/cuda: set rte_errno
Set correct rte_errno variable in CUDA driver and return -rte_errno in case of error.
rte_errno values are compliant with the gpudev library documentation.
Fixes: 1306a73b1
gpu/cuda: set rte_errno
Set correct rte_errno variable in CUDA driver and return -rte_errno in case of error.
rte_errno values are compliant with the gpudev library documentation.
Fixes: 1306a73b1958 ("gpu/cuda: introduce CUDA driver")
Signed-off-by: Elena Agostini <eagostini@nvidia.com>
show more ...
|
#
1674c56d |
| 23-Nov-2021 |
Elena Agostini <eagostini@nvidia.com> |
gpudev: manage null parameters in memory functions
The gpudev functions free, register and unregister return gracefully if input pointer is NULL or size 0, as API doc was indicating no-op accepted v
gpudev: manage null parameters in memory functions
The gpudev functions free, register and unregister return gracefully if input pointer is NULL or size 0, as API doc was indicating no-op accepted values.
CUDA driver checks are removed because redundant with the checks added in gpudev library.
Fixes: e818c4e2bf50 ("gpudev: add memory API")
Signed-off-by: Elena Agostini <eagostini@nvidia.com>
show more ...
|
#
1306a73b |
| 16-Nov-2021 |
Elena Agostini <eagostini@nvidia.com> |
gpu/cuda: introduce CUDA driver
This is the CUDA implementation of the gpudev library. Functionalities implemented through CUDA Driver API are: - Device probe and remove - Manage device memory alloc
gpu/cuda: introduce CUDA driver
This is the CUDA implementation of the gpudev library. Functionalities implemented through CUDA Driver API are: - Device probe and remove - Manage device memory allocations - Register/unregister external CPU memory in the device memory area
Signed-off-by: Elena Agostini <eagostini@nvidia.com>
show more ...
|